qtui: Use icon names in tray implementations
[quassel.git] / src / qtui / legacysystemtray.cpp
index c425c3e..9308798 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2015 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This file is free software; you can redistribute it and/or modify     *
@@ -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());
@@ -65,7 +65,7 @@ void LegacySystemTray::init()
 
 void LegacySystemTray::syncLegacyIcon()
 {
-    _trayIcon->setIcon(stateIcon());
+    updateIcon();
 
 #if defined Q_OS_MAC || defined Q_OS_WIN
     QString tooltip = QString("%1").arg(toolTipTitle());
@@ -137,23 +137,25 @@ void LegacySystemTray::setState(State state_)
             _blinkState = false;
         }
     }
-    if (mode() == Legacy)
-        _trayIcon->setIcon(stateIcon());
+    updateIcon();
 }
 
 
-QIcon 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();
 }