X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fknotificationbackend.cpp;h=6cc25a6ac3c0f31fa09725ee6ef6a3a258af7b8f;hp=e261eacf003217a018b055b13542d52b93655924;hb=83efa7dcd9771008e7600b4c35db0dde6e0bc995;hpb=138bb708911ef06fa37859fa51bca5f47125ccdd diff --git a/src/qtui/knotificationbackend.cpp b/src/qtui/knotificationbackend.cpp index e261eacf..6cc25a6a 100644 --- a/src/qtui/knotificationbackend.cpp +++ b/src/qtui/knotificationbackend.cpp @@ -28,6 +28,7 @@ #include "client.h" #include "icon.h" #include "iconloader.h" +#include "mainwin.h" #include "networkmodel.h" #include "qtui.h" @@ -36,6 +37,8 @@ KNotificationBackend::KNotificationBackend(QObject *parent) { connect(QtUi::mainWindow()->systemTray(), SIGNAL(activated(SystemTray::ActivationReason)), SLOT(notificationActivated(SystemTray::ActivationReason))); + + updateToolTip(); } void KNotificationBackend::notify(const Notification &n) { @@ -62,6 +65,7 @@ void KNotificationBackend::notify(const Notification &n) { _notifications.append(qMakePair(n.notificationId, QPointer(notification))); + updateToolTip(); QtUi::mainWindow()->systemTray()->setAlert(true); } @@ -75,11 +79,12 @@ void KNotificationBackend::removeNotificationById(uint notificationId) { } else ++i; } + updateToolTip(); } void KNotificationBackend::close(uint notificationId) { removeNotificationById(notificationId); - if(!_notifications.count()) + //if(!_notifications.count()) // FIXME make configurable QtUi::mainWindow()->systemTray()->setAlert(false); } @@ -105,6 +110,11 @@ void KNotificationBackend::notificationActivated(uint notificationId) { emit activated(notificationId); } +void KNotificationBackend::updateToolTip() { + QtUi::mainWindow()->systemTray()->setToolTip("Quassel IRC", + _notifications.count()? tr("%n pending highlights", "", _notifications.count()) : QString()); +} + SettingsPage *KNotificationBackend::createConfigWidget() const { return new ConfigWidget(); }