QmakeProjectManager: Pimpl and remove uses of global object pool

Change-Id: I801a3b6b880e1113d12ece0cf70a882b9696811f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
hjk
2018-02-09 16:17:00 +01:00
parent 3b58153750
commit d7348e0ccf
2 changed files with 144 additions and 141 deletions

View File

@@ -26,26 +26,8 @@
#pragma once
#include <extensionsystem/iplugin.h>
#include <coreplugin/icontext.h>
QT_BEGIN_NAMESPACE
class QAction;
QT_END_NAMESPACE
namespace ProjectExplorer {
class Project;
class Target;
}
namespace Utils {
class FileName;
class ParameterAction;
}
namespace QmakeProjectManager {
class QmakeManager;
class QmakeProject;
namespace Internal {
class QmakeProjectManagerPlugin : public ExtensionSystem::IPlugin
@@ -54,8 +36,7 @@ class QmakeProjectManagerPlugin : public ExtensionSystem::IPlugin
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "QmakeProjectManager.json")
public:
bool initialize(const QStringList &arguments, QString *errorMessage);
void extensionsInitialized();
~QmakeProjectManagerPlugin() final;
#ifdef WITH_TESTS
private slots:
@@ -66,34 +47,10 @@ private slots:
#endif
private:
void projectChanged();
void activeTargetChanged();
void updateActions();
void updateRunQMakeAction();
void updateContextActions();
void buildStateChanged(ProjectExplorer::Project *pro);
void updateBuildFileAction();
void disableBuildFileMenus();
void enableBuildFileMenus(const Utils::FileName &file);
bool initialize(const QStringList &arguments, QString *errorMessage) final;
void extensionsInitialized() final {}
QmakeManager *m_qmakeProjectManager = nullptr;
QmakeProject *m_previousStartupProject = nullptr;
ProjectExplorer::Target *m_previousTarget = nullptr;
QAction *m_runQMakeAction = nullptr;
QAction *m_runQMakeActionContextMenu = nullptr;
Utils::ParameterAction *m_buildSubProjectContextMenu = nullptr;
QAction *m_subProjectRebuildSeparator = nullptr;
QAction *m_rebuildSubProjectContextMenu = nullptr;
QAction *m_cleanSubProjectContextMenu = nullptr;
QAction *m_buildFileContextMenu = nullptr;
Utils::ParameterAction *m_buildSubProjectAction = nullptr;
Utils::ParameterAction *m_rebuildSubProjectAction = nullptr;
Utils::ParameterAction *m_cleanSubProjectAction = nullptr;
Utils::ParameterAction *m_buildFileAction = nullptr;
QAction *m_addLibraryAction = nullptr;
QAction *m_addLibraryActionContextMenu = nullptr;
Core::Context m_projectContext;
class QmakeProjectManagerPluginPrivate *d = nullptr;
};
} // namespace Internal