forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/3.6'
Change-Id: Ibee24c1c80984cdc45e7bcf3e4fbb5f1e6b81454
This commit is contained in:
@@ -94,7 +94,7 @@ bool ClangCodeModelPlugin::initialize(const QStringList &arguments, QString *err
|
||||
pchManager, &PchManager::onProjectPartsUpdated);
|
||||
|
||||
// Register ModelManagerSupportProvider
|
||||
cppModelManager->addModelManagerSupportProvider(&m_modelManagerSupportProvider);
|
||||
cppModelManager->setClangModelManagerSupportProvider(&m_modelManagerSupportProvider);
|
||||
|
||||
initializeTextMarks();
|
||||
|
||||
|
||||
@@ -174,13 +174,8 @@ void ModelManagerSupportClang::onEditorOpened(Core::IEditor *editor)
|
||||
TextEditor::TextDocument *textDocument = qobject_cast<TextEditor::TextDocument *>(document);
|
||||
|
||||
if (textDocument && cppModelManager()->isCppEditor(editor)) {
|
||||
const QString clangSupportId = QLatin1String(Constants::CLANG_MODELMANAGERSUPPORT_ID);
|
||||
if (cppModelManager()->isManagedByModelManagerSupport(textDocument, clangSupportId)) {
|
||||
connectTextDocumentToTranslationUnit(textDocument);
|
||||
connectToWidgetsMarkContextMenuRequested(editor->widget());
|
||||
} else {
|
||||
connectTextDocumentToUnsavedFiles(textDocument);
|
||||
}
|
||||
connectTextDocumentToTranslationUnit(textDocument);
|
||||
connectToWidgetsMarkContextMenuRequested(editor->widget());
|
||||
|
||||
// TODO: Ensure that not fully loaded documents are updated?
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ static const QLatin1Char kDoubleQuote('"');
|
||||
static const QLatin1Char kNewLine('\n');
|
||||
static const QLatin1Char kHorizontalTab('\t');
|
||||
|
||||
const char CLANG_MODELMANAGERSUPPORT_ID[] = "ClangCodeMode.ClangCodeMode";
|
||||
const char CLANG_MODELMANAGERSUPPORT_ID[] = "ClangCodeModel.ClangCodeModel";
|
||||
const char CLANG_ERROR[] = "Clang.Error";
|
||||
const char CLANG_WARNING[] = "Clang.Warning";
|
||||
|
||||
|
||||
@@ -35,13 +35,11 @@
|
||||
#include "../clangmodelmanagersupport.h"
|
||||
|
||||
#include <clangcodemodel/clangeditordocumentprocessor.h>
|
||||
#include <clangcodemodel/constants.h>
|
||||
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <coreplugin/editormanager/ieditor.h>
|
||||
#include <coreplugin/icore.h>
|
||||
#include <cpptools/cppcodemodelsettings.h>
|
||||
#include <cpptools/cpptoolsconstants.h>
|
||||
#include <cpptools/cpptoolsreuse.h>
|
||||
#include <cpptools/cpptoolstestcase.h>
|
||||
#include <cpptools/modelmanagertesthelper.h>
|
||||
@@ -857,7 +855,7 @@ private:
|
||||
ActivateClangModelManagerSupport();
|
||||
|
||||
CppCodeModelSettingsPtr m_codeModelSettings;
|
||||
QHash<QString, QString> m_previousValues;
|
||||
bool m_clangCodeModelWasUsedPreviously;
|
||||
};
|
||||
|
||||
ActivateClangModelManagerSupport::ActivateClangModelManagerSupport(
|
||||
@@ -865,22 +863,16 @@ ActivateClangModelManagerSupport::ActivateClangModelManagerSupport(
|
||||
: m_codeModelSettings(codeModelSettings)
|
||||
{
|
||||
QTC_CHECK(m_codeModelSettings);
|
||||
const QString clangModelManagerSupportId
|
||||
= QLatin1String(Constants::CLANG_MODELMANAGERSUPPORT_ID);
|
||||
foreach (const QString &mimeType, CppTools::CppCodeModelSettings::supportedMimeTypes()) {
|
||||
m_previousValues.insert(mimeType,
|
||||
m_codeModelSettings->modelManagerSupportIdForMimeType(mimeType));
|
||||
m_codeModelSettings->setModelManagerSupportIdForMimeType(mimeType,
|
||||
clangModelManagerSupportId);
|
||||
}
|
||||
|
||||
m_clangCodeModelWasUsedPreviously = m_codeModelSettings->useClangCodeModel();
|
||||
|
||||
m_codeModelSettings->setUseClangCodeModel(true);
|
||||
m_codeModelSettings->emitChanged();
|
||||
}
|
||||
|
||||
ActivateClangModelManagerSupport::~ActivateClangModelManagerSupport()
|
||||
{
|
||||
QHash<QString, QString>::const_iterator i = m_previousValues.constBegin();
|
||||
for (; i != m_previousValues.end(); ++i)
|
||||
m_codeModelSettings->setModelManagerSupportIdForMimeType(i.key(), i.value());
|
||||
m_codeModelSettings->setUseClangCodeModel(m_clangCodeModelWasUsedPreviously);
|
||||
m_codeModelSettings->emitChanged();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user