コード例 #1
0
ファイル: actionid.cpp プロジェクト: Spudster3/cgru
void ActionString::triggeredString_Slot()
{
	emit triggeredString( m_string);
}
コード例 #2
0
ファイル: listjobs.cpp プロジェクト: code-cg/cgru
/*
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());
}
コード例 #3
0
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);
}
コード例 #4
0
ファイル: dialog.cpp プロジェクト: code-cg/cgru
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());
}