qDBusRegisterMetaType<DBusToolTipStruct>();
_statusNotifierItemDBus = new StatusNotifierItemDBus(this);
+
connect(this, SIGNAL(toolTipChanged(QString,QString)), _statusNotifierItemDBus, SIGNAL(NewToolTip()));
connect(this, SIGNAL(animationEnabledChanged(bool)), _statusNotifierItemDBus, SIGNAL(NewAttentionIcon()));
}
}
+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");
}