X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fsystemtray.cpp;h=83cb8d97fa215faafdbdb88f5eb304ee51b01d5f;hb=0ec85b3e2ce83908af510a25d40eb2b9a0f0ffed;hp=afa7964f602b9c372fc399a5370903a009bc5684;hpb=5ba28fb36a747bd9a2c05a58f0533d1e38c2a0de;p=quassel.git diff --git a/src/qtui/systemtray.cpp b/src/qtui/systemtray.cpp index afa7964f..83cb8d97 100644 --- a/src/qtui/systemtray.cpp +++ b/src/qtui/systemtray.cpp @@ -38,6 +38,7 @@ SystemTray::SystemTray(QWidget *parent) : QObject(parent), _mode(Invalid), _state(Passive), + _shouldBeVisible(true), _passiveIcon(DesktopIcon("quassel_inactive")), _activeIcon(DesktopIcon("quassel")), _needsAttentionIcon(DesktopIcon("quassel_message")), @@ -62,7 +63,7 @@ void SystemTray::init() { #ifdef HAVE_KDE KMenu *kmenu; _trayMenu = kmenu = new KMenu(); - kmenu->addTitle(qApp->windowIcon(), "Quassel IRC"); + kmenu->addTitle(_activeIcon, "Quassel IRC"); #else _trayMenu = new QMenu(associatedWidget()); #endif @@ -81,6 +82,9 @@ void SystemTray::init() { _trayMenu->addAction(coll->action("Quit")); connect(_trayMenu, SIGNAL(aboutToShow()), SLOT(trayMenuAboutToShow())); + + NotificationSettings notificationSettings; + notificationSettings.initAndNotify("Systray/Animate", this, SLOT(enableAnimationChanged(QVariant)), true); } void SystemTray::trayMenuAboutToShow() { @@ -135,7 +139,7 @@ void SystemTray::setAlert(bool alerted) { } void SystemTray::setVisible(bool visible) { - Q_UNUSED(visible) + _shouldBeVisible = visible; } void SystemTray::setToolTip(const QString &title, const QString &subtitle) { @@ -159,3 +163,8 @@ void SystemTray::activate(SystemTray::ActivationReason reason) { void SystemTray::minimizeRestore() { GraphicalUi::toggleMainWidget(); } + +void SystemTray::enableAnimationChanged(const QVariant &v) { + _animationEnabled = v.toBool(); + emit animationEnabledChanged(v.toBool()); +}