aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/classview/classviewnavigationwidget.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2018-03-07 14:48:57 +0100
committerEike Ziller <eike.ziller@qt.io>2018-03-09 08:50:08 +0000
commit1997692f86ea61086a35760912420c45973d8409 (patch)
tree8de105e17a6b3f7aec94856d9165cedb5d528354 /src/plugins/classview/classviewnavigationwidget.cpp
parent711ac6602f67a711eeeb307174408cdc5cf0ab3a (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.cpp8
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";