void ActionString::triggeredString_Slot() { emit triggeredString( m_string); }
/* void ListJobs::v_connectionLost() { if( m_parentWindow != (QWidget*)Watch::getDialog()) m_parentWindow->close(); } */ void ListJobs::contextMenuEvent( QContextMenuEvent *event) { QMenu menu(this); QMenu * submenu; QAction *action; ItemJob* jobitem = (ItemJob*)getCurrentItem(); if( jobitem == NULL ) return; int selectedItemsCount = getSelectedItemsCount(); if( jobitem->folders.size()) { if( af::Environment::hasRULES()) { action = new QAction("Open RULES", this); connect( action, SIGNAL( triggered() ), this, SLOT( actOpenRULES() )); menu.addAction( action); menu.addSeparator(); } submenu = new QMenu("Folders", this); QMapIterator<QString,QString> it( jobitem->folders); while( it.hasNext()) { it.next(); action = new QAction( QString("\"") + it.key() + "\":", this); action->setEnabled( false); submenu->addAction( action); ActionString * action_str = new ActionString( it.value(), it.value(), this); connect( action_str, SIGNAL( triggeredString(QString) ), this, SLOT( actBrowseFolder(QString) )); submenu->addAction( action_str); } menu.addMenu( submenu); menu.addSeparator(); } action = new QAction( "Show Log", this); connect( action, SIGNAL( triggered() ), this, SLOT( actRequestLog() )); menu.addAction( action); action = new QAction( "Show Error Hosts", this); connect( action, SIGNAL( triggered() ), this, SLOT( actRequestErrorHostsList() )); menu.addAction( action); action = new QAction( "Reset Error Hosts", this); connect( action, SIGNAL( triggered() ), this, SLOT( actResetErrorHosts() )); menu.addAction( action); action = new QAction( "Restart Error Tasks", this); connect( action, SIGNAL( triggered() ), this, SLOT( actRestartErrors() )); if( selectedItemsCount == 1) action->setEnabled( jobitem->state & AFJOB::STATE_ERROR_MASK); menu.addAction( action); menu.addSeparator(); submenu = new QMenu("Start/Stop/Restart", this); menu.addMenu( submenu); action = new QAction( "Restart Running Tasks", this); connect( action, SIGNAL( triggered() ), this, SLOT( actRestartRunning() )); if( selectedItemsCount == 1) action->setEnabled( jobitem->state & AFJOB::STATE_RUNNING_MASK); submenu->addAction( action); action = new QAction( "Restart Skipped Tasks", this); connect( action, SIGNAL( triggered() ), this, SLOT( actRestartSkipped() )); if( selectedItemsCount == 1) action->setEnabled( jobitem->state & AFJOB::STATE_SKIPPED_MASK); submenu->addAction( action); action = new QAction( "Restart Done Tasks", this); connect( action, SIGNAL( triggered() ), this, SLOT( actRestartDone() )); submenu->addAction( action); menu.addSeparator(); action = new QAction("Start Job", this); connect( action, SIGNAL( triggered() ), this, SLOT( actStart() )); if( selectedItemsCount == 1) action->setEnabled( jobitem->state & AFJOB::STATE_OFFLINE_MASK); submenu->addAction( action); action = new QAction("Pause Job", this); connect( action, SIGNAL( triggered() ), this, SLOT( actPause() )); if( selectedItemsCount == 1) action->setEnabled( false == (jobitem->state & AFJOB::STATE_OFFLINE_MASK)); submenu->addAction( action); action = new QAction("Stop Job", this); connect( action, SIGNAL( triggered() ), this, SLOT( actStop() )); if( selectedItemsCount == 1) action->setEnabled( jobitem->state & AFJOB::STATE_RUNNING_MASK); submenu->addAction( action); action = new QAction("Restart Job", this); connect( action, SIGNAL( triggered() ), this, SLOT( actRestart() )); if( selectedItemsCount == 1) action->setEnabled(( jobitem->time_started != 0 ) || ( jobitem->state & AFJOB::STATE_SKIPPED_MASK )); submenu->addAction( action); action = new QAction("Restart&&Pause", this); connect( action, SIGNAL( triggered() ), this, SLOT( actRestartPause() )); if( selectedItemsCount == 1) action->setEnabled(( jobitem->time_started != 0 ) || ( jobitem->state & AFJOB::STATE_SKIPPED_MASK )); submenu->addAction( action); menu.addSeparator(); if( af::Environment::VISOR() == false) { action = new QAction( "Move Up", this); connect( action, SIGNAL( triggered() ), this, SLOT( actMoveUp() )); menu.addAction( action); action = new QAction( "Move Down", this); connect( action, SIGNAL( triggered() ), this, SLOT( actMoveDown() )); menu.addAction( action); action = new QAction( "Move Top", this); connect( action, SIGNAL( triggered() ), this, SLOT( actMoveTop() )); menu.addAction( action); action = new QAction( "Move Bottom", this); connect( action, SIGNAL( triggered() ), this, SLOT( actMoveBottom() )); menu.addAction( action); } else { action = new QAction("Change Owner", this); connect( action, SIGNAL( triggered() ), this, SLOT( actSetUser() )); menu.addAction( action); } menu.addSeparator(); submenu = new QMenu( "Set Parameter", this); action = new QAction( "Max Running Tasks", this); connect( action, SIGNAL( triggered() ), this, SLOT( actMaxRunningTasks() )); submenu->addAction( action); action = new QAction( "Max Run Tasks Per Host", this); connect( action, SIGNAL( triggered() ), this, SLOT( actMaxRunTasksPerHost() )); submenu->addAction( action); action = new QAction( "Hosts Mask", this); connect( action, SIGNAL( triggered() ), this, SLOT( actHostsMask() )); submenu->addAction( action); action = new QAction( "Hosts Exclude Mask", this); connect( action, SIGNAL( triggered() ), this, SLOT( actHostsMaskExclude() )); submenu->addAction( action); if(( af::Environment::VISOR()) || ( af::Environment::getPermUserModJobPriority())) { action = new QAction( "Priority", this); connect( action, SIGNAL( triggered() ), this, SLOT( actPriority() )); submenu->addAction( action); } action = new QAction( "Depend Mask", this); connect( action, SIGNAL( triggered() ), this, SLOT( actDependMask() )); submenu->addAction( action); action = new QAction( "Global Depend Mask", this); connect( action, SIGNAL( triggered() ), this, SLOT( actDependMaskGlobal() )); submenu->addAction( action); action = new QAction( "Wait Time", this); connect( action, SIGNAL( triggered() ), this, SLOT( actWaitTime() )); submenu->addAction( action); action = new QAction( "Preview Approval", this); connect( action, SIGNAL( triggered() ), this, SLOT( actPreviewApproval() )); submenu->addAction( action); action = new QAction( "No Preview Approval", this); connect( action, SIGNAL( triggered() ), this, SLOT( actNoPreviewApproval() )); submenu->addAction( action); action = new QAction( "OS Needed", this); connect( action, SIGNAL( triggered() ), this, SLOT( actNeedOS() )); submenu->addAction( action); action = new QAction( "Properties Needed", this); connect( action, SIGNAL( triggered() ), this, SLOT( actNeedProperties() )); submenu->addAction( action); action = new QAction( "Post Command", this); connect( action, SIGNAL( triggered() ), this, SLOT( actPostCommand() )); submenu->addAction( action); action = new QAction( "Life Time", this); connect( action, SIGNAL( triggered() ), this, SLOT( actLifeTime() )); submenu->addAction( action); submenu->addSeparator(); action = new QAction( "Hidden", this); connect( action, SIGNAL( triggered() ), this, SLOT( actSetHidden() )); submenu->addAction( action); action = new QAction( "Not Hidden", this); connect( action, SIGNAL( triggered() ), this, SLOT( actUnsetHidden() )); submenu->addAction( action); submenu->addSeparator(); action = new QAction( "Annotation", this); connect( action, SIGNAL( triggered() ), this, SLOT( actAnnotate() )); submenu->addAction( action); action = new QAction( "Custom Data", this); connect( action, SIGNAL( triggered() ), this, SLOT( actCustomData() )); submenu->addAction( action); menu.addMenu( submenu); menu.addSeparator(); if( selectedItemsCount == 1) { if( jobitem->getBlocksNum() > 1) { submenu = new QMenu( "Tasks Blocks", this); for( int b = -1; b < jobitem->getBlocksNum(); b++) { QMenu * subsubmenu = new QMenu( b == -1 ? QString("_to_all_") : jobitem->getBlockName(b), this); jobitem->generateMenu( b, subsubmenu , this); submenu->addMenu( subsubmenu); } } else { submenu = new QMenu( "Tasks Block", this); jobitem->generateMenu( 0, submenu, this); } } else { submenu = new QMenu( "All Selected Blocks", this); jobitem->generateMenu( -1, submenu, this); } menu.addMenu( submenu); menu.addSeparator(); action = new QAction( "Listen", this); connect( action, SIGNAL( triggered() ), this, SLOT( actListenJob() )); menu.addAction( action); menu.addSeparator(); // System job ID is 1, and can not be deleted if( jobitem->getId() != 1 ) { action = new QAction( "Delete All Done", this); connect( action, SIGNAL( triggered() ), this, SLOT( actDeleteDone())); menu.addAction( action); action = new QAction( "Delete", this); connect( action, SIGNAL( triggered() ), this, SLOT( actDelete())); menu.addAction( action); } menu.exec(event->globalPos()); }
HoI4::Event::Event(const std::string& theType, std::istream& theStream): type(theType) { registerKeyword(std::regex("id"), [this](const std::string& unused, std::istream& theStream) { commonItems::singleString idString(theStream); id = idString.getString(); } ); registerKeyword(std::regex("title"), [this](const std::string& unused, std::istream& theStream) { commonItems::singleString titleString(theStream); title = titleString.getString(); } ); registerKeyword(std::regex("desc"), [this](const std::string& unused, std::istream& theStream) { commonItems::stringOfItem descriptionString(theStream); descriptions.push_back("desc " + descriptionString.getString()); } ); registerKeyword(std::regex("picture"), [this](const std::string& unused, std::istream& theStream) { commonItems::singleString pictureString(theStream); picture = pictureString.getString(); } ); registerKeyword(std::regex("major"), [this](const std::string& unused, std::istream& theStream) { commonItems::singleString majorString(theStream); majorEvent = (majorString.getString() == "yes"); } ); registerKeyword(std::regex("is_triggered_only"), [this](const std::string& unused, std::istream& theStream) { commonItems::singleString triggeredString(theStream); triggeredOnly = (triggeredString.getString() == "yes"); } ); registerKeyword(std::regex("hidden"), [this](const std::string& unused, std::istream& theStream) { commonItems::singleString hiddenString(theStream); hidden = (hiddenString.getString() == "yes"); } ); registerKeyword(std::regex("trigger"), [this](const std::string& unused, std::istream& theStream) { commonItems::stringOfObject triggerString(theStream); trigger = triggerString.getString(); } ); registerKeyword(std::regex("mean_time_to_happen"), [this](const std::string& unused, std::istream& theStream) { commonItems::stringOfObject MTTHString(theStream); meanTimeToHappen = MTTHString.getString(); } ); registerKeyword(std::regex("immediate"), [this](const std::string& unused, std::istream& theStream) { commonItems::stringOfObject immediateString(theStream); immediate = immediateString.getString(); } ); registerKeyword(std::regex("option"), [this](const std::string& unused, std::istream& theStream) { commonItems::stringOfObject optionString(theStream); options.push_back(optionString.getString()); } ); parseStream(theStream); }
void Dialog::contextMenuEvent(QContextMenuEvent *event) { QMenu menu(this); QAction *action; QMenu * submenu; submenu = new QMenu( "Choose Theme", this); QStringList themes = afqt::QEnvironment::getThemes(); for( int i = 0; i < themes.size(); i++) { ActionString * action_str = new ActionString( themes[i], themes[i], this); action_str->setCheckable( true); action_str->setChecked( afqt::QEnvironment::theme.str == themes[i]); connect( action_str, SIGNAL( triggeredString(QString)), this, SLOT( actGuiTheme(QString))); submenu->addAction( action_str); } menu.addMenu( submenu); action = new QAction( "Customize GUI...", this); connect( action, SIGNAL( triggered() ), this, SLOT( actColors() )); menu.addAction( action); action = new QAction( "Notifications...", this); connect( action, SIGNAL( triggered() ), this, SLOT( actNotifications() )); menu.addAction( action); menu.addSeparator(); submenu = new QMenu( "Preferences", this); action = new QAction( "Save Prefs on Exit", this); action->setCheckable( true); action->setChecked( afqt::QEnvironment::savePrefsOnExit.n != 0); connect( action, SIGNAL( triggered() ), this, SLOT( actSavePreferencesOnExit() )); submenu->addAction( action); submenu->addSeparator(); action = new QAction( "Save GUI", this); action->setCheckable( true); action->setChecked( afqt::QEnvironment::saveGUIOnExit.n != 0); connect( action, SIGNAL( triggered() ), this, SLOT( actSaveGUIOnExit() )); submenu->addAction( action); action = new QAction( "Save Hotkeys", this); action->setCheckable( true); action->setChecked( afqt::QEnvironment::saveHotkeysOnExit.n != 0); connect( action, SIGNAL( triggered() ), this, SLOT( actSaveHotkeysOnExit() )); submenu->addAction( action); action = new QAction( "Save Windows Geometry", this); action->setCheckable( true); action->setChecked( afqt::QEnvironment::saveWndRectsOnExit.n != 0); connect( action, SIGNAL( triggered() ), this, SLOT( actSaveWndRectsOnExit() )); submenu->addAction( action); submenu->addSeparator(); action = new QAction( "Show Offline Noise", this); action->setCheckable( true); action->setChecked( afqt::QEnvironment::showOfflineNoise.n != 0); connect( action, SIGNAL( triggered() ), this, SLOT( actShowOfflineNoise() )); submenu->addAction( action); menu.addMenu( submenu); action = new QAction( "Save Preferences", this); connect( action, SIGNAL( triggered() ), this, SLOT( actSavePreferences() )); menu.addAction( action); menu.exec( event->globalPos()); }