summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@nokia.com>2010-10-04 17:50:55 +0200
committerTobias Hunger <tobias.hunger@nokia.com>2010-10-05 11:41:41 +0200
commit0a2a28ec47240c1dbf1067b55238f567829495e6 (patch)
treece67680270eb3b1a5918430f11921ffaa4668d20
parent1261e9e17488b0a7cbf35bf6417b8dcde1c7ef01 (diff)
downloadqt-creator-0a2a28ec47240c1dbf1067b55238f567829495e6.tar.gz
Do not allow all WS names in Run-/Deploy-/BuildCOnfigs
Task-number: QTCREATORBUG-2584
-rw-r--r--src/plugins/projectexplorer/buildsettingspropertiespage.cpp34
-rw-r--r--src/plugins/projectexplorer/buildsettingspropertiespage.h1
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.cpp55
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.h3
-rw-r--r--src/plugins/qt4projectmanager/qt4buildconfiguration.cpp1
5 files changed, 64 insertions, 30 deletions
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
index 8b589fc059..3bcf9fcc93 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
@@ -328,6 +328,21 @@ void BuildSettingsWidget::deleteConfiguration()
deleteConfiguration(m_buildConfiguration);
}
+QString BuildSettingsWidget::uniqueName(const QString & name)
+{
+ QString result = name.trimmed();
+ if (!result.isEmpty()) {
+ QStringList bcNames;
+ foreach (BuildConfiguration *bc, m_target->buildConfigurations()) {
+ if (bc == m_buildConfiguration)
+ continue;
+ bcNames.append(bc->displayName());
+ }
+ result = Project::makeUnique(result, bcNames);
+ }
+ return result;
+}
+
void BuildSettingsWidget::renameConfiguration()
{
bool ok;
@@ -339,15 +354,10 @@ void BuildSettingsWidget::renameConfiguration()
if (!ok || !this)
return;
- if (!name.isEmpty()) {
- QStringList bcNames;
- foreach (BuildConfiguration *bc, m_target->buildConfigurations()) {
- if (bc == m_buildConfiguration)
- continue;
- bcNames.append(bc->displayName());
- }
- name = Project::makeUnique(name, bcNames);
- }
+ name = uniqueName(name);
+ if (name.isEmpty())
+ return;
+
m_buildConfiguration->setDisplayName(name);
}
@@ -359,15 +369,15 @@ void BuildSettingsWidget::cloneConfiguration(BuildConfiguration *sourceConfigura
return;
//: Title of a the cloned BuildConfiguration window, text of the window
- QString newDisplayName(QInputDialog::getText(this, tr("Clone Configuration"), tr("New configuration name:")));
- if (newDisplayName.isEmpty())
+ QString name = uniqueName(QInputDialog::getText(this, tr("Clone Configuration"), tr("New configuration name:")));
+ if (name.isEmpty())
return;
BuildConfiguration * bc(m_target->buildConfigurationFactory()->clone(m_target, sourceConfiguration));
if (!bc)
return;
- bc->setDisplayName(newDisplayName);
+ bc->setDisplayName(name);
m_target->addBuildConfiguration(bc);
updateBuildSettings();
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.h b/src/plugins/projectexplorer/buildsettingspropertiespage.h
index 16af2ba606..9b560bb1c3 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.h
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.h
@@ -107,6 +107,7 @@ private slots:
private:
void cloneConfiguration(BuildConfiguration *toClone);
void deleteConfiguration(BuildConfiguration *toDelete);
+ QString uniqueName(const QString & name);
Target *m_target;
BuildConfiguration *m_buildConfiguration;
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index b0d15b9c64..c2bcd078f5 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -293,15 +293,10 @@ void RunSettingsWidget::renameRunConfiguration()
if (!ok || !this)
return;
- if (!name.isEmpty()) {
- QStringList rcNames;
- foreach (RunConfiguration *rc, m_target->runConfigurations()) {
- if (rc == m_target->activeRunConfiguration())
- continue;
- rcNames.append(rc->displayName());
- }
- name = Project::makeUnique(name, rcNames);
- }
+ name = uniqueRCName(name);
+ if (name.isEmpty())
+ return;
+
m_target->activeRunConfiguration()->setDisplayName(name);
}
@@ -393,15 +388,9 @@ void RunSettingsWidget::renameDeployConfiguration()
if (!ok || !this)
return;
- if (!name.isEmpty()) {
- QStringList dcNames;
- foreach (DeployConfiguration *dc, m_target->deployConfigurations()) {
- if (dc == m_target->activeDeployConfiguration())
- continue;
- dcNames.append(dc->displayName());
- }
- name = Project::makeUnique(name, dcNames);
- }
+ name = uniqueDCName(name);
+ if (name.isEmpty())
+ return;
m_target->activeDeployConfiguration()->setDisplayName(name);
}
@@ -430,3 +419,33 @@ void RunSettingsWidget::updateDeployConfiguration(DeployConfiguration *dc)
m_deploySteps->init(dc->stepList());
m_deployLayout->addWidget(m_deploySteps);
}
+
+QString RunSettingsWidget::uniqueDCName(const QString &name)
+{
+ QString result = name.trimmed();
+ if (!result.isEmpty()) {
+ QStringList dcNames;
+ foreach (DeployConfiguration *dc, m_target->deployConfigurations()) {
+ if (dc == m_target->activeDeployConfiguration())
+ continue;
+ dcNames.append(dc->displayName());
+ }
+ result = Project::makeUnique(result, dcNames);
+ }
+ return result;
+}
+
+QString RunSettingsWidget::uniqueRCName(const QString &name)
+{
+ QString result = name.trimmed();
+ if (!result.isEmpty()) {
+ QStringList rcNames;
+ foreach (RunConfiguration *rc, m_target->runConfigurations()) {
+ if (rc == m_target->activeRunConfiguration())
+ continue;
+ rcNames.append(rc->displayName());
+ }
+ result = Project::makeUnique(result, rcNames);
+ }
+ return result;
+}
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.h b/src/plugins/projectexplorer/runsettingspropertiespage.h
index f90548c1ea..0117104f70 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.h
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.h
@@ -104,7 +104,10 @@ private slots:
void renameDeployConfiguration();
private:
+ QString uniqueDCName(const QString &name);
+ QString uniqueRCName(const QString &name);
void updateDeployConfiguration(DeployConfiguration *);
+
Target *m_target;
RunConfigurationModel *m_runConfigurationsModel;
DeployConfigurationModel *m_deployConfigurationModel;
diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
index 1b783a7233..c47c6f2d06 100644
--- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
@@ -710,6 +710,7 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target
QLineEdit::Normal,
version->displayName(),
&ok);
+ buildConfigurationName = buildConfigurationName.trimmed();
if (!ok || buildConfigurationName.isEmpty())
return 0;