diff --git a/src/qdbus/qdbusviewer/qdbusviewer.cpp b/src/qdbus/qdbusviewer/qdbusviewer.cpp index 806cbc8ae6941239732dd794ff5c010a9458e7dd..4a513f357186a8a9667d888ed2adf8d591cf55d6 100644 --- a/src/qdbus/qdbusviewer/qdbusviewer.cpp +++ b/src/qdbus/qdbusviewer/qdbusviewer.cpp @@ -72,6 +72,19 @@ public: } }; +class ServicesModel : public QStringListModel +{ +public: + explicit ServicesModel(QObject *parent = nullptr) + : QStringListModel(parent) + {} + + Qt::ItemFlags flags(const QModelIndex &index) const override + { + return QStringListModel::flags(index) & ~Qt::ItemIsEditable; + } +}; + QDBusViewer::QDBusViewer(const QDBusConnection &connection, QWidget *parent) : QWidget(parent), c(connection), @@ -81,7 +94,7 @@ QDBusViewer::QDBusViewer(const QDBusConnection &connection, QWidget *parent) : serviceFilterLine->setPlaceholderText(tr("Search...")); // Create model for services list - servicesModel = new QStringListModel(this); + servicesModel = new ServicesModel(this); // Wrap service list model in proxy for easy filtering and interactive sorting servicesProxyModel = new ServicesProxyModel(this); servicesProxyModel->setSourceModel(servicesModel);