diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index ac67ba9ea31..a4aed71e841 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -2558,6 +2558,16 @@ void ProjectExplorerPlugin::runRunConfiguration(RunConfiguration *rc, emit m_instance->updateRunActions(); } +QList> ProjectExplorerPlugin::runningRunControlProcesses() +{ + QList> processes; + foreach (RunControl *rc, dd->m_outputPane->allRunControls()) { + if (rc->isRunning()) + processes << qMakePair(rc->runnable(), rc->applicationProcessHandle()); + } + return processes; +} + void ProjectExplorerPluginPrivate::projectAdded(Project *pro) { if (m_projectsMode) diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h index 160c9666281..c33830e3f06 100644 --- a/src/plugins/projectexplorer/projectexplorer.h +++ b/src/plugins/projectexplorer/projectexplorer.h @@ -52,6 +52,7 @@ class Project; class Node; class FolderNode; class FileNode; +class ProcessHandle; namespace Internal { class ProjectExplorerSettings; } @@ -139,6 +140,7 @@ public: static void runStartupProject(Core::Id runMode, bool forceSkipDeploy = false); static void runRunConfiguration(RunConfiguration *rc, Core::Id runMode, const bool forceSkipDeploy = false); + static QList> runningRunControlProcesses(); static void addExistingFiles(FolderNode *folderNode, const QStringList &filePaths);