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/servicemodel.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/settings/servicemodel.cpp') diff --git a/src/settings/servicemodel.cpp b/src/settings/servicemodel.cpp index 07a804e33..5333e88b9 100644 --- a/src/settings/servicemodel.cpp +++ b/src/settings/servicemodel.cpp @@ -29,7 +29,7 @@ bool ServiceModel::insertRows(int row, int count, const QModelIndex &parent) beginInsertRows(parent, row, row + count - 1); for (int i = 0; i < count; ++i) { ServiceItem item; - item.checked = false; + item.checked = Qt::Unchecked; item.configurable = false; m_items.insert(row, item); } @@ -47,7 +47,7 @@ bool ServiceModel::setData(const QModelIndex &index, const QVariant &value, int switch (role) { case Qt::CheckStateRole: - m_items[row].checked = value.toBool(); + m_items[row].checked = value.value(); break; case ConfigurableRole: m_items[row].configurable = value.toBool(); @@ -105,4 +105,9 @@ void ServiceModel::clear() endRemoveRows(); } +Qt::ItemFlags ServiceModel::flags(const QModelIndex &index) const +{ + return QAbstractListModel::flags(index) | Qt::ItemIsUserCheckable; +} + #include "moc_servicemodel.cpp" -- cgit v1.3