summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcon <qtc-committer@nokia.com>2010-02-12 15:15:57 +0100
committercon <qtc-committer@nokia.com>2010-02-12 16:23:51 +0100
commit5f151d69e3e47961be659c6f258c9db190a6ac2b (patch)
tree8260fae79581b04af1b7c0a13c32956aa7eca551 /src
parentb03ab1d704cad3df066635e1e3e338d414d7038e (diff)
downloadqt-creator-5f151d69e3e47961be659c6f258c9db190a6ac2b.tar.gz
Add "make active" buttons, as replacement for the link.
Diffstat (limited to 'src')
-rw-r--r--src/plugins/projectexplorer/buildsettingspropertiespage.cpp37
-rw-r--r--src/plugins/projectexplorer/buildsettingspropertiespage.h5
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.cpp32
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.h8
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.ui11
5 files changed, 74 insertions, 19 deletions
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
index 10f11d34aa..4727f07485 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
@@ -173,6 +173,13 @@ void BuildSettingsWidget::setupUi()
m_removeButton->setText(tr("Remove"));
m_removeButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
hbox->addWidget(m_removeButton);
+
+ m_makeActiveButton = new QPushButton(this);
+ m_makeActiveButton->setText(tr("Make Active"));
+ m_makeActiveButton->setToolTip(tr("Sets this build configuration to be used for this target."));
+ m_makeActiveButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ hbox->addWidget(m_makeActiveButton);
+
hbox->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed));
vbox->addLayout(hbox);
}
@@ -185,12 +192,15 @@ void BuildSettingsWidget::setupUi()
connect(m_removeButton, SIGNAL(clicked()),
this, SLOT(deleteConfiguration()));
+ connect(m_makeActiveButton, SIGNAL(clicked()),
+ this, SLOT(makeActive()));
+
// TODO update on displayNameChange
// connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(const QString &)),
// this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
connect(m_target, SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)),
- this, SLOT(updateConfigurationComboBoxLabels()));
+ this, SLOT(updateActiveConfiguration()));
connect(m_target, SIGNAL(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)),
this, SLOT(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)));
@@ -324,6 +334,9 @@ void BuildSettingsWidget::currentIndexChanged(int index)
void BuildSettingsWidget::currentBuildConfigurationChanged()
{
+ m_makeActiveButton->setEnabled(m_buildConfiguration
+ && m_buildConfiguration != m_target->activeBuildConfiguration());
+
if (!m_buildConfiguration)
return;
@@ -341,12 +354,14 @@ void BuildSettingsWidget::currentBuildConfigurationChanged()
}
}
-void BuildSettingsWidget::updateConfigurationComboBoxLabels()
+void BuildSettingsWidget::updateActiveConfiguration()
{
for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>();
m_buildConfigurationComboBox->setItemText(i, buildConfigurationItemName(bc));
}
+ m_makeActiveButton->setEnabled(currentBuildConfiguration()
+ && currentBuildConfiguration() != m_target->activeBuildConfiguration());
}
QString BuildSettingsWidget::buildConfigurationItemName(const BuildConfiguration *bc) const
@@ -356,6 +371,11 @@ QString BuildSettingsWidget::buildConfigurationItemName(const BuildConfiguration
return bc->displayName();
}
+BuildConfiguration *BuildSettingsWidget::currentBuildConfiguration() const {
+ const int index = m_buildConfigurationComboBox->currentIndex();
+ return m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
+}
+
void BuildSettingsWidget::createConfiguration()
{
if (!m_target->buildConfigurationFactory())
@@ -372,16 +392,17 @@ void BuildSettingsWidget::createConfiguration()
void BuildSettingsWidget::cloneConfiguration()
{
- const int index = m_buildConfigurationComboBox->currentIndex();
- BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
- cloneConfiguration(bc);
+ cloneConfiguration(currentBuildConfiguration());
}
void BuildSettingsWidget::deleteConfiguration()
{
- const int index = m_buildConfigurationComboBox->currentIndex();
- BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
- deleteConfiguration(bc);
+ deleteConfiguration(currentBuildConfiguration());
+}
+
+void BuildSettingsWidget::makeActive()
+{
+ m_target->setActiveBuildConfiguration(currentBuildConfiguration());
}
void BuildSettingsWidget::cloneConfiguration(BuildConfiguration *sourceConfiguration)
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.h b/src/plugins/projectexplorer/buildsettingspropertiespage.h
index cb5c741117..807301759a 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.h
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.h
@@ -101,23 +101,26 @@ private slots:
void createConfiguration();
void cloneConfiguration();
void deleteConfiguration();
+ void makeActive();
void updateAddButtonMenu();
void addedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
void removedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
void buildConfigurationDisplayNameChanged();
- void updateConfigurationComboBoxLabels();
+ void updateActiveConfiguration();
private:
void cloneConfiguration(BuildConfiguration *toClone);
void deleteConfiguration(BuildConfiguration *toDelete);
QString buildConfigurationItemName(const BuildConfiguration *bc) const;
+ BuildConfiguration *currentBuildConfiguration() const;
Target *m_target;
BuildConfiguration *m_buildConfiguration;
QPushButton *m_addButton;
QPushButton *m_removeButton;
+ QPushButton *m_makeActiveButton;
QComboBox *m_buildConfigurationComboBox;
QMenu *m_addButtonMenu;
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index c82b676840..907583a32b 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -229,9 +229,11 @@ RunSettingsWidget::RunSettingsWidget(Target *target)
connect(m_addMenu, SIGNAL(aboutToShow()),
this, SLOT(aboutToShowAddMenu()));
connect(m_ui->runConfigurationCombo, SIGNAL(currentIndexChanged(int)),
- this, SLOT(showRunConfigurationWidget(int)));
+ this, SLOT(currentRunConfigurationChanged(int)));
connect(m_ui->removeToolButton, SIGNAL(clicked(bool)),
this, SLOT(removeRunConfiguration()));
+ connect(m_ui->makeActiveButton, SIGNAL(clicked()),
+ this, SLOT(makeActive()));
connect(m_target, SIGNAL(removedRunConfiguration(ProjectExplorer::RunConfiguration *)),
this, SLOT(initRunConfigurationComboBox()));
@@ -285,6 +287,15 @@ void RunSettingsWidget::aboutToShowAddMenu()
}
}
+RunConfiguration *RunSettingsWidget::currentRunConfiguration() const
+{
+ RunConfiguration *currentSelection = 0;
+ const int index = m_ui->runConfigurationCombo->currentIndex();
+ if (index >= 0)
+ currentSelection = m_runConfigurationsModel->runConfigurations().at(index);
+ return currentSelection;
+}
+
void RunSettingsWidget::addRunConfiguration()
{
QAction *act = qobject_cast<QAction *>(sender());
@@ -303,20 +314,22 @@ void RunSettingsWidget::addRunConfiguration()
void RunSettingsWidget::removeRunConfiguration()
{
- int index = m_ui->runConfigurationCombo->currentIndex();
- RunConfiguration *rc = m_runConfigurationsModel->runConfigurations().at(index);
+ RunConfiguration *rc = currentRunConfiguration();
disconnect(rc, SIGNAL(displayNameChanged()), this, SLOT(displayNameChanged()));
m_target->removeRunConfiguration(rc);
initRunConfigurationComboBox();
}
+void RunSettingsWidget::makeActive()
+{
+ m_target->setActiveRunConfiguration(currentRunConfiguration());
+}
+
void RunSettingsWidget::initRunConfigurationComboBox()
{
const QList<RunConfiguration *> &runConfigurations = m_target->runConfigurations();
RunConfiguration *activeRunConfiguration = m_target->activeRunConfiguration();
- RunConfiguration *currentSelection = 0;
- if (m_ui->runConfigurationCombo->currentIndex() >= 0)
- currentSelection = m_runConfigurationsModel->runConfigurations().at(m_ui->runConfigurationCombo->currentIndex());
+ RunConfiguration *currentSelection = currentRunConfiguration();
m_runConfigurationsModel->setRunConfigurations(runConfigurations);
if (runConfigurations.contains(currentSelection))
@@ -330,10 +343,15 @@ void RunSettingsWidget::initRunConfigurationComboBox()
void RunSettingsWidget::activeRunConfigurationChanged()
{
m_runConfigurationsModel->activeRunConfigurationChanged(m_target->activeRunConfiguration());
+ m_ui->makeActiveButton->setEnabled(currentRunConfiguration()
+ && currentRunConfiguration() != m_target->activeRunConfiguration());
}
-void RunSettingsWidget::showRunConfigurationWidget(int index)
+void RunSettingsWidget::currentRunConfigurationChanged(int index)
{
+ m_ui->makeActiveButton->setEnabled(currentRunConfiguration()
+ && currentRunConfiguration() != m_target->activeRunConfiguration());
+
if (index == -1) {
delete m_runConfigurationWidget;
m_runConfigurationWidget = 0;
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.h b/src/plugins/projectexplorer/runsettingspropertiespage.h
index 869182111b..1957cf2db7 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.h
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.h
@@ -40,6 +40,9 @@ class QLabel;
QT_END_NAMESPACE
namespace ProjectExplorer {
+
+class RunConfiguration;
+
namespace Internal {
const char * const RUNSETTINGS_PANEL_ID("ProjectExplorer.RunSettingsPanel");
@@ -85,14 +88,17 @@ public:
~RunSettingsWidget();
private slots:
- void showRunConfigurationWidget(int index);
+ void currentRunConfigurationChanged(int index);
void aboutToShowAddMenu();
void addRunConfiguration();
void removeRunConfiguration();
+ void makeActive();
void displayNameChanged();
void initRunConfigurationComboBox();
void activeRunConfigurationChanged();
private:
+ RunConfiguration *currentRunConfiguration() const;
+
Target *m_target;
RunConfigurationsModel *m_runConfigurationsModel;
Ui::RunSettingsPropertiesPage *m_ui;
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.ui b/src/plugins/projectexplorer/runsettingspropertiespage.ui
index 8c4aec3e78..4a3706552e 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.ui
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>437</width>
- <height>25</height>
+ <width>442</width>
+ <height>32</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
@@ -63,6 +63,13 @@
</widget>
</item>
<item>
+ <widget class="QPushButton" name="makeActiveButton">
+ <property name="text">
+ <string>Make Active</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>