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
-
+ Konsole::RenameTabWidget
+ QWidget
+
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
+
+
+
+ Konsole::TabTitleFormatButton
+ QPushButton
+
+
+
+
+
+
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
-
-
-
- Konsole::TabTitleFormatButton
- QPushButton
-
+ Konsole::RenameTabWidget
+ QWidget
+