File indexing completed on 2024-04-28 05:50:54
0001 /* 0002 SPDX-FileCopyrightText: 2010 Kurt Hindenburg <kurt.hindenburg@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 // Own 0008 #include "widgets/RenameTabWidget.h" 0009 0010 // Konsole 0011 #include "ui_RenameTabWidget.h" 0012 0013 // KDE 0014 #include <KColorCombo> 0015 0016 // Qt 0017 #include <QColor> 0018 0019 using Konsole::RenameTabWidget; 0020 0021 RenameTabWidget::RenameTabWidget(QWidget *parent) 0022 : QWidget(parent) 0023 , _ui(nullptr) 0024 { 0025 _ui = new Ui::RenameTabWidget(); 0026 _ui->setupUi(this); 0027 0028 _ui->tabTitleEdit->setClearButtonEnabled(true); 0029 _ui->remoteTabTitleEdit->setClearButtonEnabled(true); 0030 0031 _colorNone = palette().base().color(); // so that item's text is visible in the combo-box 0032 _colorNone.setAlpha(0); 0033 0034 QList<QColor> listColors(_ui->tabColorCombo->colors()); 0035 listColors.insert(0, _colorNone); 0036 _ui->tabColorCombo->setColors(listColors); 0037 _ui->tabColorCombo->setItemText(1, i18nc("@label:listbox No color selected", "None")); 0038 0039 connect(_ui->tabTitleEdit, &QLineEdit::textChanged, this, &Konsole::RenameTabWidget::tabTitleFormatChanged); 0040 connect(_ui->remoteTabTitleEdit, &QLineEdit::textChanged, this, &Konsole::RenameTabWidget::remoteTabTitleFormatChanged); 0041 connect(_ui->tabColorCombo, &KColorCombo::activated, this, &Konsole::RenameTabWidget::tabColorChanged); 0042 0043 _ui->tabTitleFormatButton->setContext(Session::LocalTabTitle); 0044 connect(_ui->tabTitleFormatButton, &Konsole::TabTitleFormatButton::dynamicElementSelected, this, &Konsole::RenameTabWidget::insertTabTitleText); 0045 0046 _ui->remoteTabTitleFormatButton->setContext(Session::RemoteTabTitle); 0047 connect(_ui->remoteTabTitleFormatButton, &Konsole::TabTitleFormatButton::dynamicElementSelected, this, &Konsole::RenameTabWidget::insertRemoteTabTitleText); 0048 } 0049 0050 RenameTabWidget::~RenameTabWidget() 0051 { 0052 delete _ui; 0053 } 0054 0055 void RenameTabWidget::focusTabTitleText() 0056 { 0057 _ui->tabTitleEdit->setFocus(); 0058 } 0059 0060 void RenameTabWidget::focusRemoteTabTitleText() 0061 { 0062 _ui->remoteTabTitleEdit->setFocus(); 0063 } 0064 0065 void RenameTabWidget::setTabTitleText(const QString &text) 0066 { 0067 _ui->tabTitleEdit->setText(text); 0068 } 0069 0070 void RenameTabWidget::setRemoteTabTitleText(const QString &text) 0071 { 0072 _ui->remoteTabTitleEdit->setText(text); 0073 } 0074 0075 void RenameTabWidget::setColor(const QColor &color) 0076 { 0077 if (!color.isValid() || color.alpha() == 0) { 0078 _ui->tabColorCombo->setColor(_colorNone); 0079 } else { 0080 _ui->tabColorCombo->setColor(color); 0081 } 0082 } 0083 0084 QString RenameTabWidget::tabTitleText() const 0085 { 0086 return _ui->tabTitleEdit->text(); 0087 } 0088 0089 QString RenameTabWidget::remoteTabTitleText() const 0090 { 0091 return _ui->remoteTabTitleEdit->text(); 0092 } 0093 0094 QColor RenameTabWidget::color() const 0095 { 0096 return _ui->tabColorCombo->color(); 0097 } 0098 0099 void RenameTabWidget::insertTabTitleText(const QString &text) 0100 { 0101 _ui->tabTitleEdit->insert(text); 0102 focusTabTitleText(); 0103 } 0104 0105 void RenameTabWidget::insertRemoteTabTitleText(const QString &text) 0106 { 0107 _ui->remoteTabTitleEdit->insert(text); 0108 focusRemoteTabTitleText(); 0109 } 0110 0111 #include "moc_RenameTabWidget.cpp"