diff options
-rw-r--r-- | src/qdbus/qdbusviewer/qdbusviewer.cpp | 10 | ||||
-rw-r--r-- | src/qdbus/qdbusviewer/qdbusviewer.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/qdbus/qdbusviewer/qdbusviewer.cpp b/src/qdbus/qdbusviewer/qdbusviewer.cpp index 7800ff3ad..2a93a0322 100644 --- a/src/qdbus/qdbusviewer/qdbusviewer.cpp +++ b/src/qdbus/qdbusviewer/qdbusviewer.cpp @@ -97,6 +97,7 @@ QDBusViewer::QDBusViewer(const QDBusConnection &connection, QWidget *parent) : servicesView->sortByColumn(0, Qt::AscendingOrder); connect(serviceFilterLine, &QLineEdit::textChanged, servicesProxyModel, &QSortFilterProxyModel::setFilterFixedString); + connect(serviceFilterLine, &QLineEdit::returnPressed, this, &QDBusViewer::serviceFilterReturnPressed); tree = new QTreeView; tree->setContextMenuPolicy(Qt::CustomContextMenu); @@ -501,6 +502,15 @@ void QDBusViewer::serviceOwnerChanged(const QString &name, const QString &oldOwn } } +void QDBusViewer::serviceFilterReturnPressed() +{ + if (servicesProxyModel->rowCount() <= 0) + return; + + servicesView->selectRow(0); + servicesView->setFocus(); +} + void QDBusViewer::refreshChildren() { QDBusModel *model = qobject_cast<QDBusModel *>(tree->model()); diff --git a/src/qdbus/qdbusviewer/qdbusviewer.h b/src/qdbus/qdbusviewer/qdbusviewer.h index bd7c26ab6..b2ce5bba6 100644 --- a/src/qdbus/qdbusviewer/qdbusviewer.h +++ b/src/qdbus/qdbusviewer/qdbusviewer.h @@ -78,6 +78,7 @@ private slots: void serviceUnregistered(const QString &service); void serviceOwnerChanged(const QString &name, const QString &oldOwner, const QString &newOwner); + void serviceFilterReturnPressed(); void activate(const QModelIndex &item); void logError(const QString &msg); |