void radeon_profile::setupTrayIcon() { trayMenu = new QMenu(this); setWindowState(Qt::WindowMinimized); //close // closeApp = new QAction(trayMenu); closeApp->setText(tr("Quit")); connect(closeApp,SIGNAL(triggered()),this,SLOT(closeFromTray())); // standard profiles changeProfile = new QAction(trayMenu); changeProfile->setText(tr("Change standard profile")); connect(changeProfile,SIGNAL(triggered()),this,SLOT(on_chProfile_clicked())); // refresh when hidden refreshWhenHidden = new QAction(trayMenu); refreshWhenHidden->setCheckable(true); refreshWhenHidden->setChecked(true); refreshWhenHidden->setText(tr("Keep refreshing when hidden")); // dpm menu // dpmMenu = new QMenu(this); dpmMenu->setTitle(tr("DPM")); dpmSetBattery = new QAction(dpmMenu); dpmSetBalanced = new QAction(dpmMenu); dpmSetPerformance = new QAction(dpmMenu); dpmSetBattery->setText(tr("Battery")); dpmSetBattery->setIcon(QIcon(":/icon/symbols/arrow1.png")); dpmSetBalanced->setText(tr("Balanced")); dpmSetBalanced->setIcon(QIcon(":/icon/symbols/arrow2.png")); dpmSetPerformance->setText(tr("Performance")); dpmSetPerformance->setIcon(QIcon(":/icon/symbols/arrow3.png")); connect(dpmSetBattery,SIGNAL(triggered()),this,SLOT(on_btn_dpmBattery_clicked())); connect(dpmSetBalanced,SIGNAL(triggered()),this, SLOT(on_btn_dpmBalanced_clicked())); connect(dpmSetPerformance,SIGNAL(triggered()),this,SLOT(on_btn_dpmPerformance_clicked())); dpmMenu->addAction(dpmSetBattery); dpmMenu->addAction(dpmSetBalanced); dpmMenu->addAction(dpmSetPerformance); dpmMenu->addSeparator(); dpmMenu->addMenu(forcePowerMenu); // add stuff above to menu // trayMenu->addAction(refreshWhenHidden); trayMenu->addSeparator(); trayMenu->addAction(changeProfile); trayMenu->addMenu(dpmMenu); trayMenu->addSeparator(); trayMenu->addAction(closeApp); // setup icon finally // QIcon appicon(":/icon/extra/radeon-profile.png"); trayIcon = new QSystemTrayIcon(appicon,this); trayIcon->show(); trayIcon->setContextMenu(trayMenu); connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); }
/*! * \brief Software entry point. * \param[in] argc Number of arguments. * \param[in] argv Arguments. * \return Execution status. */ int main(int argc, char *argv[]) { QApplication a(argc, argv); // Set application info. qApp->setOrganizationName("DKrepsky"); qApp->setOrganizationDomain("dkrepsky.blogspot.com.br"); qApp->setApplicationName("QuickFlow"); qApp->setApplicationVersion(version); QSplashScreen *splash = new QSplashScreen(); // Load splash screen if arg -nosplash is not present. if(!QApplication::arguments().contains("-nosplash")) { QPixmap pixmap(qApp->applicationDirPath() + QDir::separator() + "images" + QDir::separator() + "splash.png"); splash->setPixmap(pixmap); splash->show(); splash->showMessage(QString("Version: ") + version, Qt::AlignBottom | Qt::AlignRight); qApp->processEvents(); } // Load and configure main window. QuickFlow w; QIcon appicon(qApp->applicationDirPath() + QDir::separator() + "images" + QDir::separator() + "appicon.png"); qApp->setWindowIcon(appicon); w.setWindowIcon(appicon); // Show mainWindow. if(!QApplication::arguments().contains("-nosplash")) { // Close splash screen and open main windows after 2500 msec. QTimer::singleShot(2500, splash, SLOT(close())); QTimer::singleShot(2500, &w, SLOT(show())); } else { // Show it right way. w.show(); } // Process application messages. return a.exec(); }