diff --git a/src/plugins/cpptools/cppcodemodelsettings.cpp b/src/plugins/cpptools/cppcodemodelsettings.cpp index ae95fb0460c..4fad991003c 100644 --- a/src/plugins/cpptools/cppcodemodelsettings.cpp +++ b/src/plugins/cpptools/cppcodemodelsettings.cpp @@ -33,7 +33,6 @@ #include "cpptoolsconstants.h" using namespace CppTools; -using namespace CppTools::Internal; static QLatin1String cppHeaderMimeType(Constants::CPP_HEADER_MIMETYPE); static QLatin1String cHeaderMimeType(Constants::C_HEADER_MIMETYPE); @@ -42,11 +41,10 @@ void CppCodeModelSettings::fromSettings(QSettings *s) { s->beginGroup(QLatin1String(Constants::CPPTOOLS_SETTINGSGROUP)); QVariant supporters = s->value(QLatin1String(Constants::CPPTOOLS_MODEL_MANAGER_SUPPORTERS_KEY)); - setIdForMimeType(supporters, QLatin1String(Constants::C_SOURCE_MIMETYPE)); - setIdForMimeType(supporters, QLatin1String(Constants::CPP_SOURCE_MIMETYPE)); - setIdForMimeType(supporters, QLatin1String(Constants::OBJECTIVE_C_SOURCE_MIMETYPE)); - setIdForMimeType(supporters, QLatin1String(Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE)); - setIdForMimeType(supporters, QLatin1String(Constants::CPP_HEADER_MIMETYPE)); + + foreach (const QString &mimeType, supportedMimeTypes()) + setIdForMimeType(supporters, mimeType); + QVariant v = s->value(QLatin1String(Constants::CPPTOOLS_MODEL_MANAGER_PCH_USAGE), PchUse_None); setPCHUsage(static_cast(v.toInt())); s->endGroup(); @@ -63,6 +61,17 @@ void CppCodeModelSettings::toSettings(QSettings *s) s->endGroup(); } +QStringList CppCodeModelSettings::supportedMimeTypes() +{ + return QStringList({ + QLatin1String(Constants::C_SOURCE_MIMETYPE), + QLatin1String(Constants::CPP_SOURCE_MIMETYPE), + QLatin1String(Constants::OBJECTIVE_C_SOURCE_MIMETYPE), + QLatin1String(Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE), + QLatin1String(Constants::CPP_HEADER_MIMETYPE) + }); +} + void CppCodeModelSettings::setModelManagerSupports(const QList &supporters) { m_availableModelManagerSupportersByName.clear(); diff --git a/src/plugins/cpptools/cppcodemodelsettings.h b/src/plugins/cpptools/cppcodemodelsettings.h index 8896b8e9443..17c36864431 100644 --- a/src/plugins/cpptools/cppcodemodelsettings.h +++ b/src/plugins/cpptools/cppcodemodelsettings.h @@ -28,8 +28,10 @@ ** ****************************************************************************/ -#ifndef CPPTOOLS_INTERNAL_CPPCODEMODELSETTINGS_H -#define CPPTOOLS_INTERNAL_CPPCODEMODELSETTINGS_H +#ifndef CPPTOOLS_CPPCODEMODELSETTINGS_H +#define CPPTOOLS_CPPCODEMODELSETTINGS_H + +#include "cpptools_global.h" #include #include @@ -40,9 +42,7 @@ namespace CppTools { class ModelManagerSupport; -namespace Internal { - -class CppCodeModelSettings +class CPPTOOLS_EXPORT CppCodeModelSettings { public: enum PCHUsage { @@ -73,6 +73,8 @@ public: PCHUsage pchUsage() const { return m_pchUsage; } void setPCHUsage(PCHUsage pchUsage) { m_pchUsage = pchUsage; } + static QStringList supportedMimeTypes(); + private: void setIdForMimeType(const QVariant &var, const QString &mimeType); @@ -83,7 +85,6 @@ private: PCHUsage m_pchUsage; }; -} // namespace Internal } // namespace CppTools -#endif // CPPTOOLS_INTERNAL_CPPCODEMODELSETTINGS_H +#endif // CPPTOOLS_CPPCODEMODELSETTINGS_H diff --git a/src/plugins/cpptools/cpptoolsplugin.h b/src/plugins/cpptools/cpptoolsplugin.h index 59255029242..cd5ceecce63 100644 --- a/src/plugins/cpptools/cpptoolsplugin.h +++ b/src/plugins/cpptools/cpptoolsplugin.h @@ -48,11 +48,11 @@ namespace Utils { class FileName; } namespace CppTools { class CppToolsSettings; +class CppCodeModelSettings; namespace Internal { struct CppFileSettings; -class CppCodeModelSettings; class CppToolsPlugin : public ExtensionSystem::IPlugin { diff --git a/src/plugins/cpptools/cpptoolsreuse.cpp b/src/plugins/cpptools/cpptoolsreuse.cpp index 05e5f868309..1478d34a6fa 100644 --- a/src/plugins/cpptools/cpptoolsreuse.cpp +++ b/src/plugins/cpptools/cpptoolsreuse.cpp @@ -30,6 +30,8 @@ #include "cpptoolsreuse.h" +#include "cpptoolsplugin.h" + #include #include #include @@ -251,6 +253,11 @@ TextEditor::TextEditorWidget::Link linkToSymbol(Symbol *symbol) return Link(filename, line, column); } +QSharedPointer codeModelSettings() +{ + return CppTools::Internal::CppToolsPlugin::instance()->codeModelSettings(); +} + int fileSizeLimit() { static const QByteArray fileSizeLimitAsByteArray = qgetenv("QTC_CPP_FILE_SIZE_LIMIT_MB"); diff --git a/src/plugins/cpptools/cpptoolsreuse.h b/src/plugins/cpptools/cpptoolsreuse.h index f8954111c01..62d0df71ccf 100644 --- a/src/plugins/cpptools/cpptoolsreuse.h +++ b/src/plugins/cpptools/cpptoolsreuse.h @@ -75,6 +75,9 @@ const CPlusPlus::Macro CPPTOOLS_EXPORT *findCanonicalMacro(const QTextCursor &cu QString CPPTOOLS_EXPORT correspondingHeaderOrSource(const QString &fileName, bool *wasHeader = 0); void CPPTOOLS_EXPORT switchHeaderSource(); +class CppCodeModelSettings; +QSharedPointer CPPTOOLS_EXPORT codeModelSettings(); + int fileSizeLimit(); bool skipFileDueToSizeLimit(const QFileInfo &fileInfo, int limitInMB = fileSizeLimit());