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