PluginView: Do not disable required plugins

It was possible to disable required plugins by deselecting the whole
category.

Task-number: QTCREATORBUG-16321
Change-Id: I983a3461ac0cf610f9cd5e4ffcec5e176256eb53
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Eike Ziller
2016-06-21 10:28:16 +02:00
parent 80b149935e
commit 5aa7e2915b

View File

@@ -266,10 +266,9 @@ public:
bool setData(int column, const QVariant &data, int role)
{
if (column == LoadedColumn && role == Qt::CheckStateRole) {
QSet<PluginSpec *> affectedPlugins;
foreach (TreeItem *item, children())
affectedPlugins.insert(static_cast<PluginItem *>(item)->m_spec);
if (m_view->setPluginsEnabled(affectedPlugins, data.toBool())) {
const QList<PluginSpec *> affectedPlugins =
Utils::filtered(m_plugins, [](PluginSpec *spec) { return !spec->isRequired(); });
if (m_view->setPluginsEnabled(affectedPlugins.toSet(), data.toBool())) {
update();
return true;
}