summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
diff options
context:
space:
mode:
authordt <qtc-committer@nokia.com>2009-09-17 13:59:10 +0200
committerdt <qtc-committer@nokia.com>2009-09-17 13:59:10 +0200
commit65648ee17ad1cfc93666b8c4b06fac5c3e6d6fe0 (patch)
treed6e4cd550c85a8532d508abb1eaaca70b97cf280 /src/plugins/projectexplorer/buildsettingspropertiespage.cpp
parentf52077bd81abebea6182420645c97e291cde5af6 (diff)
downloadqt-creator-65648ee17ad1cfc93666b8c4b06fac5c3e6d6fe0.tar.gz
The project pane rewrite version 2.
This splits up the edit and active settings. Let people try it and report usability problems. I'm not 100% convinced of the layout either.
Diffstat (limited to 'src/plugins/projectexplorer/buildsettingspropertiespage.cpp')
-rw-r--r--src/plugins/projectexplorer/buildsettingspropertiespage.cpp44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
index 4d7d2faccb..67e2cea813 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
@@ -122,7 +122,7 @@ QList<QWidget *> BuildSettingsSubWidgets::widgets() const
}
BuildSettingsSubWidgets::BuildSettingsSubWidgets(QWidget *parent)
- : QGroupBox(parent)
+ : QWidget(parent)
{
new QVBoxLayout(this);
}
@@ -141,7 +141,7 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
QVBoxLayout *vbox = new QVBoxLayout(this);
vbox->setContentsMargins(0, -1, 0, -1);
QHBoxLayout *hbox = new QHBoxLayout();
- hbox->addWidget(new QLabel(tr("Build Configuration:"), this));
+ hbox->addWidget(new QLabel(tr("Edit Build Configuration:"), this));
m_buildConfigurationComboBox = new QComboBox(this);
m_buildConfigurationComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
hbox->addWidget(m_buildConfigurationComboBox);
@@ -170,17 +170,14 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
this, SLOT(cloneConfiguration()));
m_addButton->setMenu(addButtonMenu);
+ m_buildConfiguration = m_project->activeBuildConfiguration();
+
connect(m_buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)),
this, SLOT(currentIndexChanged(int)));
- // TODO currentIndexChanged
- // needs to change active configuration
- // and set widgets
-
connect(m_removeButton, SIGNAL(clicked()),
this, SLOT(deleteConfiguration()));
- connect(m_project, SIGNAL(activeBuildConfigurationChanged()),
- this, SLOT(activeBuildConfigurationChanged()));
+
connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(const QString &)),
this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
@@ -189,7 +186,6 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
void BuildSettingsWidget::buildConfigurationDisplayNameChanged(const QString &buildConfiguration)
{
-
for (int i=0; i<m_buildConfigurationComboBox->count(); ++i) {
if (m_buildConfigurationComboBox->itemData(i).toString() == buildConfiguration) {
m_buildConfigurationComboBox->setItemText(i, m_project->displayNameFor(buildConfiguration));
@@ -201,11 +197,10 @@ void BuildSettingsWidget::buildConfigurationDisplayNameChanged(const QString &bu
void BuildSettingsWidget::updateBuildSettings()
{
-
// TODO save position, entry from combbox
// Delete old tree items
- m_buildConfigurationComboBox->blockSignals(true); // TODO ...
+ m_buildConfigurationComboBox->blockSignals(true);
m_buildConfigurationComboBox->clear();
m_subWidgets->clear();
@@ -224,14 +219,12 @@ void BuildSettingsWidget::updateBuildSettings()
m_subWidgets->addWidget(subConfigWidget->displayName(), subConfigWidget);
// Add tree items
- QString activeBuildConfiguration = m_project->activeBuildConfiguration();
foreach (const QString &buildConfiguration, m_project->buildConfigurations()) {
m_buildConfigurationComboBox->addItem(m_project->displayNameFor(buildConfiguration), buildConfiguration);
- if (buildConfiguration == activeBuildConfiguration)
+ if (buildConfiguration == m_buildConfiguration)
m_buildConfigurationComboBox->setCurrentIndex(m_buildConfigurationComboBox->count() - 1);
}
- // TODO ...
m_buildConfigurationComboBox->blockSignals(false);
// TODO Restore position, entry from combbox
@@ -241,22 +234,21 @@ void BuildSettingsWidget::updateBuildSettings()
void BuildSettingsWidget::currentIndexChanged(int index)
{
- QString buildConfiguration = m_buildConfigurationComboBox->itemData(index).toString();
- m_project->setActiveBuildConfiguration(buildConfiguration);
+ m_buildConfiguration = m_buildConfigurationComboBox->itemData(index).toString();
+ activeBuildConfigurationChanged();
}
void BuildSettingsWidget::activeBuildConfigurationChanged()
{
- const QString &activeBuildConfiguration = m_project->activeBuildConfiguration();
for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
- if (m_buildConfigurationComboBox->itemData(i).toString() == activeBuildConfiguration) {
+ if (m_buildConfigurationComboBox->itemData(i).toString() == m_buildConfiguration) {
m_buildConfigurationComboBox->setCurrentIndex(i);
break;
}
}
foreach (QWidget *widget, m_subWidgets->widgets()) {
if (BuildConfigWidget *buildStepWidget = qobject_cast<BuildConfigWidget*>(widget)) {
- buildStepWidget->init(activeBuildConfiguration);
+ buildStepWidget->init(m_buildConfiguration);
}
}
}
@@ -293,7 +285,7 @@ void BuildSettingsWidget::createConfiguration()
m_project->addBuildConfiguration(newBuildConfiguration);
m_project->setDisplayNameFor(newBuildConfiguration, newDisplayName);
m_project->newBuildConfiguration(newBuildConfiguration);
- m_project->setActiveBuildConfiguration(newBuildConfiguration);
+ m_buildConfiguration = newBuildConfiguration;
updateBuildSettings();
}
@@ -344,9 +336,8 @@ void BuildSettingsWidget::cloneConfiguration(const QString &sourceConfiguration)
m_project->copyBuildConfiguration(sourceConfiguration, newBuildConfiguration);
m_project->setDisplayNameFor(newBuildConfiguration, newDisplayName);
+ m_buildConfiguration = newBuildConfiguration;
updateBuildSettings();
-
- m_project->setActiveBuildConfiguration(newBuildConfiguration);
}
void BuildSettingsWidget::deleteConfiguration(const QString &deleteConfiguration)
@@ -363,6 +354,15 @@ void BuildSettingsWidget::deleteConfiguration(const QString &deleteConfiguration
}
}
+ if (m_buildConfiguration == deleteConfiguration) {
+ foreach (const QString &otherConfiguration, m_project->buildConfigurations()) {
+ if (otherConfiguration != deleteConfiguration) {
+ m_buildConfiguration = otherConfiguration;
+ break;
+ }
+ }
+ }
+
m_project->removeBuildConfiguration(deleteConfiguration);
updateBuildSettings();