diff options
author | Eike Ziller <eike.ziller@qt.io> | 2018-03-07 14:48:57 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2018-03-09 08:50:08 +0000 |
commit | 1997692f86ea61086a35760912420c45973d8409 (patch) | |
tree | 8de105e17a6b3f7aec94856d9165cedb5d528354 /src/plugins/classview/classviewnavigationwidget.cpp | |
parent | 711ac6602f67a711eeeb307174408cdc5cf0ab3a (diff) |
Class view: Fix keyboard focus when using shortcut
Pass focus to the treeview, and make sure something is selected, so
focus is also visibly moving there.
Task-number: QTCREATORBUG-15920
Change-Id: Icf7c213765739e992edcb52cc88f8730875e0bed
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/classview/classviewnavigationwidget.cpp')
-rw-r--r-- | src/plugins/classview/classviewnavigationwidget.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/classview/classviewnavigationwidget.cpp b/src/plugins/classview/classviewnavigationwidget.cpp index 5ce0d24e73a..58cab5a6d87 100644 --- a/src/plugins/classview/classviewnavigationwidget.cpp +++ b/src/plugins/classview/classviewnavigationwidget.cpp @@ -105,7 +105,7 @@ NavigationWidget::NavigationWidget(QWidget *parent) : verticalLayout->addWidget(Core::ItemViewFind::createSearchableWrapper( treeView, Core::ItemViewFind::DarkColored, Core::ItemViewFind::FetchMoreWhileSearching)); - + setFocusProxy(treeView); // tree model treeModel = new TreeItemModel(this); treeView->setModel(treeModel); @@ -282,10 +282,12 @@ void NavigationWidget::onDataUpdate(QSharedPointer<QStandardItem> result) // expand top level projects QModelIndex sessionIndex; - - for (int i = 0; i < treeModel->rowCount(sessionIndex); ++i) + const int toplevelCount = treeModel->rowCount(sessionIndex); + for (int i = 0; i < toplevelCount; ++i) treeView->expand(treeModel->index(i, 0, sessionIndex)); + if (!treeView->currentIndex().isValid() && toplevelCount > 0) + treeView->setCurrentIndex(treeModel->index(0, 0, sessionIndex)); if (debug) qDebug() << "Class View:" << QDateTime::currentDateTime().toString() << "TreeView is updated in" << timer.elapsed() << "msecs"; |