X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Flegacysystemtray.cpp;h=d58d1d4684f30dd774dfe55c518a97f906dfa247;hp=0c6a1e3609cc277527e6d4c55f3ce3f3f7532152;hb=1b8b7589f2fb30e1b3583a8914dabced8a190655;hpb=5ba28fb36a747bd9a2c05a58f0533d1e38c2a0de
diff --git a/src/qtui/legacysystemtray.cpp b/src/qtui/legacysystemtray.cpp
index 0c6a1e36..d58d1d46 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,7 +90,7 @@ bool LegacySystemTray::isVisible() const {
if(mode() == Legacy) {
return _trayIcon->isVisible();
}
- return false;
+ return SystemTray::isVisible();
}
void LegacySystemTray::setMode(Mode mode_) {
@@ -92,8 +98,10 @@ void LegacySystemTray::setMode(Mode mode_) {
if(mode() == Legacy) {
syncLegacyIcon();
- if(_isVisible)
+ if(shouldBeVisible())
_trayIcon->show();
+ else
+ _trayIcon->hide();
if(state() == NeedsAttention)
_blinkTimer.start();
} else {
@@ -106,7 +114,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();