qtui: Use icon names in tray implementations
[quassel.git] / src / qtui / legacysystemtray.cpp
index a3e706a..9308798 100644 (file)
@@ -1,11 +1,11 @@
 /***************************************************************************
- *   Copyright (C) 2005-2013 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) version 3.                                           *
+ *   This file is free software; you can redistribute it and/or modify     *
+ *   it under the terms of the GNU Library General Public License (LGPL)   *
+ *   as published by the Free Software Foundation; either version 2 of the *
+ *   License, or (at your option) any later version.                       *
  *                                                                         *
  *   This program is distributed in the hope that it will be useful,       *
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
@@ -29,7 +29,7 @@ LegacySystemTray::LegacySystemTray(QWidget *parent)
     _blinkState(false),
     _lastMessageId(0)
 {
-#ifndef HAVE_KDE
+#ifndef HAVE_KDE4
     _trayIcon = new QSystemTrayIcon(associatedWidget());
 #else
     _trayIcon = new KSystemTrayIcon(associatedWidget());
@@ -37,7 +37,7 @@ LegacySystemTray::LegacySystemTray(QWidget *parent)
     disconnect(_trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
         _trayIcon, SLOT(activateOrHide(QSystemTrayIcon::ActivationReason)));
 #endif
-#ifndef Q_WS_MAC
+#ifndef Q_OS_MAC
     connect(_trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
         SLOT(on_activated(QSystemTrayIcon::ActivationReason)));
 #endif
@@ -65,9 +65,9 @@ void LegacySystemTray::init()
 
 void LegacySystemTray::syncLegacyIcon()
 {
-    _trayIcon->setIcon(stateIcon());
+    updateIcon();
 
-#if defined Q_WS_MAC || defined Q_WS_WIN
+#if defined Q_OS_MAC || defined Q_OS_WIN
     QString tooltip = QString("%1").arg(toolTipTitle());
     if (!toolTipSubTitle().isEmpty())
         tooltip += QString("\n%1").arg(toolTipSubTitle());
@@ -137,23 +137,25 @@ void LegacySystemTray::setState(State state_)
             _blinkState = false;
         }
     }
-    if (mode() == Legacy)
-        _trayIcon->setIcon(stateIcon());
+    updateIcon();
 }
 
 
-Icon LegacySystemTray::stateIcon() const
+void LegacySystemTray::updateIcon()
 {
-    if (mode() == Legacy && state() == NeedsAttention && !_blinkState)
-        return SystemTray::stateIcon(Active);
-    return SystemTray::stateIcon();
+    if (state() == State::NeedsAttention && !_blinkState) {
+        _trayIcon->setIcon(QIcon::fromTheme(iconName(State::Active)));
+    }
+    else {
+        _trayIcon->setIcon(QIcon::fromTheme(iconName(state())));
+    }
 }
 
 
 void LegacySystemTray::on_blinkTimeout()
 {
     _blinkState = !_blinkState;
-    _trayIcon->setIcon(stateIcon());
+    updateIcon();
 }