aheinecke@0: #include "mainwindow.h" aheinecke@0: aheinecke@0: #include aheinecke@0: #include aheinecke@0: #include aheinecke@0: #include aheinecke@0: #include aheinecke@0: #include aheinecke@0: aheinecke@0: MainWindow::MainWindow() { aheinecke@0: createActions(); aheinecke@0: createTrayIcon(); aheinecke@0: aheinecke@0: connect(mTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), aheinecke@0: this, SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); aheinecke@0: } aheinecke@0: aheinecke@0: void MainWindow::iconActivated(QSystemTrayIcon::ActivationReason reason) aheinecke@0: { aheinecke@0: showMessage(); aheinecke@0: qDebug() << "Activated for reason: " << reason; aheinecke@0: switch (reason) { aheinecke@0: case QSystemTrayIcon::Trigger: aheinecke@0: case QSystemTrayIcon::DoubleClick: aheinecke@0: case QSystemTrayIcon::MiddleClick: aheinecke@0: showMessage(); aheinecke@0: break; aheinecke@0: default: aheinecke@0: ; aheinecke@0: } aheinecke@0: } aheinecke@0: aheinecke@0: void MainWindow::showMessage() aheinecke@0: { aheinecke@0: mTrayIcon->showMessage("Hello", "World", QSystemTrayIcon::Information, aheinecke@0: 10000); aheinecke@0: } aheinecke@0: void MainWindow::manualCheck() aheinecke@0: { aheinecke@0: QMessageBox::information(0, "Yay", aheinecke@0: "It Woarx.\n"); aheinecke@0: } aheinecke@0: aheinecke@0: void MainWindow::createActions() aheinecke@0: { aheinecke@0: mCheckUpdates = new QAction(tr("Check for Updates"), this); aheinecke@0: connect(mCheckUpdates, SIGNAL(triggered()), this, SLOT(manualCheck())); aheinecke@0: } aheinecke@0: aheinecke@0: void MainWindow::createTrayIcon() aheinecke@0: { aheinecke@0: QIcon trayImg = QIcon(":/img/tray_22.png"); aheinecke@0: aheinecke@0: qDebug() << "Creating tray icon"; aheinecke@0: mTrayMenu = new QMenu(this); aheinecke@0: mTrayMenu->addAction(mCheckUpdates); aheinecke@0: aheinecke@0: mTrayIcon = new QSystemTrayIcon(this); aheinecke@0: mTrayIcon->setContextMenu(mTrayMenu); aheinecke@0: aheinecke@0: mTrayIcon->setIcon(trayImg); aheinecke@0: setWindowIcon(trayImg); aheinecke@0: mTrayIcon->show(); aheinecke@0: mTrayIcon->setToolTip(tr("m13ui")); aheinecke@0: showMessage(); aheinecke@0: }