diff --git a/ChangeLog b/ChangeLog index 68794015f..8b055094d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -108,6 +108,8 @@ 64. Fix searches containing more than 4 words. 65. Use stretch header class from Clementine for table style views. 66. Dont change tray icon to play state - consistent with other apps. +67. Use mono system tray icon underUnity if icon theme is ubuntu-mono-light or + ubuntu-mono-dark. 1.2.2 ----- diff --git a/gui/trayitem.cpp b/gui/trayitem.cpp index 5c22b435c..8a8d7f0ce 100644 --- a/gui/trayitem.cpp +++ b/gui/trayitem.cpp @@ -36,6 +36,7 @@ #include "icons.h" #include "song.h" #include "stdactions.h" +#include "utils.h" class VolumeSliderEventHandler : public QObject { @@ -74,6 +75,7 @@ TrayItem::TrayItem(MainWindow *p) { } +#include void TrayItem::setup() { if (!Settings::self()->useSystemTray()) { @@ -92,11 +94,27 @@ void TrayItem::setup() if (trayItem) { return; } + + Icon icon; + #if !defined Q_OS_WIN32 && !defined Q_OS_MAC + if (Utils::Unity==Utils::currentDe()) { + if (QLatin1String("ubuntu-mono-dark")==QIcon::themeName()) { + icon.addFile(":trayicon-mono-light"); + } else if (QLatin1String("ubuntu-mono-light")==QIcon::themeName()) { + icon.addFile(":trayicon-mono-dark"); + } + } + #endif + #ifdef ENABLE_KDE_SUPPORT trayItem = new KStatusNotifierItem(this); trayItem->setCategory(KStatusNotifierItem::ApplicationStatus); trayItem->setTitle(i18n("Cantata")); - trayItem->setIconByName("cantata"); + if (icon.isNull()) { + trayItem->setIconByName("cantata"); + } else { + trayItem->setIconByPixmap(icon); + } trayItem->setToolTip("cantata", i18n("Cantata"), QString()); trayItemMenu = new KMenu(0); @@ -131,7 +149,7 @@ void TrayItem::setup() trayItemMenu->addSeparator(); trayItemMenu->addAction(mw->quitAction); trayItem->setContextMenu(trayItemMenu); - trayItem->setIcon(Icons::self()->appIcon); + trayItem->setIcon(icon.isNull() ? Icons::self()->appIcon : icon); trayItem->setToolTip(i18n("Cantata")); trayItem->show(); connect(trayItem, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayItemClicked(QSystemTrayIcon::ActivationReason))); diff --git a/icons/trayicon-mono-dark.svg b/icons/trayicon-mono-dark.svg new file mode 100644 index 000000000..0c4d2e4d4 --- /dev/null +++ b/icons/trayicon-mono-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/icons/trayicon-mono-light.svg b/icons/trayicon-mono-light.svg new file mode 100644 index 000000000..4e6e5c1c5 --- /dev/null +++ b/icons/trayicon-mono-light.svg @@ -0,0 +1,6 @@ + + + + + +