From 31a8866ac0aa3966cd77e87e14974f0a6a66f940 Mon Sep 17 00:00:00 2001 From: Nicolas Fella Date: Sat, 8 Jul 2023 22:34:08 +0200 Subject: Fix usage of Qt::CheckStateRole in preview model Qt::CheckStateRole expects an enum, not a bool Also set the flag that the item it user checkable, otherwise it can't be changed BUG: 471999 --- src/settings/general/previewssettingspage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/settings/general/previewssettingspage.cpp') diff --git a/src/settings/general/previewssettingspage.cpp b/src/settings/general/previewssettingspage.cpp index 7c63e94ba..1e96025fd 100644 --- a/src/settings/general/previewssettingspage.cpp +++ b/src/settings/general/previewssettingspage.cpp @@ -104,7 +104,7 @@ void PreviewsSettingsPage::applySettings() m_enabledPreviewPlugins.clear(); for (int i = 0; i < rowCount; ++i) { const QModelIndex index = model->index(i, 0); - const bool checked = model->data(index, Qt::CheckStateRole).toBool(); + const bool checked = model->data(index, Qt::CheckStateRole).value() == Qt::Checked; if (checked) { const QString enabledPlugin = model->data(index, Qt::UserRole).toString(); m_enabledPreviewPlugins.append(enabledPlugin); @@ -153,7 +153,7 @@ void PreviewsSettingsPage::loadPreviewPlugins() model->insertRow(0); const QModelIndex index = model->index(0, 0); - model->setData(index, show, Qt::CheckStateRole); + model->setData(index, show ? Qt::Checked : Qt::Unchecked, Qt::CheckStateRole); model->setData(index, plugin.name(), Qt::DisplayRole); model->setData(index, plugin.pluginId(), ServiceModel::DesktopEntryNameRole); } -- cgit v1.3