void QMainWidget::createTrayIcon() { QSystemTrayIcon *trayIcon = new QSystemTrayIcon(this); QMenu *menu = new QMenu(this); QAction *windowAction = new QAction("Controller Window", this); QAction *quitAction = new QAction("Shutdown xboxToVJoy", this); enableAction = new QAction("Disable", this); connect(enableAction, SIGNAL(triggered()), this, SLOT(toggleEnabled())); connect(windowAction, SIGNAL(triggered()), this, SLOT(showControllerWindow())); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); menu->addAction(windowAction); menu->addSeparator(); menu->addAction(enableAction); menu->addSeparator(); menu->addAction(quitAction); trayIcon->setContextMenu(menu); QIcon icon(":/icons/icon.png"); trayIcon->setIcon(icon); trayIcon->show(); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setWindowIcon(QIcon(":icons/icon.png")); setWindowTitle("quickly translate"); QSystemTrayIcon * trayIcon = new QSystemTrayIcon(this); mNetManager = new QNetworkAccessManager(this); mLangageModel = new LanguageModel; trayIcon->setIcon(QIcon(":icons/icon.png")); trayIcon->setContextMenu(ui->menuFile); trayIcon->show(); ui->dockWidget->hide(); ui->sourceComboBox->setModel(mLangageModel); ui->targetComboBox->setModel(mLangageModel); QDesktopWidget * desktop = new QDesktopWidget; QPoint startPos = QPoint(desktop->geometry().bottomRight() ); QPoint finalPos = desktop->geometry().center() - QPoint(width()/2,height()/2); move(finalPos); connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); connect(ui->actionExit,SIGNAL(triggered()),this,SLOT(exit())); connect(ui->translateButton,SIGNAL(clicked()),this,SLOT(translate())); connect(ui->sourceTextEdit,SIGNAL(returnPressed()),this,SLOT(translate())); connect(ui->swapButton,SIGNAL(clicked()),this,SLOT(swapLangages())); connect(ui->actionCopy,SIGNAL(triggered()),this,SLOT(copy())); connect(ui->actionCut,SIGNAL(triggered()),this,SLOT(cut())); connect(ui->actionPast,SIGNAL(triggered()),this,SLOT(past())); connect(ui->actionPreferences,SIGNAL(triggered()),this,SLOT(showPreferences())); connect(ui->actionAboutQt,SIGNAL(triggered()),this,SLOT(showAboutQt())); connect(ui->actionAbout,SIGNAL(triggered()),this,SLOT(showAbout())); connect(ui->actionTTS,SIGNAL(triggered()),this,SLOT(showTextTTS())); connect(ui->sourceSoundButton,SIGNAL(clicked()),this,SLOT(textToSpeak())); connect(ui->targetSoundButton,SIGNAL(clicked()),this,SLOT(textToSpeak())); // mPropertyAnimation = new QPropertyAnimation(this, "pos"); // mPropertyAnimation->setDuration(800); // mPropertyAnimation->setStartValue(startPos); // mPropertyAnimation->setEndValue(finalPos); //load default langage QSettings settings; QString sourceId = settings.value("source").toString(); QString targetId = settings.value("target").toString(); ui->sourceComboBox->setCurrentIndex(mLangageModel->findLangageId(sourceId)); ui->targetComboBox->setCurrentIndex(mLangageModel->findLangageId(targetId)); }
static PyObject *meth_QSystemTrayIcon_setContextMenu(PyObject *sipSelf, PyObject *sipArgs) { PyObject *sipParseErr = NULL; { QMenu * a0; PyObject *a0Keep; QSystemTrayIcon *sipCpp; if (sipParseArgs(&sipParseErr, sipArgs, "B@J8", &sipSelf, sipType_QSystemTrayIcon, &sipCpp, &a0Keep, sipType_QMenu, &a0)) { Py_BEGIN_ALLOW_THREADS sipCpp->setContextMenu(a0); Py_END_ALLOW_THREADS sipKeepReference(sipSelf, -60, a0Keep); Py_INCREF(Py_None); return Py_None; } } /* Raise an exception if the arguments couldn't be parsed. */ sipNoMethod(sipParseErr, sipName_QSystemTrayIcon, sipName_setContextMenu, NULL); return NULL; }
TrayIconManager::TrayIconManager(QMainWindow* p_main) { QMenu *trayMenu = new QMenu(p_main); trayMenu->addAction(new QAction("Dodaj wpis...", p_main)); // dummy action trayMenu->addSeparator(); trayMenu->addAction(new QAction("Drukuj...", p_main)); // dummy action // set up and show the system tray icon QSystemTrayIcon *trayIcon = new QSystemTrayIcon(p_main); trayIcon->setIcon(QIcon("heart.ico")); trayIcon->setContextMenu(trayMenu); trayIcon->show(); }
// Testing get/set functions void tst_QSystemTrayIcon::getSetCheck() { QSystemTrayIcon icon; QCOMPARE(true, icon.toolTip().isEmpty()); icon.setToolTip("testToolTip"); QCOMPARE(true, "testToolTip" == icon.toolTip()); QCOMPARE(true, icon.icon().isNull()); icon.setIcon(QIcon("icons/icon.png")); QCOMPARE(false, icon.icon().isNull()); QMenu menu; QCOMPARE(true, icon.contextMenu() == 0); icon.setContextMenu(&menu); QCOMPARE(false, icon.contextMenu() == 0); }
void CNotificationManager::registerUIDevice(CUIDevice * uiDevice) { QSystemTrayIcon * newTrayIcon = new QSystemTrayIcon(this); m_UIDeviceIcons.insert(uiDevice, newTrayIcon); newTrayIcon->setContextMenu(uiDevice->deviceMenu()); m_MainIcon->contextMenu()->insertMenu(m_InsertMarker, uiDevice->deviceMenu()); updateDeviceIcon(uiDevice); setIconVisible(uiDevice->m_ShowTrayIcon, uiDevice); connect(uiDevice, &CUIDevice::showNotificationRequested, this, &CNotificationManager::showStateNotificationBySender); connect(uiDevice, &CUIDevice::updateTrayIconRequested, this, &CNotificationManager::updateDeviceIconBySender); connect(uiDevice, &CUIDevice::showTrayIconRequested, this, &CNotificationManager::setIconVisibleBySender); connect(newTrayIcon, &QSystemTrayIcon::activated, this, &CNotificationManager::handleDeviceIconActivated); }
void CNotificationManager::registerUIDevice(CUIDevice * uiDevice) { QSystemTrayIcon * newTrayIcon = new QSystemTrayIcon(this); m_UIDeviceIcons.insert(uiDevice, newTrayIcon); newTrayIcon->setContextMenu(uiDevice->deviceMenu()); m_MainIcon->contextMenu()->insertMenu(m_InsertMarker, uiDevice->deviceMenu()); updateDeviceIcon(uiDevice); setIconVisible(uiDevice->m_ShowTrayIcon, uiDevice); connect(uiDevice, SIGNAL(showNotificationRequested(libnutcommon::DeviceState)), this, SLOT(showStateNotification(libnutcommon::DeviceState))); connect(uiDevice, SIGNAL(updateTrayIconRequested(libnutcommon::DeviceState)), this, SLOT(updateDeviceIcon())); connect(uiDevice, SIGNAL(showTrayIconRequested(bool)), this, SLOT(setIconVisible(bool))); connect(newTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(handleDeviceIconActivated(QSystemTrayIcon::ActivationReason))); }
int main(int argc, char** argv) { QApplication app(argc, argv); KAboutData about("kdeconnect-cli", i18n("KDE Connect Indicator"), QStringLiteral(KDECONNECT_VERSION_STRING), i18n("KDE Connect Indicator tool"), KAboutLicense::GPL, i18n("(C) 2016 Aleix Pol Gonzalez")); KAboutData::setApplicationData(about); DevicesModel model; model.setDisplayFilter(DevicesModel::Reachable | DevicesModel::Paired); QMenu menu; auto configure = menu.addAction(i18n("Configure...")); QObject::connect(configure, &QAction::triggered, configure, [](){ QProcess::startDetached("kcmshell5", {"kdeconnect"}); }); QSystemTrayIcon systray; systray.setIcon(QIcon::fromTheme("kdeconnect")); systray.setContextMenu(&menu); systray.setVisible(true); QObject::connect(&model, &DevicesModel::rowsInserted, &model, [&menu, &model](const QModelIndex& /*parent*/, int first, int last) { for (int i=first; i<=last; ++i) { DeviceDbusInterface* device = model.getDevice(i); auto indicator = new DeviceIndicator(device); QObject::connect(device, &DeviceDbusInterface::destroyed, indicator, &QObject::deleteLater); menu.addMenu(indicator); } }); QObject::connect(&model, &DevicesModel::rowsChanged, &model, [&systray, &model]() { systray.setToolTip(i18np("%1 device connected", "%1 devices connected", model.rowCount())); }); return app.exec(); }
/*! * \brief main * \param argc * \param argv * \return */ int main(int argc, char* argv[]) { QApplication a(argc, argv); a.setQuitOnLastWindowClosed(false); a.processEvents(); Dialog *d = new Dialog; d->setWindowIcon(QIcon(":/ops.png")); d->show(); QSystemTrayIcon * qsti = new QSystemTrayIcon(d); QMenu *trayIconMenu; QAction *minimizeAction; QAction *restoreAction; QAction *quitAction; minimizeAction = new QAction("Minimize", d); restoreAction = new QAction("Restore", d); quitAction = new QAction("Quit", d); QObject::connect(minimizeAction, SIGNAL(triggered()), d, SLOT(hide())); QObject::connect(restoreAction, SIGNAL(triggered()), d,SLOT(showNormal())); QObject::connect(quitAction, SIGNAL(triggered()), &a, SLOT(quit())); QObject::connect(d, SIGNAL(destroyed()), &a, SLOT(quit())); trayIconMenu = new QMenu(d); trayIconMenu->addAction (minimizeAction); trayIconMenu->addAction (restoreAction); trayIconMenu->addAction (quitAction); qsti->setContextMenu(trayIconMenu); qsti->setIcon(QIcon(":/ops.png")); qsti->show(); QObject::connect(qsti, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), d, SLOT(trayHandle(QSystemTrayIcon::ActivationReason))); return a.exec(); }
ADM_qtray::ADM_qtray(const void* parent) : ADM_tray(parent) { _parent = parent; lastIcon = 0; maxIcons = 12; pixmap = new QIcon[maxIcons]; pixmap[0] = QIcon(QPixmap(xpm_film1)); pixmap[1] = QIcon(QPixmap(xpm_film3)); pixmap[2] = QIcon(QPixmap(xpm_film5)); pixmap[3] = QIcon(QPixmap(xpm_film7)); pixmap[4] = QIcon(QPixmap(xpm_film9)); pixmap[5] = QIcon(QPixmap(xpm_film11)); pixmap[6] = QIcon(QPixmap(xpm_film13)); pixmap[7] = QIcon(QPixmap(xpm_film15)); pixmap[8] = QIcon(QPixmap(xpm_film17)); pixmap[9] = QIcon(QPixmap(xpm_film19)); pixmap[10] = QIcon(QPixmap(xpm_film21)); pixmap[11] = QIcon(QPixmap(xpm_film23)); signalReceiver = new ADM_qtray_signalReceiver(); signalReceiver->parent = (QDialog*)parent; QSystemTrayIcon* trayIcon = new QSystemTrayIcon(pixmap[0], (QObject*)parent); sys = trayIcon; trayIcon->setToolTip("Avidemux"); openAction = new QAction(QT_TR_NOOP("Open Avidemux"), (QObject*)parent); QObject::connect(openAction, SIGNAL(triggered()), signalReceiver, SLOT(restore())); QObject::connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), signalReceiver, SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); trayIconMenu = new QMenu((QWidget*)parent); trayIconMenu->addAction(openAction); trayIcon->setContextMenu(trayIconMenu); trayIcon->show(); }