diff options
author | Alexander Akulich <akulichalexander@gmail.com> | 2018-04-01 20:24:17 +0300 |
---|---|---|
committer | Alexandr Akulich <akulichalexander@gmail.com> | 2018-04-03 07:09:25 +0000 |
commit | dd7fe16cc396470bacc23212dbe09de03503359f (patch) | |
tree | 1c1756294a87c125e1a88210c6e220421cc01316 | |
parent | f117568f33de7c0592c16d40932c1df8c2dd815b (diff) | |
download | qttools-dd7fe16cc396470bacc23212dbe09de03503359f.tar.gz |
qdbusviewer: Disable service list edition
Service name edit does not actually change a service dbus name, so
subclass the QStringListModel and explicitly remove IsEditable flag to
make names read-only.
Change-Id: Idca77f449eb07cdebb0012cb2fb6e9039be303b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r-- | src/qdbus/qdbusviewer/qdbusviewer.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/qdbus/qdbusviewer/qdbusviewer.cpp b/src/qdbus/qdbusviewer/qdbusviewer.cpp index 806cbc8ae..4a513f357 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); |