summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpptoolsplugin.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2013-09-06 13:14:15 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2013-09-13 14:37:48 +0200
commitc9f5a14bdde5a9ba7cbdcddf6b7799abac32a5e2 (patch)
treec4c389cd6ef805f25444de975740bae4adf9794c /src/plugins/cpptools/cpptoolsplugin.cpp
parentf33d145e64aed43e4b59df3cd028b14eca105e71 (diff)
downloadqt-creator-c9f5a14bdde5a9ba7cbdcddf6b7799abac32a5e2.tar.gz
C++: add code-model settings to choose one by mime-type.
The model-manager now supports multiple code models for semantic highlighting and code completion, and will choose one based on the mime-type of the editor. The settings page is currently disabled. It will get enabled when a second plug-in lands that has a ModelManagerSupport class. Change-Id: I10023f52322ed6860397da15dba1c231e80e6517 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cpptoolsplugin.cpp')
-rw-r--r--src/plugins/cpptools/cpptoolsplugin.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp
index 2d027ad091..3d84020d06 100644
--- a/src/plugins/cpptools/cpptoolsplugin.cpp
+++ b/src/plugins/cpptools/cpptoolsplugin.cpp
@@ -30,6 +30,7 @@
#include "cpptoolsconstants.h"
#include "cpptoolsplugin.h"
#include "cppfilesettingspage.h"
+#include "cppcodemodelsettingspage.h"
#include "cppcodestylesettingspage.h"
#include "cppclassesfilter.h"
#include "cppfunctionsfilter.h"
@@ -74,8 +75,9 @@ enum { debug = 0 };
static CppToolsPlugin *m_instance = 0;
static QHash<QString, QString> m_headerSourceMapping;
-CppToolsPlugin::CppToolsPlugin() :
- m_fileSettings(new CppFileSettings)
+CppToolsPlugin::CppToolsPlugin()
+ : m_fileSettings(new CppFileSettings)
+ , m_codeModelSettings(new CppCodeModelSettings)
{
m_instance = this;
}
@@ -127,6 +129,7 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error)
addAutoReleasedObject(new CppFunctionsFilter(locatorData));
addAutoReleasedObject(new CppCurrentDocumentFilter(modelManager));
addAutoReleasedObject(new CppFileSettingsPage(m_fileSettings));
+// addAutoReleasedObject(new CppCodeModelSettingsPage(m_codeModelSettings));
addAutoReleasedObject(new SymbolsFindFilter(modelManager));
addAutoReleasedObject(new CppCodeStyleSettingsPage);
@@ -165,6 +168,7 @@ void CppToolsPlugin::extensionsInitialized()
m_fileSettings->fromSettings(ICore::settings());
if (!m_fileSettings->applySuffixesToMimeDB())
qWarning("Unable to apply cpp suffixes to mime database (cpp mime types not found).\n");
+ m_codeModelSettings->fromSettings(ICore::settings());
}
ExtensionSystem::IPlugin::ShutdownFlag CppToolsPlugin::aboutToShutdown()
@@ -172,6 +176,11 @@ ExtensionSystem::IPlugin::ShutdownFlag CppToolsPlugin::aboutToShutdown()
return SynchronousShutdown;
}
+QSharedPointer<CppCodeModelSettings> CppToolsPlugin::codeModelSettings() const
+{
+ return m_codeModelSettings;
+}
+
void CppToolsPlugin::switchHeaderSource()
{
QString otherFile = correspondingHeaderOrSource(