/***************************************************************************
- * Copyright (C) 2005-2018 by the Quassel Project *
+ * Copyright (C) 2005-2019 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This contains code from KStatusNotifierItem, part of the KDE libs *
#ifdef HAVE_DBUS
+#include "statusnotifieritem.h"
+
#include <QApplication>
#include <QDir>
#include <QFile>
+#include <QIcon>
#include <QMenu>
#include <QMouseEvent>
#include <QTextDocument>
+#include "icon.h"
#include "qtui.h"
#include "quassel.h"
-#include "statusnotifieritem.h"
#include "statusnotifieritemdbus.h"
constexpr int kProtocolVersion {0};
connect(this, SIGNAL(toolTipChanged(QString, QString)), _statusNotifierItemDBus, SIGNAL(NewToolTip()));
// Service watcher to keep track of the StatusNotifierWatcher service
- QDBusServiceWatcher *watcher = new QDBusServiceWatcher(kSniWatcherService,
- QDBusConnection::sessionBus(),
- QDBusServiceWatcher::WatchForOwnerChange,
- this);
- connect(watcher, SIGNAL(serviceOwnerChanged(QString, QString, QString)), SLOT(serviceChange(QString, QString, QString)));
+ _serviceWatcher = new QDBusServiceWatcher(kSniWatcherService,
+ QDBusConnection::sessionBus(),
+ QDBusServiceWatcher::WatchForOwnerChange,
+ this);
+ connect(_serviceWatcher, SIGNAL(serviceOwnerChanged(QString, QString, QString)), SLOT(serviceChange(QString, QString, QString)));
// Client instance for StatusNotifierWatcher
_statusNotifierWatcher = new org::kde::StatusNotifierWatcher(kSniWatcherService,
baseDir.removeRecursively();
for (auto &&trayState : { State::Active, State::Passive, State::NeedsAttention }) {
auto iconName = SystemTray::iconName(trayState);
- QIcon icon = QIcon::fromTheme(iconName);
+ QIcon icon = icon::get(iconName);
if (!icon.isNull()) {
for (auto &&size : icon.availableSizes()) {
auto pixDir = QString{"%1/%2x%3/status"}.arg(baseDir.absolutePath()).arg(size.width()).arg(size.height());