aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/targetsettingspanel.cpp
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2016-09-19 15:50:05 +0200
committerhjk <hjk@qt.io>2016-09-20 08:33:48 +0000
commita2a766d77052d89395dcfbb8a0a553e5c15b521e (patch)
treeeb8d655b8ceb69ad02e8cc3d946e111cb1775477 /src/plugins/projectexplorer/targetsettingspanel.cpp
parent33d67828f6d4ff96031fab692df7d9f189b3023f (diff)
ProjectExplorer: Don't select kit on activation
Otherwise, uninterruptable project parsing is triggered. Change-Id: I0ae106a390f8c0cf3849a9feb8ef4e1800e07e33 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/targetsettingspanel.cpp')
-rw-r--r--src/plugins/projectexplorer/targetsettingspanel.cpp21
1 files changed, 6 insertions, 15 deletions
diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp
index 64e03b9d77..57dddd97c5 100644
--- a/src/plugins/projectexplorer/targetsettingspanel.cpp
+++ b/src/plugins/projectexplorer/targetsettingspanel.cpp
@@ -406,15 +406,15 @@ public:
return true;
}
- if (role == BaseTreeView::ItemClickedRole) {
+ if (role == ItemActivatedDirectlyRole) {
+ QTC_ASSERT(!data.isValid(), return false);
if (!isEnabled()) {
Kit *k = KitManager::find(m_kitId);
- Target *t = m_project->createTarget(k);
- m_project->addTarget(t);
- QTC_ASSERT(!data.isValid(), return false);
+ m_project->addTarget(m_project->createTarget(k));
+ } else {
SessionManager::setActiveTarget(m_project, target(), SetActive::Cascade);
- return true;
}
+ return true;
}
if (role == ItemActivatedFromBelowRole) {
@@ -429,13 +429,6 @@ public:
return true;
}
- if (role == ItemActivatedDirectlyRole) {
- // User clicked on this item. Use 'Run' as default.
- QTC_ASSERT(!data.isValid(), return false);
- SessionManager::setActiveTarget(m_project, target(), SetActive::Cascade);
- return true;
- }
-
if (role == ItemActivatedFromAboveRole) {
// Usually programmatic activation, e.g. after opening the Project mode.
SessionManager::setActiveTarget(m_project, target(), SetActive::Cascade);
@@ -454,9 +447,7 @@ public:
QAction *enableAction = menu->addAction(tr("Enable Kit \"%1\" for Project \"%2\"").arg(kitName, projectName));
enableAction->setEnabled(m_kitId.isValid() && !isEnabled());
QObject::connect(enableAction, &QAction::triggered, [this, kit] {
- Target *t = m_project->createTarget(kit);
- m_project->addTarget(t);
- setData(0, QVariant(), ItemActivatedDirectlyRole);
+ m_project->addTarget(m_project->createTarget(kit));
});
QAction *disableAction = menu->addAction(tr("Disable Kit \"%1\" for Project \"%2\"").arg(kitName, projectName));