void PsMainWindow::psUpdateWorkmode() { psSetupTrayIcon(); if (cWorkMode() == dbiwmWindowOnly) { if (trayIcon) { trayIcon->setContextMenu(0); delete trayIcon; } trayIcon = 0; } psUpdateDelegate(); setWindowIcon(wndIcon); }
void PsMainWindow::psSetupTrayIcon() { if (noQtTrayIcon) { if (!cSupportTray()) return; psUpdateCounter(); } else { if (!trayIcon) { trayIcon = new QSystemTrayIcon(this); QIcon icon(QPixmap::fromImage(App::wnd()->iconLarge(), Qt::ColorOnly)); trayIcon->setIcon(icon); trayIcon->setToolTip(QString::fromStdWString(AppName)); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(toggleTray(QSystemTrayIcon::ActivationReason)), Qt::UniqueConnection); connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(showFromTray())); App::wnd()->updateTrayMenu(); } psUpdateCounter(); trayIcon->show(); psUpdateDelegate(); } }
void Window::setupTrayIcon() { if (!trayIcon) { if (trayIcon) trayIcon->deleteLater(); trayIcon = new QSystemTrayIcon(this); #ifdef Q_OS_MAC QIcon icon(QPixmap::fromImage(psTrayIcon())); icon.addPixmap(QPixmap::fromImage(psTrayIcon(true)), QIcon::Selected); #else QIcon icon(QPixmap::fromImage(iconLarge())); #endif trayIcon->setIcon(icon); trayIcon->setToolTip(QString::fromStdWString(AppName)); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(toggleTray(QSystemTrayIcon::ActivationReason)), Qt::UniqueConnection); if (cPlatform() != dbipMac) { connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(showFromTray())); } updateTrayMenu(); } psUpdateCounter(); trayIcon->show(); psUpdateDelegate(); }