Add shortcuts edit dialog for KDEified Quassel
authorManuel Nickschas <sputnick@quassel-irc.org>
Thu, 25 Dec 2008 20:45:57 +0000 (21:45 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Fri, 26 Dec 2008 00:08:42 +0000 (01:08 +0100)
src/qtui/chatviewsearchbar.cpp
src/qtui/mainwin.cpp
src/qtui/mainwin.h

index 0ea119e..a7e6ced 100644 (file)
@@ -42,7 +42,8 @@ ChatViewSearchBar::ChatViewSearchBar(QWidget *parent)
   QAction *toggleSearchBar = coll->action("ToggleSearchBar");
   connect(toggleSearchBar, SIGNAL(toggled(bool)), SLOT(setVisible(bool)));
 
-  Action *hideSearchBar = coll->add<Action>("HideSearchBar", toggleSearchBar, SLOT(setChecked(bool))); // always false
+  Action *hideSearchBar = coll->add<Action>("HideSearchBar", toggleSearchBar, SLOT(setChecked(bool)));
+  hideSearchBar->setShortcutConfigurable(false);
   hideSearchBar->setShortcut(Qt::Key_Escape);
 
   connect(ui.hideButton, SIGNAL(clicked()), toggleSearchBar, SLOT(toggle()));
index 67db86f..9d9bb81 100644 (file)
@@ -24,6 +24,7 @@
 #  include <KActionCollection>
 #  include <KHelpMenu>
 #  include <KMenuBar>
+#  include <KShortcutsDialog>
 #  include <KStatusBar>
 #endif
 
@@ -209,7 +210,7 @@ void MainWin::setupActions() {
                                       qApp, SLOT(quit()), tr("Ctrl+Q")));
 
   // View
-  coll->addAction("ManageBufferViews", new Action(SmallIcon("view-tree"), tr("&Manage Buffer Views..."), coll,
+  coll->addAction("ManageBufferViews", new Action(tr("&Manage Buffer Views..."), coll,
                                              this, SLOT(on_actionManageViews_triggered())));
   QAction *lockAct = coll->addAction("LockDockPositions", new Action(tr("&Lock Dock Positions"), coll));
   lockAct->setCheckable(true);
@@ -262,6 +263,7 @@ void MainWin::setupMenus() {
 
   _settingsMenu = menuBar()->addMenu(tr("&Settings"));
 #ifdef HAVE_KDE
+  _settingsMenu->addAction(KStandardAction::keyBindings(this, SLOT(showShortcutsDlg()), this));
   _settingsMenu->addAction(KStandardAction::configureNotifications(this, SLOT(showNotificationsDlg()), this));
 #endif
   _settingsMenu->addAction(coll->action("ConfigureQuassel"));
@@ -641,6 +643,12 @@ void MainWin::showAboutDlg() {
   AboutDlg(this).exec();
 }
 
+#ifdef HAVE_KDE
+void MainWin::showShortcutsDlg() {
+  KShortcutsDialog::configure(QtUi::actionCollection("General"), KShortcutsEditor::LetterShortcutsDisallowed);
+}
+#endif
+
 void MainWin::closeEvent(QCloseEvent *event) {
   QtUiSettings s;
   if(s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnClose").toBool()) {
index 96a4254..1495b3d 100644 (file)
@@ -96,6 +96,9 @@ class MainWin
     void showCoreInfoDlg();
     void showSettingsDlg();
     void showNotificationsDlg();
+#ifdef HAVE_KDE
+    void showShortcutsDlg();
+#endif
     void on_actionEditNetworks_triggered();
     void on_actionManageViews_triggered();
     void on_actionLockDockPositions_toggled(bool lock);