X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=b44f7ddebdee5374918054ce56f796833e21c094;hp=81dc224b0f45f50a2ff9545c864f218deed474bf;hb=b709cbc76fc0bd0f14839b4c04ba8caf78d775f1;hpb=8f237cecca9a6353bc4d150b4b55719a6bf37476 diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 81dc224b..b44f7dde 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -43,10 +43,12 @@ #include "selectionmodelsynchronizer.h" #include "mappedselectionmodel.h" +#include "settingspages/colorsettingspage.h" #include "settingspages/fontssettingspage.h" +#include "settingspages/generalsettingspage.h" #include "settingspages/identitiessettingspage.h" #include "settingspages/networkssettingspage.h" -#include "settingspages/generalsettingspage.h" + #include "debugconsole.h" @@ -174,12 +176,16 @@ QDockWidget *MainWin::addBufferView(const QString &viewname, QAbstractItemModel } void MainWin::setupSettingsDlg() { - + //Category: Appearance + settingsDlg->registerSettingsPage(new ColorSettingsPage(settingsDlg)); settingsDlg->registerSettingsPage(new FontsSettingsPage(settingsDlg)); + //Category: Behaviour + settingsDlg->registerSettingsPage(new GeneralSettingsPage(settingsDlg)); + //Category: General settingsDlg->registerSettingsPage(new IdentitiesSettingsPage(settingsDlg)); settingsDlg->registerSettingsPage(new NetworksSettingsPage(settingsDlg)); - settingsDlg->registerSettingsPage(new GeneralSettingsPage(settingsDlg)); - + + #ifdef SPUTDEV connect(settingsDlg, SIGNAL(finished(int)), QApplication::instance(), SLOT(quit())); // FIXME #endif @@ -260,9 +266,8 @@ void MainWin::setupTopicWidget() { void MainWin::setupSystray() { systray = new QSystemTrayIcon(this); systray->setIcon(QIcon(":/icons/quassel-icon.png")); - - QString toolTip("left click to minimize the quassel client to tray"); - systray->setToolTip(toolTip); +// systray->setToolTip("left click to minimize the quassel client to tray"); +// systray->setToolTip(toolTip); systrayMenu = new QMenu(this); systrayMenu->addAction(ui.actionAboutQuassel); @@ -292,6 +297,7 @@ void MainWin::changeEvent(QEvent *event) { QtUiSettings s; if(s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnMinimize").toBool()) { toggleVisibility(); + event->ignore(); } } } @@ -368,19 +374,27 @@ void MainWin::systrayActivated( QSystemTrayIcon::ActivationReason activationReas } void MainWin::toggleVisibility() { - if(isHidden()) { + if(isHidden() /*|| !isActiveWindow()*/) { show(); - if(isMinimized()) { - if(isMaximized()) { + if(isMinimized()) + if (isMaximized()) showMaximized(); - } else { + else showNormal(); - } - } + raise(); - activateWindow(); + setFocus(Qt::ActiveWindowFocusReason); + // activateWindow(); } else { - hide(); + if(systray->isSystemTrayAvailable ()) { + clearFocus(); + hide(); + if(!systray->isVisible()) { + systray->show(); + } + } else { + lower(); + } } } @@ -418,13 +432,13 @@ void MainWin::clientNetworkUpdated() { a->setText(net->networkName()); if(net->connectionState() == Network::Initialized) { a->setIcon(QIcon(":/16x16/actions/network-connect")); - a->setEnabled(true); + //a->setEnabled(true); } else if(net->connectionState() == Network::Disconnected) { a->setIcon(QIcon(":/16x16/actions/network-disconnect")); - a->setEnabled(true); + //a->setEnabled(true); } else { a->setIcon(QIcon(":/16x16/actions/gear")); - a->setEnabled(false); + //a->setEnabled(false); } return; }