aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@nokia.com>2010-03-15 10:52:18 +0100
committerTobias Hunger <tobias.hunger@nokia.com>2010-03-15 13:55:12 +0100
commit8894c040b14777f92a610a5a1e4ea1acbf9f37fa (patch)
tree6109c7c13c41dc53d4bee326b1a71a260c4ba3ff /src
parentdceda9db70ba01381891b6b8add46d94a7075c89 (diff)
Manage target add/remove buttons when new Qt versions change
Reviewed-by: con
Diffstat (limited to 'src')
-rw-r--r--src/plugins/projectexplorer/targetsettingspanel.cpp22
-rw-r--r--src/plugins/projectexplorer/targetsettingspanel.h1
2 files changed, 19 insertions, 4 deletions
diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp
index f61fa7aa24..7d289574d2 100644
--- a/src/plugins/projectexplorer/targetsettingspanel.cpp
+++ b/src/plugins/projectexplorer/targetsettingspanel.cpp
@@ -123,6 +123,8 @@ TargetSettingsPanelWidget::TargetSettingsPanelWidget(Project *project) :
m_selector(0),
m_centralWidget(0)
{
+ Q_ASSERT(m_project);
+
m_panelWidgets[0] = 0;
m_panelWidgets[1] = 0;
@@ -134,6 +136,8 @@ TargetSettingsPanelWidget::TargetSettingsPanelWidget(Project *project) :
this, SLOT(aboutToRemoveTarget(ProjectExplorer::Target*)));
connect(m_project, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)),
this, SLOT(activeTargetChanged(ProjectExplorer::Target*)));
+ connect(m_project, SIGNAL(supportedTargetIdsChanged()),
+ this, SLOT(updateTargetAddAndRemoveButtons()));
}
TargetSettingsPanelWidget::~TargetSettingsPanelWidget()
@@ -186,6 +190,8 @@ void TargetSettingsPanelWidget::setupUi()
m_selector->markActive(m_targets.indexOf(m_project->activeTarget()));
m_selector->setCurrentIndex(m_targets.indexOf(m_project->activeTarget()));
}
+
+ updateTargetAddAndRemoveButtons();
}
void TargetSettingsPanelWidget::currentTargetChanged(int targetIndex, int subIndex)
@@ -273,8 +279,7 @@ void TargetSettingsPanelWidget::targetAdded(ProjectExplorer::Target *target)
}
}
- m_selector->setAddButtonEnabled(m_project->supportedTargetIds().count() != m_targets.count());
- m_selector->setRemoveButtonEnabled(m_project->targets().count() > 1);
+ updateTargetAddAndRemoveButtons();
}
void TargetSettingsPanelWidget::aboutToRemoveTarget(ProjectExplorer::Target *target)
@@ -288,8 +293,8 @@ void TargetSettingsPanelWidget::aboutToRemoveTarget(ProjectExplorer::Target *tar
m_targets.removeAt(index);
m_selector->removeTarget(index);
- m_selector->setAddButtonEnabled(m_project->supportedTargetIds().count() != m_targets.count());
- m_selector->setRemoveButtonEnabled(m_targets.count() > 1);
+
+ updateTargetAddAndRemoveButtons();
}
void TargetSettingsPanelWidget::activeTargetChanged(ProjectExplorer::Target *target)
@@ -300,3 +305,12 @@ void TargetSettingsPanelWidget::activeTargetChanged(ProjectExplorer::Target *tar
int index(m_targets.indexOf(target));
m_selector->markActive(index);
}
+
+void TargetSettingsPanelWidget::updateTargetAddAndRemoveButtons()
+{
+ if (!m_selector)
+ return;
+
+ m_selector->setAddButtonEnabled(m_project->possibleTargetIds().count() > 0);
+ m_selector->setRemoveButtonEnabled(m_project->targets().count() > 1);
+}
diff --git a/src/plugins/projectexplorer/targetsettingspanel.h b/src/plugins/projectexplorer/targetsettingspanel.h
index d9b247cf44..704854344e 100644
--- a/src/plugins/projectexplorer/targetsettingspanel.h
+++ b/src/plugins/projectexplorer/targetsettingspanel.h
@@ -89,6 +89,7 @@ private slots:
void targetAdded(ProjectExplorer::Target *target);
void aboutToRemoveTarget(ProjectExplorer::Target *target);
void activeTargetChanged(ProjectExplorer::Target *target);
+ void updateTargetAddAndRemoveButtons();
private:
Target *m_currentTarget;