示例#1
0
void PsMainWindow::psUpdateWorkmode() {
    psSetupTrayIcon();
	if (cWorkMode() == dbiwmWindowOnly) {
		if (trayIcon) {
			trayIcon->setContextMenu(0);
			delete trayIcon;
		}
		trayIcon = 0;
	}
	psUpdateDelegate();
	setWindowIcon(wndIcon);
}
示例#2
0
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();
    }
}
示例#3
0
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();
}