Add option to enable accelerators in Konsole menu bar

Add default shortcut for show/hide Konsole menu bar
This resolves Bug 1701
pull/2/head
Michele Calgaro 11 years ago committed by Slávek Banko
parent 6409e49025
commit c244bac153

@ -72,6 +72,7 @@ KCMKonsole::KCMKonsole(TQWidget * parent, const char *name, const TQStringList&)
connect(dialog->line_spacingSB,TQT_SIGNAL(valueChanged(int)), TQT_SLOT( changed() ));
connect(dialog->matchTabWinTitleCB,TQT_SIGNAL(toggled(bool)), TQT_SLOT( changed() ));
connect(dialog->tabsCycleWheel,TQT_SIGNAL(toggled(bool)), TQT_SLOT( changed() ));
connect(dialog->menuAccelerators,TQT_SIGNAL(toggled(bool)), TQT_SLOT( changed() ));
connect(dialog->silence_secondsSB,TQT_SIGNAL(valueChanged(int)), TQT_SLOT( changed() ));
connect(dialog->word_connectorLE,TQT_SIGNAL(textChanged(const TQString &)), TQT_SLOT( changed() ));
connect(dialog->SchemaEditor1, TQT_SIGNAL(changed()), TQT_SLOT( changed() ));
@ -97,6 +98,7 @@ void KCMKonsole::load(bool useDefaults)
dialog->bidiCB->setChecked(bidiOrig);
dialog->matchTabWinTitleCB->setChecked(config.readBoolEntry("MatchTabWinTitle",false));
dialog->tabsCycleWheel->setChecked(config.readBoolEntry("TabsCycleWheel",true));
dialog->menuAccelerators->setChecked(config.readBoolEntry("MenuAccelerators",false));
dialog->warnCB->setChecked(config.readBoolEntry("WarnQuit",true));
dialog->ctrldragCB->setChecked(config.readBoolEntry("CtrlDrag",true));
dialog->cutToBeginningOfLineCB->setChecked(config.readBoolEntry("CutToBeginningOfLine",false));
@ -136,6 +138,7 @@ void KCMKonsole::save()
config.writeEntry("EnableBidi", bidiNew);
config.writeEntry("MatchTabWinTitle", dialog->matchTabWinTitleCB->isChecked());
config.writeEntry("TabsCycleWheel", dialog->tabsCycleWheel->isChecked());
config.writeEntry("MenuAccelerators", dialog->menuAccelerators->isChecked());
config.writeEntry("WarnQuit", dialog->warnCB->isChecked());
config.writeEntry("CtrlDrag", dialog->ctrldragCB->isChecked());
config.writeEntry("CutToBeginningOfLine", dialog->cutToBeginningOfLineCB->isChecked());

@ -178,7 +178,15 @@
<string>Cycle tabs with mouse wheel</string>
</property>
</widget>
<widget class="KIntNumInput" row="11" column="2">
<widget class="TQCheckBox" row="11" column="0" rowspan="1" colspan="3">
<property name="name">
<cstring>menuAccelerators</cstring>
</property>
<property name="text">
<string>Enable main menu accelerator keys</string>
</property>
</widget>
<widget class="KIntNumInput" row="12" column="2">
<property name="name">
<cstring>line_spacingSB</cstring>
</property>
@ -197,7 +205,7 @@
<number>8</number>
</property>
</widget>
<widget class="TQLabel" row="11" column="0" rowspan="1" colspan="2">
<widget class="TQLabel" row="12" column="0" rowspan="1" colspan="2">
<property name="name">
<cstring>TextLabel1_4</cstring>
</property>
@ -216,7 +224,7 @@
<cstring>line_spacingSB</cstring>
</property>
</widget>
<spacer row="11" column="3">
<spacer row="12" column="3">
<property name="name">
<cstring>Spacer2</cstring>
</property>
@ -233,7 +241,7 @@
</size>
</property>
</spacer>
<widget class="TQLabel" row="12" column="0">
<widget class="TQLabel" row="13" column="0">
<property name="name">
<cstring>SilenceLabel</cstring>
</property>
@ -252,7 +260,7 @@
<cstring>silence_secondsSB</cstring>
</property>
</widget>
<widget class="KIntNumInput" row="12" column="1" rowspan="1" colspan="2">
<widget class="KIntNumInput" row="13" column="1" rowspan="1" colspan="2">
<property name="name">
<cstring>silence_secondsSB</cstring>
</property>

@ -212,6 +212,18 @@ Konsole::Konsole(const char* name, int histon, bool menubaron, bool tabbaron, bo
,kWinModule(0)
,menubar(0)
,statusbar(0)
,m_session_string(i18n("&Session"))
,m_edit_string(i18n("&Edit"))
,m_view_string(i18n("&View"))
,m_bookmarks_string(i18n("&Bookmarks"))
,m_options_string(i18n("Se&ttings"))
,m_help_string(i18n("&Help"))
,m_session_id(-1)
,m_edit_id(-1)
,m_view_id(-1)
,m_bookmarks_id(-1)
,m_options_id(-1)
,m_help_id(-1)
,m_session(0)
,m_edit(0)
,m_view(0)
@ -321,6 +333,7 @@ Konsole::Konsole(const char* name, int histon, bool menubaron, bool tabbaron, bo
readProperties(config, schema, false);
makeBasicGUI();
setMenuAcceleratos();
if (isRestored) {
n_tabbar = wanted_tabbar;
@ -1074,15 +1087,15 @@ void Konsole::makeBasicGUI()
if (m_bookmarksSession)
connect(m_bookmarksSession,TQT_SIGNAL(aboutToShow()),this,TQT_SLOT(makeGUI()));
menubar->insertItem(i18n("Session") , m_session);
menubar->insertItem(i18n("Edit"), m_edit);
menubar->insertItem(i18n("View"), m_view);
m_session_id=menubar->insertItem(m_session_string , m_session);
m_edit_id=menubar->insertItem(m_edit_string, m_edit);
m_view_id=menubar->insertItem(m_view_string, m_view);
if (m_bookmarks)
menubar->insertItem(i18n("Bookmarks"), m_bookmarks);
m_bookmarks_id=menubar->insertItem(m_bookmarks_string, m_bookmarks);
if (m_options)
menubar->insertItem(i18n("Settings"), m_options);
m_options_id=menubar->insertItem(m_options_string, m_options);
if (m_help)
menubar->insertItem(i18n("Help"), m_help);
m_help_id=menubar->insertItem(m_help_string, m_help);
m_shortcuts = new TDEActionCollection(this);
@ -1149,7 +1162,7 @@ void Konsole::makeBasicGUI()
masterMode = new TDEToggleAction ( i18n( "Send &Input to All Sessions" ), "remote", 0, TQT_TQOBJECT(this),
TQT_SLOT( slotToggleMasterMode() ), m_shortcuts, "send_input_to_all_sessions" );
showMenubar = new TDEToggleAction ( i18n( "Show &Menubar" ), "showmenu", 0, TQT_TQOBJECT(this),
showMenubar = new TDEToggleAction ( i18n( "Show &Menubar" ), "showmenu", Qt::CTRL+Qt::SHIFT+Qt::ALT+Qt::Key_M, TQT_TQOBJECT(this),
TQT_SLOT( slotToggleMenubar() ), m_shortcuts, "show_menubar" );
showMenubar->setCheckedState( KGuiItem( i18n("Hide &Menubar"), "showmenu", TQString::null, TQString::null ) );
@ -1628,6 +1641,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_menuAccelerators = config->readBoolEntry("MenuAccelerators",false);
config->setGroup("UTMP");
b_addToUtmp = config->readBoolEntry("AddToUtmp",true);
config->setDesktopGroup();
@ -2183,6 +2197,7 @@ void Konsole::reparseConfiguration()
}
tabwidget->setMouseWheelScroll(b_mouseWheelScroll);
setMenuAcceleratos();
}
// Called via emulation via session
@ -4427,4 +4442,32 @@ TQPtrList<TEWidget> Konsole::activeTEs()
return ret;
}
void Konsole::setMenuAcceleratos()
{
if (b_menuAccelerators)
{
menubar->changeItem(m_session_id, m_session_string);
menubar->changeItem(m_edit_id, m_edit_string);
menubar->changeItem(m_view_id, m_view_string);
if (m_bookmarks)
menubar->changeItem(m_bookmarks_id, m_bookmarks_string);
if (m_options)
menubar->changeItem(m_options_id, m_options_string);
if (m_help)
menubar->changeItem(m_help_id, m_help_string);
}
else
{
menubar->changeItem(m_session_id, TQString(m_session_string).replace(TQRegExp("&([^&])"), "\\1"));
menubar->changeItem(m_edit_id, TQString(m_edit_string).replace(TQRegExp("&([^&])"), "\\1"));
menubar->changeItem(m_view_id, TQString(m_view_string).replace(TQRegExp("&([^&])"), "\\1"));
if (m_bookmarks)
menubar->changeItem(m_bookmarks_id, TQString(m_bookmarks_string).replace(TQRegExp("&([^&])"), "\\1"));
if (m_options)
menubar->changeItem(m_options_id, TQString(m_options_string).replace(TQRegExp("&([^&])"), "\\1"));
if (m_help)
menubar->changeItem(m_help_id, TQString(m_help_string).replace(TQRegExp("&([^&])"), "\\1"));
}
}
#include "konsole.moc"

@ -297,6 +297,8 @@ private:
bool eventFilter( TQObject *o, TQEvent *e );
void setMenuAcceleratos();
TQPtrList<TEWidget> activeTEs();
TQPtrDict<TESession> action2session;
@ -322,6 +324,22 @@ private:
KMenuBar* menubar;
KStatusBar* statusbar;
// Text strings for main menu entries
TQString m_session_string;
TQString m_edit_string;
TQString m_view_string;
TQString m_bookmarks_string;
TQString m_options_string;
TQString m_help_string;
// Main menu entry ids
int m_session_id;
int m_edit_id;
int m_view_id;
int m_bookmarks_id;
int m_options_id;
int m_help_id;
TDEPopupMenu* m_session;
TDEPopupMenu* m_edit;
TDEPopupMenu* m_view;
@ -338,6 +356,7 @@ private:
TDEPopupMenu* m_tabPopupMenu;
TDEPopupMenu* m_tabPopupTabsMenu;
TDEPopupMenu* m_tabbarPopupMenu;
TDEPopupMenu* m_openSelection;
TDEAction *m_zmodemUpload;
TDEToggleAction *monitorActivity, *m_tabMonitorActivity;
@ -373,7 +392,6 @@ private:
TDEAction *m_closeSession;
TDEAction *m_print;
TDEAction *m_quit;
TDEPopupMenu *m_openSelection;
TDEActionCollection *m_shortcuts;
@ -434,6 +452,7 @@ private:
bool b_sessionShortcutsMapped:1;
bool b_matchTabWinTitle:1;
bool b_mouseWheelScroll:1;
bool b_menuAccelerators:1;
unsigned int m_histSize;
int m_separator_id;

Loading…
Cancel
Save