Some more fixes
[quassel.git] / src / qtui / mainwin.cpp
index 7d3b45d..06c9b89 100644 (file)
@@ -24,6 +24,7 @@
 #  include <KActionCollection>
 #  include <KHelpMenu>
 #  include <KMenuBar>
+#  include <KShortcutsDialog>
 #  include <KStatusBar>
 #endif
 
 #include "topicwidget.h"
 #include "verticaldock.h"
 
-#ifdef HAVE_DBUS
-#  include "desktopnotificationbackend.h"
-#endif
-#ifdef HAVE_PHONON
-#  include "phononnotificationbackend.h"
-#endif
-#ifdef HAVE_KDE
+#ifndef HAVE_KDE
+#  ifdef HAVE_DBUS
+#    include "desktopnotificationbackend.h"
+#  endif
+#  ifdef HAVE_PHONON
+#    include "phononnotificationbackend.h"
+#  endif
+#  include "systraynotificationbackend.h"
+#  include "taskbarnotificationbackend.h"
+#else /* HAVE_KDE */
 #  include "knotificationbackend.h"
-#endif
-#include "systraynotificationbackend.h"
-#include "taskbarnotificationbackend.h"
+#endif /* HAVE_KDE */
 
 #include "settingspages/aliasessettingspage.h"
 #include "settingspages/appearancesettingspage.h"
@@ -209,9 +211,9 @@ 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())));
-  Action *lockAct = coll->addAction("LockDockPositions", new Action(tr("&Lock Dock Positions"), coll));
+  QAction *lockAct = coll->addAction("LockDockPositions", new Action(tr("&Lock Dock Positions"), coll));
   lockAct->setCheckable(true);
   connect(lockAct, SIGNAL(toggled(bool)), SLOT(on_actionLockDockPositions_toggled(bool)));
 
@@ -261,6 +263,10 @@ void MainWin::setupMenus() {
   _viewMenu->addAction(coll->action("LockDockPositions"));
 
   _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"));
 
   _helpMenu = menuBar()->addMenu(tr("&Help"));
@@ -338,6 +344,11 @@ BufferView *MainWin::allBuffersView() const {
   return 0;
 }
 
+void MainWin::showNotificationsDlg() {
+  SettingsPageDlg dlg(new NotificationsSettingsPage(this), this);
+  dlg.exec();
+}
+
 void MainWin::on_actionEditNetworks_triggered() {
   SettingsPageDlg dlg(new NetworksSettingsPage(this), this);
   dlg.exec();
@@ -633,6 +644,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()) {