qDBusRegisterMetaType<DBusToolTipStruct>();
_statusNotifierItemDBus = new StatusNotifierItemDBus(this);
+
connect(this, SIGNAL(toolTipChanged(QString,QString)), _statusNotifierItemDBus, SIGNAL(NewToolTip()));
+ connect(this, SIGNAL(animationEnabledChanged(bool)), _statusNotifierItemDBus, SIGNAL(NewAttentionIcon()));
connect(QDBusConnection::sessionBus().interface(), SIGNAL(serviceOwnerChanged(QString,QString,QString)),
SLOT(serviceChange(QString,QString,QString)));
}
}
+bool StatusNotifierItem::isSystemTrayAvailable() const {
+ if(mode() == StatusNotifier)
+ return true; // else it should be set to legacy on registration
+
+ return StatusNotifierItemParent::isSystemTrayAvailable();
+}
+
+bool StatusNotifierItem::isVisible() const {
+ if(mode() == StatusNotifier)
+ return shouldBeVisible(); // we don't have a way to check, so we need to trust everything went right
+
+ return StatusNotifierItemParent::isVisible();
+}
+
void StatusNotifierItem::setMode(Mode mode_) {
StatusNotifierItemParent::setMode(mode_);
emit _statusNotifierItemDBus->NewIcon();
}
+void StatusNotifierItem::setVisible(bool visible) {
+ LegacySystemTray::setVisible(visible);
+
+ if(mode() == StatusNotifier) {
+ if(shouldBeVisible()) {
+ _statusNotifierItemDBus->registerService();
+ registerToDaemon();
+ } else {
+ _statusNotifierItemDBus->unregisterService();
+ _statusNotifierWatcher->deleteLater();
+ _statusNotifierWatcher = 0;
+ }
+ }
+}
+
QString StatusNotifierItem::title() const {
return QString("Quassel IRC");
}
}
QString StatusNotifierItem::attentionIconName() const {
- return QString("quassel_message");
+ if(animationEnabled())
+ return QString("quassel_message");
+ else
+ return QString("quassel");
}
QString StatusNotifierItem::toolTipIconName() const {