X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fknotificationbackend.cpp;h=f189f9e19a648a5922bc306580e6675ac3258674;hb=8ffce0099c17b7658a309c5db325ce7f84103b07;hp=e261eacf003217a018b055b13542d52b93655924;hpb=138bb708911ef06fa37859fa51bca5f47125ccdd;p=quassel.git diff --git a/src/qtui/knotificationbackend.cpp b/src/qtui/knotificationbackend.cpp index e261eacf..f189f9e1 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,6 +79,7 @@ void KNotificationBackend::removeNotificationById(uint notificationId) { } else ++i; } + updateToolTip(); } void KNotificationBackend::close(uint notificationId) { @@ -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(); }