X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Flegacysystemtray.cpp;h=230b19df6aeaeb7ca5323a89cc8924880d966fd4;hb=f9c4ee168a794add5261a7f1b6abb518f5987f8c;hp=0c6a1e3609cc277527e6d4c55f3ce3f3f7532152;hpb=5ba28fb36a747bd9a2c05a58f0533d1e38c2a0de;p=quassel.git diff --git a/src/qtui/legacysystemtray.cpp b/src/qtui/legacysystemtray.cpp index 0c6a1e36..230b19df 100644 --- a/src/qtui/legacysystemtray.cpp +++ b/src/qtui/legacysystemtray.cpp @@ -27,7 +27,6 @@ LegacySystemTray::LegacySystemTray(QWidget *parent) : SystemTray(parent), _blinkState(false), - _isVisible(true), _lastMessageId(0) { #ifndef HAVE_KDE @@ -64,16 +63,23 @@ void LegacySystemTray::init() { void LegacySystemTray::syncLegacyIcon() { _trayIcon->setIcon(stateIcon()); +#if defined Q_WS_MAC || defined Q_WS_WIN + QString tooltip = QString("%1").arg(toolTipTitle()); + if(!toolTipSubTitle().isEmpty()) + tooltip += QString("\n%1").arg(toolTipSubTitle()); +#else QString tooltip = QString("%1").arg(toolTipTitle()); if(!toolTipSubTitle().isEmpty()) tooltip += QString("
%1").arg(toolTipSubTitle()); +#endif + _trayIcon->setToolTip(tooltip); } void LegacySystemTray::setVisible(bool visible) { - _isVisible = visible; + SystemTray::setVisible(visible); if(mode() == Legacy) { - if(visible) + if(shouldBeVisible()) _trayIcon->show(); else _trayIcon->hide(); @@ -84,16 +90,21 @@ bool LegacySystemTray::isVisible() const { if(mode() == Legacy) { return _trayIcon->isVisible(); } - return false; + return SystemTray::isVisible(); } void LegacySystemTray::setMode(Mode mode_) { + if(mode_ == mode()) + return; + SystemTray::setMode(mode_); if(mode() == Legacy) { syncLegacyIcon(); - if(_isVisible) + if(shouldBeVisible()) _trayIcon->show(); + else + _trayIcon->hide(); if(state() == NeedsAttention) _blinkTimer.start(); } else { @@ -106,7 +117,7 @@ void LegacySystemTray::setState(State state_) { State oldstate = state(); SystemTray::setState(state_); if(oldstate != state()) { - if(state() == NeedsAttention && mode() == Legacy) + if(state() == NeedsAttention && mode() == Legacy && animationEnabled()) _blinkTimer.start(); else { _blinkTimer.stop();