summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
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 /src/plugins/projectexplorer/buildsettingspropertiespage.cpp
parent1261e9e17488b0a7cbf35bf6417b8dcde1c7ef01 (diff)
downloadqt-creator-0a2a28ec47240c1dbf1067b55238f567829495e6.tar.gz
Do not allow all WS names in Run-/Deploy-/BuildCOnfigs
Task-number: QTCREATORBUG-2584
Diffstat (limited to 'src/plugins/projectexplorer/buildsettingspropertiespage.cpp')
-rw-r--r--src/plugins/projectexplorer/buildsettingspropertiespage.cpp34
1 files changed, 22 insertions, 12 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();