X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=d943bfacf88cd5236cc39c66d5a392b284a6f083;hp=32b59abf90d6459eb59b2a25f83b0496555b2bb0;hb=e7d1bc1fa02e1233f140e4b04d99ab8f4685bce5;hpb=3efffa2c3f687b21c8040e9a7ee3830e8f539abf diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 32b59abf..d943bfac 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -70,6 +70,7 @@ #include "irclistmodel.h" #include "ircconnectionwizard.h" #include "jumpkeyhandler.h" +#include "legacysystemtray.h" #include "msgprocessorstatuswidget.h" #include "nicklistwidget.h" #include "qtuiapplication.h" @@ -78,7 +79,6 @@ #include "qtuistyle.h" #include "settingsdlg.h" #include "settingspagedlg.h" -#include "systemtray.h" #include "toolbaractionprovider.h" #include "topicwidget.h" #include "verticaldock.h" @@ -279,13 +279,9 @@ void MainWin::restoreStateFromSettings(UiSettings &s) { move(_normalPos); #endif -#ifndef QT_NO_SYSTEMTRAYICON - if(s.value("MainWinHidden").toBool()) { + if(s.value("MainWinHidden").toBool()) hideToTray(); - return; - } -#endif - if(s.value("MainWinMinimized").toBool()) + else if(s.value("MainWinMinimized").toBool()) showMinimized(); else if(maximized) showMaximized(); @@ -620,17 +616,19 @@ void MainWin::setupInputWidget() { _bufferWidget->setFocusProxy(_inputWidget); _inputWidget->inputLine()->installEventFilter(_bufferWidget); + + connect(_topicWidget, SIGNAL(switchedPlain()), _bufferWidget, SLOT(setFocus())); } void MainWin::setupTopicWidget() { VerticalDock *dock = new VerticalDock(tr("Topic"), this); dock->setObjectName("TopicDock"); - TopicWidget *topicwidget = new TopicWidget(dock); + _topicWidget = new TopicWidget(dock); - dock->setWidget(topicwidget); + dock->setWidget(_topicWidget); - topicwidget->setModel(Client::bufferModel()); - topicwidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); + _topicWidget->setModel(Client::bufferModel()); + _topicWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); addDockWidget(Qt::TopDockWidgetArea, dock, Qt::Vertical); @@ -683,8 +681,11 @@ void MainWin::saveStatusBarStatus(bool enabled) { void MainWin::setupSystray() { #ifndef QT_NO_SYSTEMTRAYICON - _systemTray = new SystemTray(this); + _systemTray = new LegacySystemTray(this); +#else + _systemTray = new SystemTray(this); // dummy #endif + _systemTray->init(); } void MainWin::setupToolBars() { @@ -816,9 +817,7 @@ void MainWin::setDisconnectedState() { if(_msgProcessorStatusWidget) _msgProcessorStatusWidget->setProgress(0, 0); updateIcon(); -#ifndef QT_NO_SYSTEMTRAYICON - systemTray()->setState(SystemTray::Inactive); -#endif + systemTray()->setState(SystemTray::Passive); } void MainWin::userAuthenticationRequired(CoreAccount *account, bool *valid, const QString &errorMessage) { @@ -1038,15 +1037,13 @@ void MainWin::changeEvent(QEvent *event) { QMainWindow::changeEvent(event); } -#ifndef QT_NO_SYSTEMTRAYICON - void MainWin::hideToTray() { if(!systemTray()->isSystemTrayAvailable()) { qWarning() << Q_FUNC_INFO << "was called with no SystemTray available!"; return; } hide(); - systemTray()->setIconVisible(); + systemTray()->setVisible(); } void MainWin::toggleMinimizedToTray() { @@ -1072,8 +1069,6 @@ void MainWin::toggleMinimizedToTray() { #endif } -#endif /* QT_NO_SYSTEMTRAYICON */ - void MainWin::forceActivated() { #ifdef HAVE_KDE show();