/***************************************************************************
- * Copyright (C) 2005-2010 by the Quassel Project *
+ * Copyright (C) 2005-2012 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
LegacySystemTray::LegacySystemTray(QWidget *parent)
: SystemTray(parent),
_blinkState(false),
- _isVisible(true),
_lastMessageId(0)
{
#ifndef HAVE_KDE
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("<b>%1</b>").arg(toolTipTitle());
if(!toolTipSubTitle().isEmpty())
tooltip += QString("<br>%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();
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 {