X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=70e2285206e6ce860eac77e2f797258b92804886;hp=cd4a5fe139413a810accf503937b5c7c5296e465;hb=2088ce3b27f71c7c7e4f91d8f2428f7ccecf4074;hpb=1cb02004ee5973b89368bd84f234d4652794690d diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index cd4a5fe1..70e22852 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -27,15 +27,20 @@ #include #ifdef HAVE_KDE4 -# include -# include # include # include # include # include # include # include -# include +#endif + +#ifdef HAVE_KF5 +# include +# include +# include +# include +# include #endif #ifdef Q_WS_X11 @@ -93,7 +98,7 @@ #include "topicwidget.h" #include "verticaldock.h" -#ifndef HAVE_KDE4 +#ifndef HAVE_KDE # ifdef HAVE_PHONON # include "phononnotificationbackend.h" # endif @@ -102,9 +107,9 @@ # endif # include "systraynotificationbackend.h" # include "taskbarnotificationbackend.h" -#else /* HAVE_KDE4 */ +#else /* HAVE_KDE */ # include "knotificationbackend.h" -#endif /* HAVE_KDE4 */ +#endif /* HAVE_KDE */ #ifdef HAVE_SSL # include "sslinfodlg.h" @@ -140,14 +145,13 @@ #include "settingspages/notificationssettingspage.h" #include "settingspages/topicwidgetsettingspage.h" -#ifndef HAVE_KDE4 +#ifndef HAVE_KDE # include "settingspages/shortcutssettingspage.h" #endif MainWin::MainWin(QWidget *parent) -#ifdef HAVE_KDE4 - : KMainWindow(parent), - _kHelpMenu(new KHelpMenu(this, KGlobal::mainComponent().aboutData())), +#ifdef HAVE_KDE + : KMainWindow(parent), _kHelpMenu(new KHelpMenu(this)), #else : QMainWindow(parent), #endif @@ -214,7 +218,7 @@ void MainWin::init() setupTitleSetter(); setupHotList(); -#ifndef HAVE_KDE4 +#ifndef HAVE_KDE # ifdef HAVE_PHONON QtUi::registerNotificationBackend(new PhononNotificationBackend(this)); # endif @@ -226,9 +230,9 @@ void MainWin::init() QtUi::registerNotificationBackend(new TaskbarNotificationBackend(this)); -#else /* HAVE_KDE4 */ +#else /* HAVE_KDE */ QtUi::registerNotificationBackend(new KNotificationBackend(this)); -#endif /* HAVE_KDE4 */ +#endif /* HAVE_KDE */ #ifdef HAVE_INDICATEQT QtUi::registerNotificationBackend(new IndicatorNotificationBackend(this)); @@ -249,7 +253,7 @@ void MainWin::init() setDisconnectedState(); // Disable menus and stuff -#ifdef HAVE_KDE4 +#ifdef HAVE_KDE setAutoSaveSettings(); #endif @@ -295,7 +299,7 @@ void MainWin::saveStateToSettings(UiSettings &s) if (lastBufId.isValid()) s.setValue("LastUsedBufferId", lastBufId.toInt()); -#ifdef HAVE_KDE4 +#ifdef HAVE_KDE saveAutoSaveSettings(); #endif } @@ -307,7 +311,7 @@ void MainWin::restoreStateFromSettings(UiSettings &s) _normalPos = s.value("MainWinPos", pos()).toPoint(); bool maximized = s.value("MainWinMaximized", false).toBool(); -#ifndef HAVE_KDE4 +#ifndef HAVE_KDE restoreGeometry(s.value("MainWinGeometry").toByteArray()); if (maximized) { @@ -381,14 +385,14 @@ void MainWin::setupActions() coll->addAction("ToggleStatusBar", new Action(tr("Show Status &Bar"), coll, 0, 0))->setCheckable(true); -#ifdef HAVE_KDE4 - QAction *fullScreenAct = KStandardAction::fullScreen(this, SLOT(onFullScreenToggled()), this, coll); +#ifdef HAVE_KDE + _fullScreenAction = KStandardAction::fullScreen(this, SLOT(onFullScreenToggled()), this, coll); #else - QAction *fullScreenAct = new Action(QIcon::fromTheme("view-fullscreen"), tr("&Full Screen Mode"), coll, + _fullScreenAction = new Action(QIcon::fromTheme("view-fullscreen"), tr("&Full Screen Mode"), coll, this, SLOT(onFullScreenToggled()), QKeySequence(Qt::Key_F11)); - fullScreenAct->setCheckable(true); + _fullScreenAction->setCheckable(true); + coll->addAction("ToggleFullScreen", _fullScreenAction); #endif - coll->addAction("ToggleFullScreen", fullScreenAct); // Settings QAction *configureShortcutsAct = new Action(QIcon::fromTheme("configure-shortcuts"), tr("Configure &Shortcuts..."), coll, @@ -396,14 +400,14 @@ void MainWin::setupActions() configureShortcutsAct->setMenuRole(QAction::NoRole); coll->addAction("ConfigureShortcuts", configureShortcutsAct); - #ifdef Q_OS_MAC +#ifdef Q_OS_MAC QAction *configureQuasselAct = new Action(QIcon::fromTheme("configure"), tr("&Configure Quassel..."), coll, this, SLOT(showSettingsDlg())); configureQuasselAct->setMenuRole(QAction::PreferencesRole); - #else +#else QAction *configureQuasselAct = new Action(QIcon::fromTheme("configure"), tr("&Configure Quassel..."), coll, this, SLOT(showSettingsDlg()), QKeySequence(Qt::Key_F7)); - #endif +#endif coll->addAction("ConfigureQuassel", configureQuasselAct); // Help @@ -542,7 +546,7 @@ void MainWin::setupMenus() _viewMenu->addAction(coll->action("LockLayout")); _settingsMenu = menuBar()->addMenu(tr("&Settings")); -#ifdef HAVE_KDE4 +#ifdef HAVE_KDE _settingsMenu->addAction(KStandardAction::configureNotifications(this, SLOT(showNotificationsDlg()), this)); _settingsMenu->addAction(KStandardAction::keyBindings(this, SLOT(showShortcutsDlg()), this)); #else @@ -551,8 +555,9 @@ void MainWin::setupMenus() _settingsMenu->addAction(coll->action("ConfigureQuassel")); _helpMenu = menuBar()->addMenu(tr("&Help")); + _helpMenu->addAction(coll->action("AboutQuassel")); -#ifndef HAVE_KDE4 +#ifndef HAVE_KDE _helpMenu->addAction(coll->action("AboutQt")); #else _helpMenu->addAction(KStandardAction::aboutKDE(_kHelpMenu, SLOT(aboutKDE()), this)); @@ -917,7 +922,7 @@ void MainWin::setupTopicWidget() void MainWin::setupViewMenuTail() { _viewMenu->addSeparator(); - _viewMenu->addAction(QtUi::actionCollection("General")->action("ToggleFullScreen")); + _viewMenu->addAction(_fullScreenAction); } @@ -998,7 +1003,7 @@ void MainWin::setupToolBars() setUnifiedTitleAndToolBarOnMac(true); #endif -#ifdef HAVE_KDE4 +#ifdef HAVE_KDE _mainToolBar = new KToolBar("MainToolBar", this, Qt::TopToolBarArea, false, true, true); #else _mainToolBar = new QToolBar(this); @@ -1363,11 +1368,11 @@ void MainWin::showAboutDlg() void MainWin::showShortcutsDlg() { -#ifdef HAVE_KDE4 +#ifdef HAVE_KDE KShortcutsDialog dlg(KShortcutsEditor::AllActions, KShortcutsEditor::LetterShortcutsDisallowed, this); foreach(KActionCollection *coll, QtUi::actionCollections()) dlg.addCollection(coll, coll->property("Category").toString()); - dlg.exec(); + dlg.configure(true); #else SettingsPageDlg dlg(new ShortcutsSettingsPage(QtUi::actionCollections(), this), this); dlg.exec(); @@ -1387,15 +1392,10 @@ void MainWin::onFullScreenToggled() // Relying on QWidget::isFullScreen is discouraged, see the KToggleFullScreenAction docs // Also, one should not use showFullScreen() or showNormal(), as those reset all other window flags - QAction *action = QtUi::actionCollection("General")->action("ToggleFullScreen"); - if (!action) - return; - -#ifdef HAVE_KDE4 - KToggleFullScreenAction *kAct = static_cast(action); - kAct->setFullScreen(this, kAct->isChecked()); +#ifdef HAVE_KDE + static_cast(_fullScreenAction)->setFullScreen(this, _fullScreenAction->isChecked()); #else - if (action->isChecked()) + if (_fullScreenAction->isChecked()) setWindowState(windowState() | Qt::WindowFullScreen); else setWindowState(windowState() & ~Qt::WindowFullScreen);