diff --git a/src/plugins/projectexplorer/projectwelcomepage.cpp b/src/plugins/projectexplorer/projectwelcomepage.cpp index 2e1dd3c1527..1c882eec664 100644 --- a/src/plugins/projectexplorer/projectwelcomepage.cpp +++ b/src/plugins/projectexplorer/projectwelcomepage.cpp @@ -78,15 +78,14 @@ ProjectModel::ProjectModel(QObject *parent) int ProjectModel::rowCount(const QModelIndex &) const { - return ProjectExplorerPlugin::recentProjects().count(); + return m_projects.count(); } QVariant ProjectModel::data(const QModelIndex &index, int role) const { - const RecentProjectsEntries recentProjects = ProjectExplorerPlugin::recentProjects(); - if (recentProjects.count() <= index.row()) + if (m_projects.count() <= index.row()) return {}; - RecentProjectsEntry data = recentProjects.at(index.row()); + RecentProjectsEntry data = m_projects.at(index.row()); switch (role) { case Qt::DisplayRole: return data.second; @@ -120,6 +119,7 @@ QHash ProjectModel::roleNames() const void ProjectModel::resetProjects() { beginResetModel(); + m_projects = ProjectExplorerPlugin::recentProjects(); endResetModel(); } diff --git a/src/plugins/projectexplorer/projectwelcomepage.h b/src/plugins/projectexplorer/projectwelcomepage.h index f56b220529d..dca26f3e6b3 100644 --- a/src/plugins/projectexplorer/projectwelcomepage.h +++ b/src/plugins/projectexplorer/projectwelcomepage.h @@ -25,6 +25,8 @@ #pragma once +#include "projectexplorer.h" + #include #include @@ -49,6 +51,9 @@ public: public slots: void resetProjects(); + +private: + RecentProjectsEntries m_projects; }; class ProjectWelcomePage : public Core::IWelcomePage