+}
+
+
+QString StatusNotifierItem::attentionIconName() const
+{
+ if (animationEnabled()) {
+ return SystemTray::iconName(State::NeedsAttention);
+ }
+ else {
+ return SystemTray::iconName(State::Active);
+ }
+}
+
+
+QString StatusNotifierItem::toolTipIconName() const
+{
+ return "quassel";
+}
+
+
+QString StatusNotifierItem::iconThemePath() const
+{
+ return _iconThemePath;
+}
+
+
+QString StatusNotifierItem::menuObjectPath() const
+{
+ return _menuObjectPath;
+}
+
+
+void StatusNotifierItem::activated(const QPoint &pos)
+{
+ Q_UNUSED(pos)
+ activate(Trigger);
+}
+
+
+bool StatusNotifierItem::eventFilter(QObject *watched, QEvent *event)
+{
+ if (mode() == StatusNotifier) {
+ //FIXME: ugly ugly workaround to weird QMenu's focus problems
+#ifdef HAVE_KDE4
+ if (watched == trayMenu() &&
+ (event->type() == QEvent::WindowDeactivate || (event->type() == QEvent::MouseButtonRelease && static_cast<QMouseEvent *>(event)->button() == Qt::LeftButton))) {
+ // put at the back of event queue to let the action activate anyways
+ QTimer::singleShot(0, trayMenu(), SLOT(hide()));
+ }
+#else
+ if (watched == trayMenu() && event->type() == QEvent::HoverLeave) {
+ trayMenu()->hide();
+ }