diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a21904dba..7bb125454 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -89,6 +89,7 @@ ${CMAKE_CURRENT_BINARY_DIR}/tests/CTestCustom.cmake) ProfileWriter.cpp Pty.cpp RenameTabsDialog.cpp + RenameTabWidget.cpp Screen.cpp ScreenWindow.cpp Session.cpp @@ -139,6 +140,7 @@ ${CMAKE_CURRENT_BINARY_DIR}/tests/CTestCustom.cmake) KeyBindingEditor.ui ManageProfilesDialog.ui RenameTabsDialog.ui + RenameTabWidget.ui HistorySizeWidget.ui settings/GeneralSettings.ui settings/TabBarSettings.ui diff --git a/src/EditProfileDialog.cpp b/src/EditProfileDialog.cpp index 4c111b2a5..58c6c21af 100644 --- a/src/EditProfileDialog.cpp +++ b/src/EditProfileDialog.cpp @@ -319,40 +319,23 @@ void EditProfileDialog::showEnvironmentEditor() void EditProfileDialog::setupTabsPage(const Profile::Ptr profile) { // tab title format - _ui->tabTitleEdit->setClearButtonShown(true); - _ui->remoteTabTitleEdit->setClearButtonShown(true); - _ui->tabTitleEdit->setText(profile->localTabTitleFormat()); - _ui->remoteTabTitleEdit->setText(profile->remoteTabTitleFormat()); + _ui->renameTabWidget->setTabTitleText(profile->localTabTitleFormat()); + _ui->renameTabWidget->setRemoteTabTitleText(profile->remoteTabTitleFormat()); + + connect(_ui->renameTabWidget, SIGNAL(tabTitleFormatChanged(QString)), this, + SLOT(tabTitleFormatChanged(QString))); + connect(_ui->renameTabWidget, SIGNAL(remoteTabTitleFormatChanged(QString)), this, + SLOT(remoteTabTitleFormatChanged(QString))); // tab monitoring const int silenceSeconds = profile->silenceSeconds(); _ui->silenceSecondsSpinner->setValue(silenceSeconds); _ui->silenceSecondsSpinner->setSuffix(ki18ncp("Unit of time", " second", " seconds")); - connect(_ui->tabTitleEdit, SIGNAL(textChanged(QString)), this, - SLOT(tabTitleFormatChanged(QString))); - connect(_ui->remoteTabTitleEdit, SIGNAL(textChanged(QString)), this, - SLOT(remoteTabTitleFormatChanged(QString))); - connect(_ui->silenceSecondsSpinner, SIGNAL(valueChanged(int)), this, SLOT(silenceSecondsChanged(int))); +} - _ui->tabTitleFormatButton->setContext(Session::LocalTabTitle); - connect(_ui->tabTitleFormatButton, SIGNAL(dynamicElementSelected(QString)), - this, SLOT(insertTabTitleText(QString))); - - _ui->remoteTabTitleFormatButton->setContext(Session::RemoteTabTitle); - connect(_ui->remoteTabTitleFormatButton, SIGNAL(dynamicElementSelected(QString)), - this, SLOT(insertRemoteTabTitleText(QString))); -} -void EditProfileDialog::insertTabTitleText(const QString& text) -{ - _ui->tabTitleEdit->insert(text); -} -void EditProfileDialog::insertRemoteTabTitleText(const QString& text) -{ - _ui->remoteTabTitleEdit->insert(text); -} void EditProfileDialog::saveGeometryOnExit(bool value) { updateTempProfileProperty(Profile::SaveGeometryOnExit, value); diff --git a/src/EditProfileDialog.h b/src/EditProfileDialog.h index bb96df48e..94c0c7207 100644 --- a/src/EditProfileDialog.h +++ b/src/EditProfileDialog.h @@ -113,9 +113,6 @@ private slots: void tabTitleFormatChanged(const QString& text); void remoteTabTitleFormatChanged(const QString& text); - void insertTabTitleText(const QString& text); - void insertRemoteTabTitleText(const QString& text); - void showTerminalSizeHint(bool); void saveGeometryOnExit(bool); void showEnvironmentEditor(); diff --git a/src/EditProfileDialog.ui b/src/EditProfileDialog.ui index 742d1d2f8..33a9c0d1e 100644 --- a/src/EditProfileDialog.ui +++ b/src/EditProfileDialog.ui @@ -267,44 +267,7 @@ - - - Tab title format: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Normal tab title format - - - - - - - - - - Remote tab title format: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Tab title format used when a remote command (e.g. connection to another computer via SSH) is being executed - - - - - + @@ -1109,9 +1072,9 @@ 1 - Konsole::TabTitleFormatButton - QPushButton -
TabTitleFormatButton.h
+ Konsole::RenameTabWidget + QWidget +
RenameTabWidget.h
Konsole::HistorySizeWidget diff --git a/src/RenameTabWidget.cpp b/src/RenameTabWidget.cpp new file mode 100644 index 000000000..bf8127cb7 --- /dev/null +++ b/src/RenameTabWidget.cpp @@ -0,0 +1,95 @@ +/* + Copyright 2010 by Kurt Hindenburg + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. +*/ + +// Own +#include "RenameTabWidget.h" + +// Konsole +#include "ui_RenameTabWidget.h" + +using Konsole::RenameTabWidget; + +RenameTabWidget::RenameTabWidget(QWidget* parent) + : QWidget(parent) +{ + _ui = new Ui::RenameTabWidget(); + _ui->setupUi(this); + + _ui->tabTitleEdit->setClearButtonShown(true); + _ui->remoteTabTitleEdit->setClearButtonShown(true); + + connect(_ui->tabTitleEdit, SIGNAL(textChanged(QString)), this, + SIGNAL(tabTitleFormatChanged(QString))); + connect(_ui->remoteTabTitleEdit, SIGNAL(textChanged(QString)), this, + SIGNAL(remoteTabTitleFormatChanged(QString))); + + _ui->tabTitleFormatButton->setContext(Session::LocalTabTitle); + connect(_ui->tabTitleFormatButton, SIGNAL(dynamicElementSelected(QString)), + this, SLOT(insertTabTitleText(QString))); + + _ui->remoteTabTitleFormatButton->setContext(Session::RemoteTabTitle); + connect(_ui->remoteTabTitleFormatButton, SIGNAL(dynamicElementSelected(QString)), + this, SLOT(insertRemoteTabTitleText(QString))); +} + +RenameTabWidget::~RenameTabWidget() +{ + delete _ui; +} + +void RenameTabWidget::focusTabTitleText() +{ + _ui->tabTitleEdit->setFocus(); +} + +void RenameTabWidget::focusRemoteTabTitleText() +{ + _ui->remoteTabTitleEdit->setFocus(); +} + +void RenameTabWidget::setTabTitleText(const QString& text) +{ + _ui->tabTitleEdit->setText(text); +} + +void RenameTabWidget::setRemoteTabTitleText(const QString& text) +{ + _ui->remoteTabTitleEdit->setText(text); +} + +QString RenameTabWidget::tabTitleText() const +{ + return(_ui->tabTitleEdit->text()); +} + +QString RenameTabWidget::remoteTabTitleText() const +{ + return(_ui->remoteTabTitleEdit->text()); +} + +void RenameTabWidget::insertTabTitleText(const QString& text) +{ + _ui->tabTitleEdit->insert(text); +} + +void RenameTabWidget::insertRemoteTabTitleText(const QString& text) +{ + _ui->remoteTabTitleEdit->insert(text); +} + diff --git a/src/RenameTabWidget.h b/src/RenameTabWidget.h new file mode 100644 index 000000000..5667b110f --- /dev/null +++ b/src/RenameTabWidget.h @@ -0,0 +1,64 @@ +/* + Copyright 2010 by Kurt Hindenburg + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. +*/ + +#ifndef RENAMETABWIDGET_H +#define RENAMETABWIDGET_H + +// Qt +#include + +namespace Ui +{ +class RenameTabWidget; +} + +namespace Konsole +{ + +class RenameTabWidget : public QWidget +{ + Q_OBJECT + +public: + explicit RenameTabWidget(QWidget* parent = 0); + ~RenameTabWidget(); + + QString tabTitleText() const; + QString remoteTabTitleText() const; + void setTabTitleText(const QString&); + void setRemoteTabTitleText(const QString&); + + void focusTabTitleText(); + void focusRemoteTabTitleText(); + +signals: + void tabTitleFormatChanged(const QString&); + void remoteTabTitleFormatChanged(const QString&); + +public slots: + void insertTabTitleText(const QString& text); + void insertRemoteTabTitleText(const QString& text); + +private: + Ui::RenameTabWidget* _ui; +}; + +} + +#endif diff --git a/src/RenameTabWidget.ui b/src/RenameTabWidget.ui new file mode 100644 index 000000000..280c2d72d --- /dev/null +++ b/src/RenameTabWidget.ui @@ -0,0 +1,82 @@ + + + RenameTabWidget + + + + 0 + 0 + 325 + 110 + + + + + + + + + + true + + + + + + Tab title format: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Normal tab title format + + + + + + + + + + Remote tab title format: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Tab title format used when a remote command (e.g. connection to another computer via SSH) is being executed + + + + + + + + + + + + + + KLineEdit + QLineEdit +
klineedit.h
+
+ + Konsole::TabTitleFormatButton + QPushButton +
TabTitleFormatButton.h
+
+
+ + +
diff --git a/src/RenameTabsDialog.cpp b/src/RenameTabsDialog.cpp index d5aa0d3cb..a4e66d3bb 100644 --- a/src/RenameTabsDialog.cpp +++ b/src/RenameTabsDialog.cpp @@ -35,17 +35,6 @@ RenameTabsDialog::RenameTabsDialog(QWidget* parent) _ui = new Ui::RenameTabsDialog(); _ui->setupUi(mainWidget()); - - _ui->tabTitleEdit->setClearButtonShown(true); - _ui->remoteTabTitleEdit->setClearButtonShown(true); - - _ui->tabTitleFormatButton->setContext(Session::LocalTabTitle); - connect(_ui->tabTitleFormatButton, SIGNAL(dynamicElementSelected(QString)), - this, SLOT(insertTabTitleText(QString))); - - _ui->remoteTabTitleFormatButton->setContext(Session::RemoteTabTitle); - connect(_ui->remoteTabTitleFormatButton, SIGNAL(dynamicElementSelected(QString)), - this, SLOT(insertRemoteTabTitleText(QString))); } RenameTabsDialog::~RenameTabsDialog() @@ -55,41 +44,41 @@ RenameTabsDialog::~RenameTabsDialog() void RenameTabsDialog::focusTabTitleText() { - _ui->tabTitleEdit->setFocus(); + _ui->renameTabWidget->focusTabTitleText(); } void RenameTabsDialog::focusRemoteTabTitleText() { - _ui->remoteTabTitleEdit->setFocus(); + _ui->renameTabWidget->focusRemoteTabTitleText(); } void RenameTabsDialog::setTabTitleText(const QString& text) { - _ui->tabTitleEdit->setText(text); + _ui->renameTabWidget->setTabTitleText(text); } void RenameTabsDialog::setRemoteTabTitleText(const QString& text) { - _ui->remoteTabTitleEdit->setText(text); + _ui->renameTabWidget->setRemoteTabTitleText(text); } QString RenameTabsDialog::tabTitleText() const { - return(_ui->tabTitleEdit->text()); + return _ui->renameTabWidget->tabTitleText(); } QString RenameTabsDialog::remoteTabTitleText() const { - return(_ui->remoteTabTitleEdit->text()); + return _ui->renameTabWidget->remoteTabTitleText(); } void RenameTabsDialog::insertTabTitleText(const QString& text) { - _ui->tabTitleEdit->insert(text); + _ui->renameTabWidget->insertTabTitleText(text); } void RenameTabsDialog::insertRemoteTabTitleText(const QString& text) { - _ui->remoteTabTitleEdit->insert(text); + _ui->renameTabWidget->insertRemoteTabTitleText(text); } diff --git a/src/RenameTabsDialog.ui b/src/RenameTabsDialog.ui index 4b949f9d1..7465817ed 100644 --- a/src/RenameTabsDialog.ui +++ b/src/RenameTabsDialog.ui @@ -12,69 +12,15 @@ - - - - - - true - - - - - - Tab title format: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Normal tab title format - - - - - - - - - - Remote tab title format: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Tab title format used when a remote command (e.g. connection to another computer via SSH) is being executed - - - - - - - - + - KLineEdit - QLineEdit -
klineedit.h
-
- - Konsole::TabTitleFormatButton - QPushButton -
TabTitleFormatButton.h
+ Konsole::RenameTabWidget + QWidget +
RenameTabWidget.h