forked from qt-creator/qt-creator
ProjectExplorer: Fix object creation order
95deefb5a
revealed some initialization order requirements:
AppOutputPane needs SessionManager,
CurrentProjectFilter needs ProjectTree
Change-Id: Ibd3d14a7d23f55a850db43e031e68c32059e6e6a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -477,8 +477,11 @@ public:
|
|||||||
RemoveTaskHandler m_removeTaskHandler;
|
RemoveTaskHandler m_removeTaskHandler;
|
||||||
ConfigTaskHandler m_configTaskHandler{Task::compilerMissingTask(), Constants::KITS_SETTINGS_PAGE_ID};
|
ConfigTaskHandler m_configTaskHandler{Task::compilerMissingTask(), Constants::KITS_SETTINGS_PAGE_ID};
|
||||||
|
|
||||||
|
SessionManager m_sessionManager;
|
||||||
AppOutputPane m_outputPane;
|
AppOutputPane m_outputPane;
|
||||||
|
|
||||||
|
ProjectTree m_projectTree;
|
||||||
|
|
||||||
AllProjectsFilter m_allProjectsFilter;
|
AllProjectsFilter m_allProjectsFilter;
|
||||||
CurrentProjectFilter m_currentProjectFilter;
|
CurrentProjectFilter m_currentProjectFilter;
|
||||||
|
|
||||||
@@ -565,8 +568,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
connect(&dd->m_welcomePage, &ProjectWelcomePage::manageSessions,
|
connect(&dd->m_welcomePage, &ProjectWelcomePage::manageSessions,
|
||||||
dd, &ProjectExplorerPluginPrivate::showSessionManager);
|
dd, &ProjectExplorerPluginPrivate::showSessionManager);
|
||||||
|
|
||||||
auto sessionManager = new SessionManager(this);
|
SessionManager *sessionManager = &dd->m_sessionManager;
|
||||||
|
|
||||||
connect(sessionManager, &SessionManager::projectAdded,
|
connect(sessionManager, &SessionManager::projectAdded,
|
||||||
this, &ProjectExplorerPlugin::fileListChanged);
|
this, &ProjectExplorerPlugin::fileListChanged);
|
||||||
connect(sessionManager, &SessionManager::aboutToRemoveProject,
|
connect(sessionManager, &SessionManager::aboutToRemoveProject,
|
||||||
@@ -588,7 +590,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
connect(sessionManager, &SessionManager::sessionLoaded,
|
connect(sessionManager, &SessionManager::sessionLoaded,
|
||||||
dd, &ProjectExplorerPluginPrivate::updateWelcomePage);
|
dd, &ProjectExplorerPluginPrivate::updateWelcomePage);
|
||||||
|
|
||||||
ProjectTree *tree = new ProjectTree(this);
|
ProjectTree *tree = &dd->m_projectTree;
|
||||||
connect(tree, &ProjectTree::currentProjectChanged,
|
connect(tree, &ProjectTree::currentProjectChanged,
|
||||||
dd, &ProjectExplorerPluginPrivate::updateContextMenuActions);
|
dd, &ProjectExplorerPluginPrivate::updateContextMenuActions);
|
||||||
connect(tree, &ProjectTree::currentNodeChanged,
|
connect(tree, &ProjectTree::currentNodeChanged,
|
||||||
|
Reference in New Issue
Block a user