diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2023-01-27 09:59:10 +0200 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2023-01-27 10:38:55 +0000 |
commit | f5c48c86d3670240fc5c36c2f406196fc23527d5 (patch) | |
tree | 1823d302c330bf513908fdf68005d03ce5848f82 /src/libs/installer/componentmodel.cpp | |
parent | 476b6d6fffaf6841adaf68889e8b8ddae17dd382 (diff) | |
parent | 50575212455fbd3109adbe92d8509fca3c51850a (diff) |
Merge remote-tracking branch 'origin/4.5'
Change-Id: I07baba6a0e64b6022e6a933708e199551be7dd2f
Diffstat (limited to 'src/libs/installer/componentmodel.cpp')
-rw-r--r-- | src/libs/installer/componentmodel.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libs/installer/componentmodel.cpp b/src/libs/installer/componentmodel.cpp index 873175937..dbb80f2f6 100644 --- a/src/libs/installer/componentmodel.cpp +++ b/src/libs/installer/componentmodel.cpp @@ -216,7 +216,10 @@ QVariant ComponentModel::data(const QModelIndex &index, int role) const return component->data(Qt::UserRole + index.column()); } if (role == Qt::CheckStateRole) { - if (!component->isCheckable() || !component->autoDependencies().isEmpty() || component->isUnstable()) + if (!component->isCheckable() || component->isUnstable()) + return QVariant(); + + if (!m_core->isUpdater() && !component->autoDependencies().isEmpty()) return QVariant(); } if (role == ComponentModelHelper::ExpandedByDefault) { @@ -564,9 +567,12 @@ QSet<QModelIndex> ComponentModel::updateCheckedState(const ComponentSet &compone checkable = false; } - if ((!node->isCheckable() && checkable) || !node->isEnabled() || !node->autoDependencies().isEmpty() || node->isUnstable()) + if ((!node->isCheckable() && checkable) || !node->isEnabled() || node->isUnstable()) continue; + if (!m_core->isUpdater() && !node->autoDependencies().isEmpty()) + continue; + Qt::CheckState newState = state; const Qt::CheckState recentState = node->checkState(); if (node->isTristate()) |