diff options
author | hjk <hjk@theqtcompany.com> | 2016-09-19 15:50:05 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2016-09-20 08:33:48 +0000 |
commit | a2a766d77052d89395dcfbb8a0a553e5c15b521e (patch) | |
tree | eb8d655b8ceb69ad02e8cc3d946e111cb1775477 /src/plugins/projectexplorer/targetsettingspanel.cpp | |
parent | 33d67828f6d4ff96031fab692df7d9f189b3023f (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.cpp | 21 |
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)); |