From 8351b8a5ba355504a59a695328c42e085f82a700 Mon Sep 17 00:00:00 2001 From: Alexander Akulich Date: Mon, 12 Mar 2018 22:26:49 +0300 Subject: qdbusviewer: Focus on services view on filter editor return pressed Change-Id: I337ae8b179d00075310bbba6235652c635c73557 Reviewed-by: Friedemann Kleint --- src/qdbus/qdbusviewer/qdbusviewer.cpp | 10 ++++++++++ src/qdbus/qdbusviewer/qdbusviewer.h | 1 + 2 files changed, 11 insertions(+) (limited to 'src/qdbus') 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(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); -- cgit v1.2.3