summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpptoolsplugin.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2019-08-29 11:34:13 +0200
committerEike Ziller <eike.ziller@qt.io>2019-09-13 06:43:02 +0000
commitb6c227714664aa6024f1390c0deaf692c6e05ef6 (patch)
treecc431c038deff40e243c354b7c6ecffd40cc57b5 /src/plugins/cpptools/cpptoolsplugin.cpp
parent3beab5c985184f760ee0f06447db7f8b418ee1ee (diff)
downloadqt-creator-b6c227714664aa6024f1390c0deaf692c6e05ef6.tar.gz
GenericProject: Make dependency on CppTools optional
Especially in the light of the language server, the generic project is currently the project one can use for language servers that require a "project workspace". Makes it possibly to run Qt Creator with "-noload CppTools" if you still want to use generic projects with some other language. Change-Id: Ib9059289a2db4c44c0c1060a02fcdafacb885fbd Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cpptoolsplugin.cpp')
-rw-r--r--src/plugins/cpptools/cpptoolsplugin.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp
index be52ced3f1..d0d486e201 100644
--- a/src/plugins/cpptools/cpptoolsplugin.cpp
+++ b/src/plugins/cpptools/cpptoolsplugin.cpp
@@ -23,31 +23,33 @@
**
****************************************************************************/
-#include "cpptoolsconstants.h"
#include "cpptoolsplugin.h"
-#include "cppfilesettingspage.h"
#include "cppcodemodelsettingspage.h"
#include "cppcodestylesettingspage.h"
+#include "cppfilesettingspage.h"
#include "cppmodelmanager.h"
-#include "cpptoolsjsextension.h"
-#include "cpptoolssettings.h"
-#include "cpptoolsreuse.h"
#include "cppprojectfile.h"
+#include "cppprojectupdater.h"
#include "cpptoolsbridge.h"
+#include "cpptoolsbridgeqtcreatorimplementation.h"
+#include "cpptoolsconstants.h"
+#include "cpptoolsjsextension.h"
+#include "cpptoolsreuse.h"
+#include "cpptoolssettings.h"
#include "projectinfo.h"
#include "stringtable.h"
-#include "cpptoolsbridgeqtcreatorimplementation.h"
#include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/coreconstants.h>
#include <coreplugin/documentmanager.h>
+#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h>
#include <coreplugin/idocument.h>
#include <coreplugin/jsexpander.h>
#include <coreplugin/vcsmanager.h>
#include <cppeditor/cppeditorconstants.h>
+#include <extensionsystem/pluginmanager.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projecttree.h>
@@ -97,6 +99,7 @@ public:
delete m_cppCodeModelSettingsPage;
if (m_cppCodeStyleSettingsPage)
delete m_cppCodeStyleSettingsPage;
+ ExtensionSystem::PluginManager::removeObject(&m_cppProjectUpdaterFactory);
}
QSharedPointer<CppCodeModelSettings> m_codeModelSettings;
@@ -104,6 +107,7 @@ public:
CppFileSettingsPage *m_cppFileSettingsPage = nullptr;
CppCodeModelSettingsPage *m_cppCodeModelSettingsPage = nullptr;
QPointer<CppCodeStyleSettingsPage> m_cppCodeStyleSettingsPage = nullptr;
+ CppProjectUpdaterFactory m_cppProjectUpdaterFactory;
};
CppToolsPlugin::CppToolsPlugin()
@@ -173,6 +177,7 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error)
d = new CppToolsPluginPrivate;
JsExpander::registerGlobalObject<CppToolsJsExtension>("Cpp");
+ ExtensionSystem::PluginManager::addObject(&d->m_cppProjectUpdaterFactory);
// Menus
ActionContainer *mtools = ActionManager::actionContainer(Core::Constants::M_TOOLS);