From b382dfbee6a9d979911dacdf081e5fcf44922acf Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Sun, 9 Jul 2017 12:49:17 +0300 Subject: Remove custom badge counter from mac and windows (#42) - Add icon set on mac for future packaging --- src/TrayIcon.cc | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/TrayIcon.cc b/src/TrayIcon.cc index 7e649077..e6a10444 100644 --- a/src/TrayIcon.cc +++ b/src/TrayIcon.cc @@ -70,8 +70,12 @@ QIconEngine *MsgCountComposedIcon::clone() const TrayIcon::TrayIcon(const QString &filename, QWidget *parent) : QSystemTrayIcon(parent) { +#if defined(Q_OS_MAC) || defined(Q_OS_WIN) + setIcon(QIcon(filename)); +#else icon_ = new MsgCountComposedIcon(filename); setIcon(QIcon(icon_)); +#endif QMenu *menu = new QMenu(parent); viewAction_ = new QAction(tr("Show"), parent); @@ -95,12 +99,17 @@ TrayIcon::TrayIcon(const QString &filename, QWidget *parent) void TrayIcon::setUnreadCount(int count) { +// Use the native badge counter in MacOS. #if defined(Q_OS_MAC) if (count == 0) QtMac::setBadgeLabelText(""); else QtMac::setBadgeLabelText(QString::number(count)); +#elif defined(Q_OS_WIN) +// FIXME: Find a way to use Windows apis for the badge counter (if any). #else + // Custom drawing on Linux. + // FIXME: It doesn't seem to work on KDE. MsgCountComposedIcon *tmp = static_cast(icon_->clone()); tmp->msgCount = count; -- cgit 1.5.1