aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/targetsettingspanel.cpp
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2019-07-18 07:47:17 +0200
committerChristian Stenger <christian.stenger@qt.io>2019-07-24 11:57:07 +0000
commitb3d9647582cffe2c193ef5c808b6ef7c32893562 (patch)
tree9728d26aef1cbbc7feac6415ad38127ca0830d13 /src/plugins/projectexplorer/targetsettingspanel.cpp
parent0e49fc2d16b94398e1de7b7fc64e416115539199 (diff)
PE: Do not let user enable a kit that has errors
If a kit has errors it still could get enabled by using its context menu on the Project view. Avoid this and its side effects. Change-Id: I2434cd3c540c1f3c287b84258391450693df986a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/targetsettingspanel.cpp')
-rw-r--r--src/plugins/projectexplorer/targetsettingspanel.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp
index 3d22124f9a4..c41d5ca1e4e 100644
--- a/src/plugins/projectexplorer/targetsettingspanel.cpp
+++ b/src/plugins/projectexplorer/targetsettingspanel.cpp
@@ -399,7 +399,7 @@ public:
if (role == ContextMenuItemAdderRole) {
auto *menu = data.value<QMenu *>();
- addToContextMenu(menu);
+ addToContextMenu(menu, flags(column) & Qt::ItemIsSelectable);
return true;
}
@@ -440,7 +440,7 @@ public:
return false;
}
- void addToContextMenu(QMenu *menu)
+ void addToContextMenu(QMenu *menu, bool isSelectable)
{
Kit *kit = KitManager::kit(m_kitId);
QTC_ASSERT(kit, return);
@@ -448,13 +448,13 @@ public:
const QString projectName = m_project->displayName();
QAction *enableAction = menu->addAction(tr("Enable Kit \"%1\" for Project \"%2\"").arg(kitName, projectName));
- enableAction->setEnabled(m_kitId.isValid() && !isEnabled());
+ enableAction->setEnabled(isSelectable && m_kitId.isValid() && !isEnabled());
QObject::connect(enableAction, &QAction::triggered, [this, kit] {
m_project->addTarget(m_project->createTarget(kit));
});
QAction *disableAction = menu->addAction(tr("Disable Kit \"%1\" for Project \"%2\"").arg(kitName, projectName));
- disableAction->setEnabled(m_kitId.isValid() && isEnabled());
+ disableAction->setEnabled(isSelectable && m_kitId.isValid() && isEnabled());
QObject::connect(disableAction, &QAction::triggered, m_project, [this] {
Target *t = target();
QTC_ASSERT(t, return);