diff options
author | rbell <riley.bell@vfemail.net> | 2025-06-02 21:10:02 -0700 |
---|---|---|
committer | rbell <riley.bell@vfemail.net> | 2025-06-13 00:15:37 -0700 |
commit | e7e77dcbc35e11833305168cad5b4d1d45ed7728 (patch) | |
tree | 37621a421c3818183176134db41b27152a8e48de | |
parent | 0a439ac80bdf6ffb9cac104ad3098a321ee0403c (diff) | |
download | tdebase-issue/600.tar.gz tdebase-issue/600.zip |
Konsole: Add close tab icon buttonissue/600
Signed-off-by: rbell <riley.bell@vfemail.net>
-rw-r--r-- | kcontrol/konsole/kcmkonsole.cpp | 3 | ||||
-rw-r--r-- | kcontrol/konsole/kcmkonsoledialog.ui | 28 | ||||
-rw-r--r-- | konsole/konsole/konsole.cpp | 12 | ||||
-rw-r--r-- | konsole/konsole/konsole.h | 2 |
4 files changed, 34 insertions, 11 deletions
diff --git a/kcontrol/konsole/kcmkonsole.cpp b/kcontrol/konsole/kcmkonsole.cpp index 28cec6825..9f841f608 100644 --- a/kcontrol/konsole/kcmkonsole.cpp +++ b/kcontrol/konsole/kcmkonsole.cpp @@ -72,6 +72,7 @@ KCMKonsole::KCMKonsole(TQWidget * parent, const char *name, const TQStringList&) connect(dialog->line_spacingSB,TQ_SIGNAL(valueChanged(int)), TQ_SLOT( changed() )); connect(dialog->matchTabWinTitleCB,TQ_SIGNAL(toggled(bool)), TQ_SLOT( changed() )); connect(dialog->tabsCycleWheelCB,TQ_SIGNAL(toggled(bool)), TQ_SLOT( changed() )); + connect(dialog->showCloseTabButtonWithHover,TQ_SIGNAL(toggled(bool)), TQ_SLOT( changed() )); connect(dialog->menuAcceleratorsCB,TQ_SIGNAL(toggled(bool)), TQ_SLOT( changed() )); connect(dialog->metaAsAltModeCB,TQ_SIGNAL(toggled(bool)), TQ_SLOT( changed() )); connect(dialog->realTransparency,TQ_SIGNAL(toggled(bool)), TQ_SLOT( changed() )); @@ -100,6 +101,7 @@ void KCMKonsole::load(bool useDefaults) dialog->bidiCB->setChecked(bidiOrig); dialog->matchTabWinTitleCB->setChecked(config.readBoolEntry("MatchTabWinTitle",false)); dialog->tabsCycleWheelCB->setChecked(config.readBoolEntry("TabsCycleWheel",true)); + dialog->showCloseTabButtonWithHover->setChecked(config.readBoolEntry("ShowCloseTabButtonWithHover",false)); dialog->menuAcceleratorsCB->setChecked(config.readBoolEntry("MenuAccelerators",false)); dialog->warnCB->setChecked(config.readBoolEntry("WarnQuit",true)); dialog->ctrldragCB->setChecked(config.readBoolEntry("CtrlDrag",true)); @@ -143,6 +145,7 @@ void KCMKonsole::save() config.writeEntry("EnableBidi", bidiNew); config.writeEntry("MatchTabWinTitle", dialog->matchTabWinTitleCB->isChecked()); config.writeEntry("TabsCycleWheel", dialog->tabsCycleWheelCB->isChecked()); + config.writeEntry("ShowCloseTabButtonWithHover", dialog->showCloseTabButtonWithHover->isChecked()); config.writeEntry("MenuAccelerators", dialog->menuAcceleratorsCB->isChecked()); config.writeEntry("WarnQuit", dialog->warnCB->isChecked()); config.writeEntry("CtrlDrag", dialog->ctrldragCB->isChecked()); diff --git a/kcontrol/konsole/kcmkonsoledialog.ui b/kcontrol/konsole/kcmkonsoledialog.ui index a94a1b48b..b4fdef527 100644 --- a/kcontrol/konsole/kcmkonsoledialog.ui +++ b/kcontrol/konsole/kcmkonsoledialog.ui @@ -160,13 +160,21 @@ </widget> <widget class="TQCheckBox" row="11" column="0" rowspan="1" colspan="3"> <property name="name"> + <cstring>showCloseTabButtonWithHover</cstring> + </property> + <property name="text"> + <string>&Show close button instead of shell icon with hover</string> + </property> + </widget> + <widget class="TQCheckBox" row="12" column="0" rowspan="1" colspan="3"> + <property name="name"> <cstring>menuAcceleratorsCB</cstring> </property> <property name="text"> <string>Enable main &menu accelerator keys</string> </property> </widget> - <widget class="TQCheckBox" row="12" column="0" rowspan="1" colspan="3"> + <widget class="TQCheckBox" row="13" column="0" rowspan="1" colspan="3"> <property name="name"> <cstring>metaAsAltModeCB</cstring> </property> @@ -174,7 +182,7 @@ <string>Handle Meta &key as Alt Key</string> </property> </widget> - <widget class="TQCheckBox" row="13" column="0" rowspan="1" colspan="3"> + <widget class="TQCheckBox" row="14" column="0" rowspan="1" colspan="3"> <property name="name"> <cstring>realTransparency</cstring> </property> @@ -182,7 +190,7 @@ <string>Use &real transparency</string> </property> </widget> - <widget class="TQLabel" row="14" column="0" rowspan="1" colspan="2"> + <widget class="TQLabel" row="15" column="0" rowspan="1" colspan="2"> <property name="name"> <cstring>TextLabel1_4</cstring> </property> @@ -201,7 +209,7 @@ <cstring>line_spacingSB</cstring> </property> </widget> - <spacer row="13" column="3"> + <spacer row="14" column="3"> <property name="name"> <cstring>Spacer3</cstring> </property> @@ -218,7 +226,7 @@ </size> </property> </spacer> - <widget class="KIntNumInput" row="14" column="2"> + <widget class="KIntNumInput" row="15" column="2"> <property name="name"> <cstring>line_spacingSB</cstring> </property> @@ -237,7 +245,7 @@ <number>8</number> </property> </widget> - <spacer row="12" column="3"> + <spacer row="13" column="3"> <property name="name"> <cstring>Spacer2</cstring> </property> @@ -254,7 +262,7 @@ </size> </property> </spacer> - <widget class="TQLabel" row="15" column="0" rowspan="1" colspan="2"> + <widget class="TQLabel" row="16" column="0" rowspan="1" colspan="2"> <property name="name"> <cstring>SilenceLabel</cstring> </property> @@ -273,7 +281,7 @@ <cstring>silence_secondsSB</cstring> </property> </widget> - <widget class="KIntNumInput" row="15" column="2"> + <widget class="KIntNumInput" row="16" column="2"> <property name="name"> <cstring>silence_secondsSB</cstring> </property> @@ -292,7 +300,7 @@ <property name="name"> <cstring>unnamed</cstring> </property> - <widget class="TQLabel" row="16" column="0" colspan="3"> + <widget class="TQLabel" row="17" column="0" colspan="3"> <property name="name"> <cstring>TextLabel1_3</cstring> </property> @@ -303,7 +311,7 @@ <cstring>word_connectorLE</cstring> </property> </widget> - <widget class="TQLineEdit" row="17" column="0" colspan="3"> + <widget class="TQLineEdit" row="18" column="0" colspan="3"> <property name="name"> <cstring>word_connectorLE</cstring> </property> diff --git a/konsole/konsole/konsole.cpp b/konsole/konsole/konsole.cpp index b28256e55..099802ad4 100644 --- a/konsole/konsole/konsole.cpp +++ b/konsole/konsole/konsole.cpp @@ -280,6 +280,7 @@ Konsole::Konsole(const char* name, int histon, bool menubaron, bool tabbaron, bo ,b_sessionShortcutsEnabled(false) ,b_sessionShortcutsMapped(false) ,b_matchTabWinTitle(false) +,b_showTabCloseIconHover(false) ,m_histSize(DEFAULT_HISTORY_SIZE) ,m_separator_id(-1) ,m_newSessionButton(0) @@ -944,6 +945,7 @@ void Konsole::makeTabWidget() tabwidget->setAutomaticResizeTabs(b_autoResizeTabs); tabwidget->setTabCloseActivatePrevious(true); tabwidget->setMouseWheelScroll(b_mouseWheelScroll); + tabwidget->setHoverCloseButton(b_showTabCloseIconHover); if (n_tabbar==TabTop) tabwidget->setTabPosition(TQTabWidget::Top); @@ -959,6 +961,8 @@ void Konsole::makeTabWidget() TQ_SLOT(slotTabContextMenu(TQWidget*, const TQPoint &))); connect(tabwidget, TQ_SIGNAL(contextMenu(const TQPoint &)), TQ_SLOT(slotTabbarContextMenu(const TQPoint &))); + connect(tabwidget, TQ_SIGNAL(closeRequest( TQWidget * )), + TQ_SLOT(slotTabCloseSession( TQWidget * ))); if (tdeApp->authorize("shell_access")) { connect(tabwidget, TQ_SIGNAL(mouseDoubleClick()), TQ_SLOT(newSession())); @@ -979,7 +983,6 @@ void Konsole::makeTabWidget() m_removeSessionButton->setEnabled(false); connect(m_removeSessionButton, TQ_SIGNAL(clicked()), TQ_SLOT(confirmCloseCurrentSession())); tabwidget->setCornerWidget( m_removeSessionButton, BottomRight ); - } } @@ -1413,6 +1416,11 @@ void Konsole::slotTabCloseSession() confirmCloseCurrentSession(m_contextMenuSession); } +void Konsole::slotTabCloseSession(TQWidget * w) +{ + confirmCloseCurrentSession(sessions.at( tabwidget->indexOf( w ) )); +} + void Konsole::slotTabbarContextMenu(const TQPoint & pos) { if (!m_menuCreated) @@ -1655,6 +1663,7 @@ void Konsole::readProperties(TDEConfig* config, const TQString &schema, bool glo b_xonXoff = config->readBoolEntry("XonXoff",false); b_matchTabWinTitle = config->readBoolEntry("MatchTabWinTitle",false); b_mouseWheelScroll = config->readBoolEntry("TabsCycleWheel",true); + b_showTabCloseIconHover = config->readBoolEntry("ShowCloseTabButtonWithHover",false); b_menuAccelerators = config->readBoolEntry("MenuAccelerators",false); config->setGroup("UTMP"); b_addToUtmp = config->readBoolEntry("AddToUtmp",true); @@ -1760,6 +1769,7 @@ void Konsole::applySettingsToGUI() updateRMBMenu(); } updateKeytabMenu(); + tabwidget->setHoverCloseButton( b_showTabCloseIconHover ); tabwidget->setAutomaticResizeTabs( b_autoResizeTabs ); } diff --git a/konsole/konsole/konsole.h b/konsole/konsole/konsole.h index b5e1f926b..d1ff5ac31 100644 --- a/konsole/konsole/konsole.h +++ b/konsole/konsole/konsole.h @@ -247,6 +247,7 @@ private slots: void slotTabSelectColor(); void slotTabResetColor(); void slotTabCloseSession(); + void slotTabCloseSession(TQWidget*); void slotTabToggleMonitor(); void slotTabToggleMasterMode(); void slotTabbarContextMenu(const TQPoint &); @@ -448,6 +449,7 @@ private: bool b_matchTabWinTitle:1; bool b_mouseWheelScroll:1; bool b_menuAccelerators:1; + bool b_showTabCloseIconHover:1; unsigned int m_histSize; int m_separator_id; |