aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/target.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2018-08-29 13:00:04 +0200
committerhjk <hjk@qt.io>2018-08-30 10:02:33 +0000
commit7c547eba9b04a3d588494f9394abb7bc37868e48 (patch)
tree7561882889fe34301d51e8b85728df6182af96d4 /src/plugins/projectexplorer/target.cpp
parent24cabc6dbbd64e2824b02c969185ef8eee6fba21 (diff)
ProjectExplorer: Add an option for automatic generation of runconfigs
Default to 'on'. Task-number: QTCREATORBUG-18578 Change-Id: Ib430542b00d93138827fe8930db6a4e5a03c014c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/target.cpp')
-rw-r--r--src/plugins/projectexplorer/target.cpp82
1 files changed, 44 insertions, 38 deletions
diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp
index 6baf96ba87..8b87bf525c 100644
--- a/src/plugins/projectexplorer/target.cpp
+++ b/src/plugins/projectexplorer/target.cpp
@@ -25,25 +25,27 @@
#include "target.h"
+#include "buildconfiguration.h"
#include "buildinfo.h"
+#include "buildmanager.h"
#include "buildtargetinfo.h"
+#include "deployconfiguration.h"
#include "deploymentdata.h"
+#include "devicesupport/devicemanager.h"
#include "kit.h"
#include "kitinformation.h"
#include "kitmanager.h"
-#include "buildconfiguration.h"
-#include "deployconfiguration.h"
#include "project.h"
+#include "projectexplorer.h"
+#include "projectexplorericons.h"
+#include "projectexplorersettings.h"
#include "runconfiguration.h"
#include "session.h"
-#include <limits>
#include <coreplugin/coreconstants.h>
-#include <projectexplorer/buildmanager.h>
-#include <projectexplorer/devicesupport/devicemanager.h>
-#include <projectexplorer/projectexplorericons.h>
+
#include <extensionsystem/pluginmanager.h>
-#include <projectexplorer/projectexplorer.h>
+
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
#include <utils/stringutils.h>
@@ -52,6 +54,8 @@
#include <QIcon>
#include <QPainter>
+#include <limits>
+
namespace {
const char ACTIVE_BC_KEY[] = "ProjectExplorer.Target.ActiveBuildConfiguration";
const char BC_KEY_PREFIX[] = "ProjectExplorer.Target.BuildConfiguration.";
@@ -574,41 +578,43 @@ void Target::updateDefaultRunConfigurations()
}
configuredCount -= toRemove.count();
- // Create new "automatic" RCs and put them into newConfigured/newUnconfigured
- foreach (const RunConfigurationCreationInfo &item, creators) {
- if (item.creationMode == RunConfigurationCreationInfo::ManualCreationOnly)
- continue;
- bool exists = false;
- for (const RunConfigurationCreationInfo &ex : existing) {
- if (ex.id == item.id && ex.buildKey == item.buildKey)
- exists = true;
+ bool removeExistingUnconfigured = false;
+ if (ProjectExplorerPlugin::projectExplorerSettings().automaticallyCreateRunConfigurations) {
+ // Create new "automatic" RCs and put them into newConfigured/newUnconfigured
+ foreach (const RunConfigurationCreationInfo &item, creators) {
+ if (item.creationMode == RunConfigurationCreationInfo::ManualCreationOnly)
+ continue;
+ bool exists = false;
+ for (const RunConfigurationCreationInfo &ex : existing) {
+ if (ex.id == item.id && ex.buildKey == item.buildKey)
+ exists = true;
+ }
+ if (exists)
+ continue;
+
+ RunConfiguration *rc = item.create(this);
+ if (!rc)
+ continue;
+ QTC_CHECK(rc->id() == item.id);
+ if (!rc->isConfigured())
+ newUnconfigured << rc;
+ else
+ newConfigured << rc;
}
- if (exists)
- continue;
-
- RunConfiguration *rc = item.create(this);
- if (!rc)
- continue;
- QTC_CHECK(rc->id() == item.id);
- if (!rc->isConfigured())
- newUnconfigured << rc;
- else
- newConfigured << rc;
- }
- configuredCount += newConfigured.count();
+ configuredCount += newConfigured.count();
- // Decide what to do with the different categories:
- bool removeExistingUnconfigured = false;
- if (configuredCount > 0) {
- // new non-Custom Executable RCs were added
- removeExistingUnconfigured = true;
- qDeleteAll(newUnconfigured);
- newUnconfigured.clear();
- } else {
- // no new RCs, use old or new CERCs?
- if (!existingUnconfigured.isEmpty()) {
+ // Decide what to do with the different categories:
+ if (configuredCount > 0) {
+ // new non-Custom Executable RCs were added
+ removeExistingUnconfigured = true;
qDeleteAll(newUnconfigured);
newUnconfigured.clear();
+ } else {
+ // no new RCs, use old or new CERCs?
+ if (!existingUnconfigured.isEmpty()) {
+ qDeleteAll(newUnconfigured);
+ newUnconfigured.clear();
+ }
}
}