From 7b7f35430d0b75c1e151cb8821a15f5d06b1cf2e Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 1 Mar 2017 12:47:09 +0100 Subject: [PATCH] ProjectTree: Always mark startup project (again) The bold marker was lost after project tree recreation (i.e. after the Project tree was e.g. switched to Open Documents and back) Change-Id: If586ef98f2328b3a6fa7c107ac40e4cacb1009bb Reviewed-by: Christian Stenger --- src/plugins/projectexplorer/projectmodels.cpp | 18 +++++------------- src/plugins/projectexplorer/projectmodels.h | 3 --- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp index 5a48bba669c..b03b42d3908 100644 --- a/src/plugins/projectexplorer/projectmodels.cpp +++ b/src/plugins/projectexplorer/projectmodels.cpp @@ -82,11 +82,10 @@ FlatModel::FlatModel(QObject *parent) SessionManager *sm = SessionManager::instance(); connect(sm, &SessionManager::projectRemoved, this, &FlatModel::update); - connect(sm, &SessionManager::startupProjectChanged, this, &FlatModel::startupProjectChanged); - connect(sm, &SessionManager::sessionLoaded, this, &FlatModel::loadExpandData); connect(sm, &SessionManager::aboutToSaveSession, this, &FlatModel::saveExpandData); connect(sm, &SessionManager::projectAdded, this, &FlatModel::handleProjectAdded); + connect(sm, &SessionManager::startupProjectChanged, this, [this] { layoutChanged(); }); update(); } @@ -98,15 +97,6 @@ void FlatModel::setView(QTreeView *view) connect(m_view, &QTreeView::collapsed, this, &FlatModel::onCollapsed); } -void FlatModel::startupProjectChanged(Project *project) -{ - ProjectNode *projectNode = project ? project->rootProjectNode() : nullptr; - if (m_startupProject == projectNode) - return; - m_startupProject = projectNode; - layoutChanged(); -} - QVariant FlatModel::data(const QModelIndex &index, int role) const { QVariant result; @@ -145,8 +135,10 @@ QVariant FlatModel::data(const QModelIndex &index, int role) const } case Qt::FontRole: { QFont font; - if (node == m_startupProject) - font.setBold(true); + if (Project *project = SessionManager::startupProject()) { + if (node == project->rootProjectNode()) + font.setBold(true); + } result = font; break; } diff --git a/src/plugins/projectexplorer/projectmodels.h b/src/plugins/projectexplorer/projectmodels.h index 4b466fe27cc..5207f39a4f4 100644 --- a/src/plugins/projectexplorer/projectmodels.h +++ b/src/plugins/projectexplorer/projectmodels.h @@ -83,7 +83,6 @@ signals: void renamed(const Utils::FileName &oldName, const Utils::FileName &newName); private: - void startupProjectChanged(Project *project); void nodeUpdated(ProjectExplorer::Node *node); bool filter(Node *node) const; // Returns true if node is hidden. @@ -91,8 +90,6 @@ private: bool m_filterProjects = false; bool m_filterGeneratedFiles = true; - ProjectNode *m_startupProject = nullptr; - static const QLoggingCategory &logger(); void update();