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 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";