summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Akulich <akulichalexander@gmail.com>2018-04-01 20:24:17 +0300
committerAlexandr Akulich <akulichalexander@gmail.com>2018-04-03 07:09:25 +0000
commitdd7fe16cc396470bacc23212dbe09de03503359f (patch)
tree1c1756294a87c125e1a88210c6e220421cc01316
parentf117568f33de7c0592c16d40932c1df8c2dd815b (diff)
downloadqttools-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.cpp15
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);