diff options
author | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-05-11 16:05:19 +0200 |
---|---|---|
committer | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-05-16 12:57:53 +0200 |
commit | 450bb8dacdff2c0dd24bbe9eea998c70bd5f6fae (patch) | |
tree | 7f9654c50c540b9735e99856839e035f3dd7ebab /src/qdbus/qdbusviewer/qdbusviewer.cpp | |
parent | 24085ee19751fa39db5f70d2d850ff5b82a7e400 (diff) | |
download | qttools-450bb8dacdff2c0dd24bbe9eea998c70bd5f6fae.tar.gz |
QDBusViewer: Use QDBusServiceWatcher
This replaces connections to deprecated signal
QDBusConnectionInterface::serviceOwnerChanged() and avoids a warning
being printed at run time.
QDBusServiceWatcher emits the serviceOwnerChanged() signal
when services are registered and unregistered, so this one
signal replaces 3 signals from QDBusConnectionInterface.
Fixes: QTBUG-28618
Change-Id: Ic2afa25e8c6438ead93c75b4c8864e557ba70714
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/qdbus/qdbusviewer/qdbusviewer.cpp')
-rw-r--r-- | src/qdbus/qdbusviewer/qdbusviewer.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/qdbus/qdbusviewer/qdbusviewer.cpp b/src/qdbus/qdbusviewer/qdbusviewer.cpp index 26b656b65..9c23c65a9 100644 --- a/src/qdbus/qdbusviewer/qdbusviewer.cpp +++ b/src/qdbus/qdbusviewer/qdbusviewer.cpp @@ -20,6 +20,7 @@ #include <QtDBus/QDBusConnectionInterface> #include <QtDBus/QDBusInterface> #include <QtDBus/QDBusMetaType> +#include <QtDBus/QDBusServiceWatcher> #include <QtGui/QAction> #include <QtGui/QKeyEvent> @@ -131,11 +132,11 @@ QDBusViewer::QDBusViewer(const QDBusConnection &connection, QWidget *parent) : QMetaObject::invokeMethod(this, "refresh", Qt::QueuedConnection); if (c.isConnected()) { + QDBusServiceWatcher *watcher = + new QDBusServiceWatcher("*", c, QDBusServiceWatcher::WatchForOwnerChange, this); + connect(watcher, &QDBusServiceWatcher::serviceOwnerChanged, this, + &QDBusViewer::serviceOwnerChanged); logMessage(QLatin1String("Connected to D-Bus.")); - QDBusConnectionInterface *iface = c.interface(); - connect(iface, &QDBusConnectionInterface::serviceRegistered, this, &QDBusViewer::serviceRegistered); - connect(iface, &QDBusConnectionInterface::serviceUnregistered, this, &QDBusViewer::serviceUnregistered); - connect(iface, &QDBusConnectionInterface::serviceOwnerChanged, this, &QDBusViewer::serviceOwnerChanged); } else { logError(QLatin1String("Cannot connect to D-Bus: ") + c.lastError().message()); } @@ -501,14 +502,6 @@ static QModelIndex findItem(QStringListModel *servicesModel, const QString &name return hits.first(); } -void QDBusViewer::serviceUnregistered(const QString &name) -{ - QModelIndex hit = findItem(servicesModel, name); - if (!hit.isValid()) - return; - servicesModel->removeRows(hit.row(), 1); -} - void QDBusViewer::serviceOwnerChanged(const QString &name, const QString &oldOwner, const QString &newOwner) { |