Commit f117568f authored by Alexander Akulich's avatar Alexander Akulich Committed by Alexandr Akulich
Browse files

qdbusviewer: Focus on service tree view on service list return pressed


Change-Id: I901fb3da48fe77d7cc3edc7bad4f0f9033f2c85a
Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@qt.io>
Showing with 18 additions and 0 deletions
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <QtCore/QStringListModel> #include <QtCore/QStringListModel>
#include <QtCore/QMetaProperty> #include <QtCore/QMetaProperty>
#include <QtCore/QSettings> #include <QtCore/QSettings>
#include <QtGui/QKeyEvent>
#include <QtWidgets/QLineEdit> #include <QtWidgets/QLineEdit>
#include <QtWidgets/QAction> #include <QtWidgets/QAction>
#include <QtWidgets/QShortcut> #include <QtWidgets/QShortcut>
...@@ -87,6 +88,7 @@ QDBusViewer::QDBusViewer(const QDBusConnection &connection, QWidget *parent) : ...@@ -87,6 +88,7 @@ QDBusViewer::QDBusViewer(const QDBusConnection &connection, QWidget *parent) :
servicesProxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); servicesProxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
servicesView = new QTableView(this); servicesView = new QTableView(this);
servicesView->installEventFilter(this);
servicesView->setModel(servicesProxyModel); servicesView->setModel(servicesProxyModel);
// Make services grid view behave like a list view with headers // Make services grid view behave like a list view with headers
servicesView->verticalHeader()->hide(); servicesView->verticalHeader()->hide();
...@@ -176,6 +178,21 @@ void QDBusViewer::showEvent(QShowEvent *) ...@@ -176,6 +178,21 @@ void QDBusViewer::showEvent(QShowEvent *)
serviceFilterLine->setFocus(); serviceFilterLine->setFocus();
} }
bool QDBusViewer::eventFilter(QObject *obj, QEvent *event)
{
if (obj == servicesView) {
if (event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
if (keyEvent->modifiers() == Qt::NoModifier) {
if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) {
tree->setFocus();
}
}
}
}
return false;
}
void QDBusViewer::logError(const QString &msg) void QDBusViewer::logError(const QString &msg)
{ {
log->append(QLatin1String("<font color=\"red\">Error: </font>") + msg.toHtmlEscaped() + QLatin1String("<br>")); log->append(QLatin1String("<font color=\"red\">Error: </font>") + msg.toHtmlEscaped() + QLatin1String("<br>"));
......
...@@ -87,6 +87,7 @@ private slots: ...@@ -87,6 +87,7 @@ private slots:
private: private:
void logMessage(const QString &msg); void logMessage(const QString &msg);
void showEvent(QShowEvent *) override; void showEvent(QShowEvent *) override;
bool eventFilter(QObject *obj, QEvent *event) override;
QDBusConnection c; QDBusConnection c;
QString currentService; QString currentService;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment