void MainWindow::updateTrayIcon() { QSettings settings; if (bool(m_trayIcon) == settings.value(QLatin1String("ui/main/closeToTray"), false)) return; if (m_trayIcon) { m_trayIcon->hide(); m_trayIcon->deleteLater(); m_trayIcon = 0; } else { m_trayIcon = new QSystemTrayIcon(windowIcon(), this); m_trayIcon->setToolTip(tr("Bluecherry Client")); QMenu *menu = new QMenu(this); menu->setDefaultAction(menu->addAction(tr("Open Bluecherry Client"), this, SLOT(showFront()))); menu->addAction(tr("Quit"), qApp, SLOT(quit())); m_trayIcon->setContextMenu(menu); connect(m_trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); m_trayIcon->show(); } }
Tray::Tray( QWidget * parent, const QString & UserName): QSystemTrayIcon( parent), icon( afqt::stoq( af::Environment::getAfRoot()) + "/icons/talk_tray.png"), icon_msg( afqt::stoq( af::Environment::getAfRoot()) + "/icons/talk_tray_msg.png"), icon_flashing( false), icon_state( false), username( UserName), trayToolTipHeader("afTalk users:") { connect( this, SIGNAL( activated( QSystemTrayIcon::ActivationReason )), this, SLOT( trayActivated( QSystemTrayIcon::ActivationReason ))); QAction * restoreAction = new QAction(tr("&Hide|Raise"), this); connect( restoreAction, SIGNAL( triggered()), parent, SLOT( hideRaiseDialog())); QAction * quitAction = new QAction(tr("&Quit" ), this); connect( quitAction, SIGNAL( triggered()), qApp, SLOT( quit())); QMenu *trayIconMenu = new QMenu( parent); trayIconMenu->addAction( restoreAction); trayIconMenu->addSeparator(); trayIconMenu->addAction( quitAction); setContextMenu(trayIconMenu); timer = new QTimer( this); timer->setInterval( 500); connect( timer, SIGNAL( timeout()), this, SLOT( changeIcon())); setIcon( icon); setToolTip("af Talk"); 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)); }
void WpaGui::createTrayIcon(bool trayOnly) { QApplication::setQuitOnLastWindowClosed(false); tray_icon = new QSystemTrayIcon(this); tray_icon->setToolTip(qAppName() + tr(" - wpa_supplicant user interface")); if (QImageReader::supportedImageFormats().contains(QByteArray("svg"))) tray_icon->setIcon(QIcon(":/icons/wpa_gui.svg")); else tray_icon->setIcon(QIcon(":/icons/wpa_gui.png")); connect(tray_icon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); ackTrayIcon = false; tray_menu = new QMenu(this); disconnectAction = new QAction(tr("&Disconnect"), this); reconnectAction = new QAction(tr("Re&connect"), this); connect(disconnectAction, SIGNAL(triggered()), this, SLOT(disconnect())); connect(reconnectAction, SIGNAL(triggered()), this, SLOT(connectB())); tray_menu->addAction(disconnectAction); tray_menu->addAction(reconnectAction); tray_menu->addSeparator(); eventAction = new QAction(tr("&Event History"), this); scanAction = new QAction(tr("Scan &Results"), this); statAction = new QAction(tr("S&tatus"), this); connect(eventAction, SIGNAL(triggered()), this, SLOT(eventHistory())); connect(scanAction, SIGNAL(triggered()), this, SLOT(scan())); connect(statAction, SIGNAL(triggered()), this, SLOT(showTrayStatus())); tray_menu->addAction(eventAction); tray_menu->addAction(scanAction); tray_menu->addAction(statAction); tray_menu->addSeparator(); showAction = new QAction(tr("&Show Window"), this); hideAction = new QAction(tr("&Hide Window"), this); quitAction = new QAction(tr("&Quit"), this); connect(showAction, SIGNAL(triggered()), this, SLOT(show())); connect(hideAction, SIGNAL(triggered()), this, SLOT(hide())); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); tray_menu->addAction(showAction); tray_menu->addAction(hideAction); tray_menu->addSeparator(); tray_menu->addAction(quitAction); tray_icon->setContextMenu(tray_menu); tray_icon->show(); if (!trayOnly) show(); inTray = trayOnly; }
void MainWindow::createTrayIcon() { _trayIcon = new QSystemTrayIcon(this); _trayIcon->setIcon(QIcon(":/Hussein.ico")); connect(_trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); }
void MainWindow::initApp() { x11 = 0; ui->tabWidget->setDisabled(true); ui->statusBar->addPermanentWidget(ui->progressBar); ui->progressBar->hide(); ui->pushButton->setEnabled(false); ui->queue->setHeaderHidden(false); tray = new QSystemTrayIcon(this); timer.start(); // get a time reference connect(&pkgsrc,SIGNAL(packageOptionsResult(QStringList)),this,SLOT(packageOptions(QStringList))); connect(&pkgsrc,SIGNAL(downloadFinished(int)),this,SLOT(pkgsrcDownloadFinished(int))); connect(&pkgsrc,SIGNAL(downloadStatus(qint64,qint64)),this,SLOT(pkgsrcDownloadStatus(qint64,qint64))); connect(&pkgsrc,SIGNAL(extractFinished(int)),this,SLOT(bootstrapExtractFinished(int))); connect(&pkgsrc,SIGNAL(extractStatus(QString)),this,SLOT(bootstrapExtractRead())); connect(&pkgsrc,SIGNAL(bootstrapFinished(int)),this,SLOT(bootstrapMakeFinished(int))); connect(&pkgsrc,SIGNAL(bootstrapStatus(QString)),this,SLOT(bootstrapMakeRead(QString))); connect(&pkgsrc,SIGNAL(bmakeFinished(int)),this,SLOT(queueFinished(int))); connect(&pkgsrc,SIGNAL(bmakeStatus(QString)),this,SLOT(queueRead(QString))); connect(&pkgsrc,SIGNAL(packageDependsResult(QStringList)),this,SLOT(packageDepends(QStringList))); connect(&pkgsrc,SIGNAL(packagesInstalledResult(QStringList)),this,SLOT(pkgsrcInstalledFinished(QStringList))); connect(&pkgsrc,SIGNAL(packageVersionResult(QString)),this,SLOT(pkgsrcPkgVersionFinished(QString))); connect(&pkgsrc,SIGNAL(packageNameResult(QString)),this,SLOT(pkgsrcPkgNameFinished(QString))); connect(&pkgsrc,SIGNAL(packagesVulnsResult(QStringList)),this,SLOT(pkgsrcPkgVulnCheckFinished(QStringList))); connect(&pkgsrc,SIGNAL(packageRemoveStatus(QString)),this,SLOT(delPackageLog(QString))); connect(&pkgsrc,SIGNAL(packageRemoveResult(int)),this,SLOT(delPackageDone(int))); connect(&pkgsrc,SIGNAL(pkgsrcReady()),this,SLOT(bootstrapCheck())); connect(&work,SIGNAL(updateListResult(QStringList)),this,SLOT(catchUpdates(QStringList))); connect(wiz.ui->save,SIGNAL(clicked()),this,SLOT(startWiz())); QSettings settings; settings.beginGroup("global"); if (settings.value("firstrun").toInt()==1) pkgsrc.initPkgsrc(0,"",0,""); else { this->hide(); wiz.show(); } settings.endGroup(); ui->actionSync->setDisabled(true); // sync can only be used after pkgsrcready and bmake must be blocked connect(tray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(trayActivated())); tray->setIcon(QIcon(":/files/tray.png")); tray->setToolTip("UserPKG"); if (tray->isSystemTrayAvailable()) { tray->show(); } if (tray->isVisible()) { for (int i = 0; i < QApplication::arguments().size(); ++i) { if (QApplication::arguments().at(i).contains("--tray")) this->hide(); } } }
MixerTray::MixerTray() : QSystemTrayIcon(){ starting = true; //Initialize the settings backend settings = new QSettings("TrueOS", "pc-mixer"); //Initialize all the widgets isMuted = false; slider = new QSlider(Qt::Vertical, 0); slider->setRange(0,100); slider->setTickPosition(QSlider::NoTicks); slideA = new QWidgetAction(0); slideA->setDefaultWidget(slider); mute = new QToolButton(0); muteA = new QWidgetAction(0); muteA->setDefaultWidget(mute); mixer = new QToolButton(0); mixer->setText(tr("Mixer")); mixer->setIcon(QIcon(":icons/configure.png")); mixer->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mixerA = new QWidgetAction(0); mixerA->setDefaultWidget(mixer); //Get output devices actionMenu = new QMenu(0); actionMenu->addAction(slideA); actionMenu->addAction(muteA); actionMenu->addSeparator(); soundOutput = new QMenu(tr("Output")); slotFillOutputDevices(); if (soundOutput->actions().size()>1) actionMenu->addMenu(soundOutput); actionMenu->addAction(mixerA); //Now initialize the GUI GUI = new MixerGUI(settings); //Connect the signals/slots connect(this, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated()) ); connect(mixer, SIGNAL(clicked()), this, SLOT(openMixerGUI()) ); connect(mute, SIGNAL(clicked()), this, SLOT(muteClicked()) ); connect(slider, SIGNAL(valueChanged(int)), this, SLOT(sliderChanged(int)) ); connect(GUI, SIGNAL(updateTray()), this, SLOT(loadVol()) ); connect(GUI, SIGNAL(outChanged()), this, SLOT(slotFillOutputDevices()) ); connect(actionMenu, SIGNAL(hovered(QAction*)), this, SLOT(hoverDisable(QAction*)) ); //Show a quick icon to prevent a warning message this->setIcon(QIcon(":icons/audio-volume-high.png")); CVOL = 101; //quick default to maximize it CDIFF = 0; //Make sure no single-instance events for 30 seconds QTimer::singleShot(30000, this, SLOT(doneStarting()) ); QTimer::singleShot(10, this, SLOT(loadVol()) ); //Update the UI //This timer will be fired in doneStarting() timer = new QTimer(); timer->setInterval(500); connect(timer, SIGNAL(timeout()), this, SLOT(loadVol()) ); }
void TimeGuard::setupTray() { trayIcon = new QSystemTrayIcon(programIcon, this); trayIcon->setVisible(true); trayContextMenu = new QMenu(this); trayContextMenu->setStyleSheet("width: 125px"); createActions(); addActions(); trayIcon->setContextMenu(trayContextMenu); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); }
void MainWindow::setupTrayIcon() { #ifndef Q_OS_MAC pTrayIcon = new QSystemTrayIcon(QIcon(":/logo"), this); pTrayIcon->setToolTip("Entomologist"); connect(pTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); pTrayIconMenu = new QMenu(this); pTrayIconMenu->addAction(ui->action_Quit); pTrayIcon->setContextMenu(pTrayIconMenu); pTrayIcon->show(); #endif }
StatusIcon::StatusIcon(QObject *parent) : QObject(parent) { m_tray = new QmmpTrayIcon(this); connect(m_tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); //m_tray->show(); m_core = SoundCore::instance(); m_player = MediaPlayer::instance(); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Tray"); m_showMessage = settings.value("show_message",true).toBool(); m_messageDelay = settings.value("message_delay", 2000).toInt(); m_hideToTray = settings.value("hide_on_close", false).toBool(); m_useStandardIcons = settings.value("use_standard_icons",false).toBool(); m_tooltip = settings.value("show_tooltip",true).toBool(); m_formatter.setPattern("%p%if(%p&%t, - ,)%t"); #ifdef Q_WS_X11 m_tray->showNiceToolTip(m_tooltip); #endif if(m_useStandardIcons) m_tray->setIcon(QApplication::style ()->standardIcon(QStyle::SP_MediaStop)); else m_tray->setIcon(QIcon(":/tray_stop.png")); m_tray->show(); settings.endGroup(); //actions m_menu = new QMenu(); QIcon playIcon = QApplication::style()->standardIcon(QStyle::SP_MediaPlay); QIcon pauseIcon = QApplication::style()->standardIcon(QStyle::SP_MediaPause); QIcon stopIcon = QApplication::style()->standardIcon(QStyle::SP_MediaStop); QIcon nextIcon = QApplication::style()->standardIcon(QStyle::SP_MediaSkipForward); QIcon previousIcon = QApplication::style()->standardIcon(QStyle::SP_MediaSkipBackward); m_menu->addAction(playIcon,tr("Play"), m_player, SLOT(play())); m_menu->addAction(pauseIcon,tr("Pause"), m_core, SLOT(pause())); m_menu->addAction(stopIcon,tr("Stop"), m_core, SLOT(stop())); m_menu->addSeparator(); m_menu->addAction(nextIcon, tr("Next"), m_player, SLOT(next())); m_menu->addAction(previousIcon, tr("Previous"), m_player, SLOT(previous())); m_menu->addSeparator(); m_menu->addAction(tr("Exit"), UiHelper::instance(), SLOT(exit())); m_tray->setContextMenu(m_menu); connect (m_core, SIGNAL(metaDataChanged ()), SLOT(showMetaData())); connect (m_core, SIGNAL(stateChanged (Qmmp::State)), SLOT(setState(Qmmp::State))); setState(m_core->state()); //update state if (m_core->state() == Qmmp::Playing) //show test message QTimer::singleShot(1500, this, SLOT(showMetaData())); }
TrayIcon::TrayIcon(App& app) : app_(app), makeScreenshotAction_("Сделать скриншот", this), updateAction_("Обновить", this), settingsAction_("Настройки", this), historyMenu_("История"), quitAction_("Выход", this) { #ifndef Q_OS_MACOS connect(this, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); #endif connect(&makeScreenshotAction_, SIGNAL(triggered()), this, SLOT(makeScreenshotSlot())); connect(&updateAction_, SIGNAL(triggered()), this, SLOT(updateSlot())); connect(&settingsAction_, SIGNAL(triggered()), this, SLOT(showSettings())); connect(&quitAction_, SIGNAL(triggered()), qApp, SLOT(quit())); #if defined(Q_OS_LINUX) setIcon(QIcon(":/icons/icon-22.png")); #elif defined(Q_OS_WIN32) setIcon(QIcon(":/icons/icon-16.png")); #elif defined(Q_OS_MACOS) setIcon(QIcon(":/icons/icon-22.png")); #endif setToolTip("Screenshotgun"); iconMenu_.addAction(&makeScreenshotAction_); #if defined(Q_OS_WIN32) || defined(Q_OS_MACOS) iconMenu_.addAction(&updateAction_); #endif iconMenu_.addAction(&settingsAction_); iconMenu_.addMenu(&historyMenu_); iconMenu_.addAction(&quitAction_); setContextMenu(&iconMenu_); }
Watcher::Watcher(QObject *parent) : WatcherBase(parent) { watcher = new QFileSystemWatcher(this); trayIconOff = QIcon(":/icons/res_tray_icon_black.png"); trayIconOn = QIcon(":/icons/res_tray_icon_color.png"); trayMenu = new QSystemTrayIcon(this); connect(trayMenu, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); trayIconToOff(); QMenu *trayElements = new QMenu(Global::mainWindow); trayElements->addAction(tr("Show timeline"), this, SLOT(trayActivateApp())); trayElements->addAction(tr("Write a note"), this, SLOT(writeNote())); trayMenu->setContextMenu(trayElements); trayMenu->show(); feeling = new WatcherFeeling(); feeling->setStyleSheet(Global::mainWindow->styleSheet()); }
Qt4TrayIcon::Qt4TrayIcon(QWidget *parent) : Movie(0) { kdebugf(); setIcon(QIcon(docking_manager->defaultPixmap())); connect(docking_manager, SIGNAL(trayPixmapChanged(const QIcon&)), this, SLOT(setTrayPixmap(const QIcon&))); connect(docking_manager, SIGNAL(trayTooltipChanged(const QString&)), this, SLOT(setTrayTooltip(const QString&))); connect(docking_manager, SIGNAL(searchingForTrayPosition(QPoint&)), this, SLOT(findTrayPosition(QPoint&))); connect(docking_manager, SIGNAL(trayMovieChanged(const QString &)), this, SLOT(setTrayMovie(const QString &))); connect(this, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); show(); setContextMenu(docking_manager->dockMenu()); docking_manager->setDocked(true); kdebugf2(); }
Qt4TrayIcon::~Qt4TrayIcon() { kdebugf(); if (Movie) { Movie->stop(); Movie->deleteLater(); Movie = 0; } disconnect(docking_manager, SIGNAL(trayMovieChanged(const QString &)), this, SLOT(setTrayMovie(const QString &))); disconnect(docking_manager, SIGNAL(trayPixmapChanged(const QIcon&)), this, SLOT(setTrayPixmap(const QIcon&))); disconnect(docking_manager, SIGNAL(trayTooltipChanged(const QString&)), this, SLOT(setTrayTooltip(const QString&))); disconnect(docking_manager, SIGNAL(searchingForTrayPosition(QPoint&)), this, SLOT(findTrayPosition(QPoint&))); disconnect(this, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); docking_manager->setDocked(false); kdebugf2(); }
statswinimpl::statswinimpl(Hero *h) : QWidget(0,0) { setupUi(this); hero = h; hwin = new herowinimpl(hero); diary = new diarywinimpl(); stayontopToggle(false); connect(hero, SIGNAL(done(QString)), this, SLOT(loginDone(QString))); //трей #ifdef Q_WS_WIN QResource res = QResource("bin/icon.bmp"); #else QResource res = QResource("src/icon_128.png"); #endif QPixmap pix; pix.loadFromData(res.data(), res.size()); QIcon ico = QIcon(pix); tray = new QSystemTrayIcon(ico); tray->setVisible(true); connect(tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); //меню QMenu *menu = new QMenu(); QAction *hideshow = menu->addAction(tr("Скрыть/Показать")); connect(hideshow, SIGNAL(triggered()), this, SLOT(hideshow())); menu->addSeparator(); showmess = menu->addAction(tr("Показывать сообщения")); showmess->setCheckable(true); showmess->setChecked(true); QAction *stayontop = menu->addAction(tr("Поверх всех окон")); stayontop->setCheckable(true); stayontop->setChecked(false); connect(stayontop, SIGNAL(toggled(bool)), this, SLOT(stayontopToggle(bool))); menu->addSeparator(); QAction *herotrbt = menu->addAction(tr("Герой")); connect(herotrbt, SIGNAL(triggered()), this, SLOT(on_btInfo_pressed())); QAction *diarytrbt = menu->addAction(tr("Дневник")); connect(diarytrbt, SIGNAL(triggered()), this, SLOT(on_btDiary_pressed())); menu->addSeparator(); settingsDialog = new Dialog(this); connect(settingsDialog,SIGNAL(accepted()),this,SLOT(updateSettings())); QAction *settingstrbt = menu->addAction(tr("Настройки")); connect(settingstrbt,SIGNAL(triggered()),this,SLOT(settings())); menu->addSeparator(); //settingstrbt->setEnabled(false); QAction *exit = menu->addAction(tr("Выход")); connect(exit, SIGNAL(triggered()), qApp, SLOT(quit())); connect(exit, SIGNAL(triggered()), tray, SLOT(hide())); tray->setContextMenu(menu); //таймер timer = new QTimer(this); timer->start(15000); connect(timer, SIGNAL(timeout()), this, SLOT(update())); mess = new HeroMessager(); QSettings settings("godville.net", "godvilleQT"); restoreGeometry(settings.value("statWinGeometry").toByteArray()); this->setWindowOpacity(settings.value("statWinOp",100).toInt()/100); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), parent(parent), ui(new Ui::MainWindow), trayIcon(new QSystemTrayIcon(this)), trayIconMenu(new QMenu(this)), quitAction(new QAction("Zamknij", this)), restoreAction(new QAction("Przywróć", this)), wiadomosciAction(new QAction("Wiadomości", this)), wyslij(new QAction("Wyślij wiadomość", this)), info(new QAction("Informacje", this)), connection(new Connection(this)) { ui->setupUi(this); ui->Ustawienia_status->setText(QString("Rozłączony")); ui->Ustawienia_wersja->setText(QString("Wersja: ")+VERSION); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); connect (ui->Ustawienia_b_aktualizuj, SIGNAL(clicked()), this, SLOT(aktualizujButtonClicked())); connect (ui->Ustawienia_b_zaloguj, SIGNAL(clicked()), this, SLOT(zalogujButtonClicked())); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(restoreAction, SIGNAL(triggered()), this, SLOT(show())); connect(wiadomosciAction, SIGNAL(triggered()), this, SLOT(showWiadomosciDialog())); connect(ui->Grupy_list, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(setGrupaDane(QListWidgetItem *))); connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(trayMessageClicked())); setIconsAndTray(); trayMessageState.first = QString("INFORMATION"); }
Rekall::Rekall(const QStringList &arguments, QWidget *parent) : QDialog(parent) { trayIconWorking = false; trayIconIndex = 0; trayIconIndexOld = 9999; Global::rekall = this; qApp->setAttribute(Qt::AA_UseHighDpiPixmaps); //Update updateManager = 0; forceUpdate = false; firstTimeOpened = newVersionOfRekall = false; if(arguments.contains("-forceupdate")) forceUpdate = true; //Tray icon trayTimer.setInterval(500); connect(&trayTimer, SIGNAL(timeout()), SLOT(trayIconToOnPrivate())); connect(&trayTimerOff, SIGNAL(timeout()), SLOT(trayIconToOffPrivate())); QString prefix = "mac"; #ifdef Q_OS_WIN prefix = "win"; #endif for(quint16 i = 0 ; i <= 17 ; i++) trayIcons << QIcon(QString(":/icons/rekall-menubar-%1-%2.png").arg(prefix).arg(i, 2, 10, QChar('0'))); trayIcon = new QSystemTrayIcon(this); trayIconToOffPrivate(); trayTimer.start(); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT(trayActivated(QSystemTrayIcon::ActivationReason))); //Interfaces Global::userInfos = new UserInfos(this); Global::http = new Http(this); Analyse *analyse = new Analyse(this); Global::analyse = analyse; connect(analyse, SIGNAL(trayChanged(QString,bool)), SLOT(analyseTrayChanged(QString,bool))); connect(analyse, SIGNAL(trayIconToOff()), SLOT(trayIconToOff())); connect(analyse, SIGNAL(trayIconToOn(qint16)), SLOT(trayIconToOn(qint16))); //Wrapper web Global::userInfos->setDockIcon(this, false); Global::webWrapper = new WebWrapper(); /* VideoPlayer *player = new VideoPlayer(); player->open(QUrl::fromLocalFile("/Users/guillaume/Documents/Rekall/Walden/Captations/captation WALDEN_TPV.mov")); player->seek(4000); */ trayMenu = new QMenu(this); trayMenu->setSeparatorsCollapsible(true); trayAnalyse = trayMenu->addAction(tr("File analysis…")); trayAnalysePause = trayMenu->addAction(tr("Pause analysis")); trayAnalysePause->setCheckable(true); connect(trayAnalysePause, SIGNAL(toggled(bool)), SLOT(trayAnalysePaused())); trayMenu->addSeparator(); trayMenu->addAction(tr("Open welcome page"), this, SLOT(openWebPage())); trayMenu->addAction(tr("Open welcome page in webrowser"), this, SLOT(openWebPageInBrowser())); //trayMenu->addAction(tr("Create a new project"), this, SLOT(addProject())); trayMenu->addSeparator(); trayMenuProjects = trayMenu->addAction(tr("Quit Rekall"), this, SLOT(closeRekall())); trayIcon->setContextMenu(trayMenu); trayIcon->show(); trayIconToOnPrivate(); QSettings settings; quint16 projectCount = settings.beginReadArray("projects"); /* if(projectCount == 0) { addProject(new Project("walden", "Walden", true, QFileInfo("/Users/guillaume/Documents/Rekall/Walden"), this)); addProject(new Project("joris-test", "Joris", false, QFileInfo("/Users/guillaume/Documents/Rekall/joris-test"), this)); } */ connect(Global::udp, SIGNAL(outgoingMessage(QString,quint16,QString,QList<QVariant>)), SLOT(incomingMessage(QString,quint16,QString,QList<QVariant>))); for(quint16 projectIndex = 0 ; projectIndex < projectCount ; projectIndex++) { settings.setArrayIndex(projectIndex); Project *project = new Project(settings.value("name").toString(), settings.value("friendlyName").toString(), true, QFileInfo(settings.value("path").toString()), this); addProject(project); } settings.endArray(); //foreach(ProjectInterface *project, Global::projects) // project->load(); //Global settings creation if needed globalSettings = new QSettings(); if((globalSettings) && ((!globalSettings->childKeys().contains("id")) || (arguments.contains("-newuser")))) { firstTimeOpened = true; qsrand(QDateTime::currentDateTime().toTime_t()); updateAnonymousId = QString::number(qrand()); globalSettings->setValue("id", updateAnonymousId); globalSettings->setValue("version", ""); globalSettings->setValue("updatePeriod", 1); globalSettings->setValue("lastUpdate", QDateTime(QDate(2000, 01, 01))); } //Update management if((globalSettings) && (globalSettings->childKeys().contains("id"))) { QDateTime updateLastDate = globalSettings->value("lastUpdate") .toDateTime(); quint16 updatePeriod = globalSettings->value("updatePeriod").toUInt(); updateAnonymousId = globalSettings->value("id") .toString(); QString applicationVersionSettings = globalSettings->value("version").toString(); if(applicationVersionSettings != QCoreApplication::applicationVersion()) { globalSettings->setValue("version", QCoreApplication::applicationVersion()); firstTimeOpened = true; } qDebug("Last update : %s (should update each %d day(s))", qPrintable(updateLastDate.toString("dd/MM/yyyy hh:mm:ss")), updatePeriod); if((updateLastDate.daysTo(QDateTime::currentDateTime()) >= updatePeriod) || (forceUpdate)) checkForUpdates(); } askScreenshot = askAddProject = 0; startTimer(50); if(firstTimeOpened) showMessage(tr("Welcome!\nRekall is now running!")); else showMessage(tr("Rekall is now running!")); if(!arguments.contains("-silent")) openWebPage(); /* QWebView *webView = new QWebView(); webView->load(QUrl("http://127.0.0.1:23411")); webView->show(); */ }