From 38924e38636e63678d8fb6d2f0af3552670c1eb1 Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Thu, 7 Jan 2010 20:35:23 +0100 Subject: [PATCH] On loading a project, select it in the project tree view This fixes the issue that when loading a project in a big session the newly loaded project is hard to find. The solution is a bit of a hack. Reviewed-by: mae <qt-info@nokia.com> --- src/plugins/projectexplorer/projecttreewidget.cpp | 9 ++++++++- src/plugins/projectexplorer/projecttreewidget.h | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index 72a5561dc7a..bd9e0b658f8 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -120,7 +120,8 @@ ProjectTreeWidget::ProjectTreeWidget(QWidget *parent) m_view(0), m_model(0), m_filterProjectsAction(0), - m_autoSync(false) + m_autoSync(false), + m_currentItemLocked(false) { m_model = new FlatModel(m_explorer->session()->sessionNode(), this); NodesWatcher *watcher = new NodesWatcher(this); @@ -249,6 +250,10 @@ void ProjectTreeWidget::setCurrentItem(Node *node, Project *project) if (debug) qDebug() << "ProjectTreeWidget::setCurrentItem(" << (project ? project->displayName() : "0") << ", " << (node ? node->path() : "0") << ")"; + if (m_currentItemLocked) { + m_currentItemLocked = false; + return; + } if (!project) { return; } @@ -288,6 +293,8 @@ void ProjectTreeWidget::handleProjectAdded(ProjectExplorer::Project *project) Node *node = project->rootProjectNode(); QModelIndex idx = m_model->indexForNode(node); m_view->setExpanded(idx, true); + m_view->setCurrentIndex(idx); + m_currentItemLocked = true; } void ProjectTreeWidget::startupProjectChanged(ProjectExplorer::Project *project) diff --git a/src/plugins/projectexplorer/projecttreewidget.h b/src/plugins/projectexplorer/projecttreewidget.h index 732035f4c4e..2413bd95497 100644 --- a/src/plugins/projectexplorer/projecttreewidget.h +++ b/src/plugins/projectexplorer/projecttreewidget.h @@ -89,7 +89,7 @@ private: QModelIndex m_subIndex; QString m_modelId; bool m_autoSync; - + bool m_currentItemLocked; friend class ProjectTreeWidgetFactory; }; -- GitLab