X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=dcb658f3fea41e9c071ca22855db7666e308fe05;hp=1541a5678afbda06e88747237005cc995e0be766;hb=e3bafb7a62d1123bfeee221550bca96aef769399;hpb=77397f5e999830077fee13187c6a1ee044d92545 diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 1541a567..dcb658f3 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -19,6 +19,14 @@ ***************************************************************************/ #include "mainwin.h" +#ifdef HAVE_KDE +# include +# include +# include +# include +# include +#endif + #include "aboutdlg.h" #include "action.h" #include "actioncollection.h" @@ -59,6 +67,9 @@ #ifdef HAVE_PHONON # include "phononnotificationbackend.h" #endif +#ifdef HAVE_KDE +# include "knotificationbackend.h" +#endif #include "systraynotificationbackend.h" #include "taskbarnotificationbackend.h" @@ -66,8 +77,8 @@ #include "settingspages/appearancesettingspage.h" #include "settingspages/backlogsettingspage.h" #include "settingspages/bufferviewsettingspage.h" -#include "settingspages/colorsettingspage.h" #include "settingspages/chatmonitorsettingspage.h" +#include "settingspages/colorsettingspage.h" #include "settingspages/fontssettingspage.h" #include "settingspages/generalsettingspage.h" #include "settingspages/highlightsettingspage.h" @@ -76,7 +87,12 @@ #include "settingspages/notificationssettingspage.h" MainWin::MainWin(QWidget *parent) +#ifdef HAVE_KDE + : KMainWindow(parent), + _kHelpMenu(new KHelpMenu(this)), +#else : QMainWindow(parent), +#endif coreLagLabel(new QLabel()), sslLabel(new QLabel()), msgProcessorStatusWidget(new MsgProcessorStatusWidget()), @@ -97,14 +113,19 @@ MainWin::MainWin(QWidget *parent) installEventFilter(new JumpKeyHandler(this)); - QtUi::registerNotificationBackend(new TaskbarNotificationBackend(this)); - QtUi::registerNotificationBackend(new SystrayNotificationBackend(this)); -#ifdef HAVE_PHONON - QtUi::registerNotificationBackend(new PhononNotificationBackend(this)); -#endif -#ifdef HAVE_DBUS - QtUi::registerNotificationBackend(new DesktopNotificationBackend(this)); -#endif +#ifndef HAVE_KDE + QtUi::registerNotificationBackend(new TaskbarNotificationBackend(this)); + QtUi::registerNotificationBackend(new SystrayNotificationBackend(this)); +# ifdef HAVE_PHONON + QtUi::registerNotificationBackend(new PhononNotificationBackend(this)); +# endif +# ifdef HAVE_DBUS + QtUi::registerNotificationBackend(new DesktopNotificationBackend(this)); +# endif + +#else /* HAVE_KDE */ + QtUi::registerNotificationBackend(new KNotificationBackend(this)); +#endif /* HAVE_KDE */ QtUiApplication* app = qobject_cast qApp; connect(app, SIGNAL(saveStateToSession(const QString&)), SLOT(saveStateToSession(const QString&))); @@ -204,9 +225,9 @@ void MainWin::setupActions() { this, SLOT(showSettingsDlg()), tr("F7"))); // Help - coll->addAction("AboutQuassel", new Action(SmallIcon("quassel"), tr("&About Quassel..."), coll, + coll->addAction("AboutQuassel", new Action(SmallIcon("quassel"), tr("&About Quassel"), coll, this, SLOT(showAboutDlg()))); - coll->addAction("AboutQt", new Action(QIcon(":/pics/qt-logo.png"), tr("About &Qt..."), coll, + coll->addAction("AboutQt", new Action(QIcon(":/pics/qt-logo.png"), tr("About &Qt"), coll, qApp, SLOT(aboutQt()))); coll->addAction("DebugNetworkModel", new Action(SmallIcon("tools-report-bug"), tr("Debug &NetworkModel"), coll, this, SLOT(on_actionDebugNetworkModel_triggered()))); @@ -240,11 +261,18 @@ void MainWin::setupMenus() { _viewMenu->addAction(coll->action("LockDockPositions")); _settingsMenu = menuBar()->addMenu(tr("&Settings")); +#ifdef HAVE_KDE + _settingsMenu->addAction(KStandardAction::configureNotifications(this, SLOT(showNotificationsDlg()), this)); +#endif _settingsMenu->addAction(coll->action("ConfigureQuassel")); _helpMenu = menuBar()->addMenu(tr("&Help")); _helpMenu->addAction(coll->action("AboutQuassel")); +#ifndef HAVE_KDE _helpMenu->addAction(coll->action("AboutQt")); +#else + _helpMenu->addAction(KStandardAction::aboutKDE(_kHelpMenu, SLOT(aboutKDE()), this)); +#endif _helpMenu->addSeparator(); _helpDebugMenu = _helpMenu->addMenu(SmallIcon("tools-report-bug"), tr("Debug")); _helpDebugMenu->addAction(coll->action("DebugNetworkModel")); @@ -313,6 +341,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();