diff --git a/share/qtcreator/generic-highlighter/README b/share/qtcreator/generic-highlighter/README deleted file mode 100644 index eb1647a377b2e789c4251d51327b7de97fe40e8f..0000000000000000000000000000000000000000 --- a/share/qtcreator/generic-highlighter/README +++ /dev/null @@ -1,2 +0,0 @@ -This is Creator's default directory for syntax highlight definitions. -You can download them through the Generic Highlighter options dialog. diff --git a/share/qtcreator/static.pro b/share/qtcreator/static.pro index 267dc6c697594b122dc7788b28fb94e1623dadf6..ddc10bab7043e34c592a7753428a7659bc0f3d1b 100644 --- a/share/qtcreator/static.pro +++ b/share/qtcreator/static.pro @@ -35,7 +35,7 @@ DATA_DIRS = \ qmlicons \ qml \ qml-type-descriptions \ - generic-highlighter + qmljsdebugger !isEmpty(copydata) { diff --git a/src/plugins/texteditor/generichighlighter/highlightersettings.cpp b/src/plugins/texteditor/generichighlighter/highlightersettings.cpp index ec6c59ab5666c5e06fa06143dbb500fe4390519f..2298df67aa52890c3f5d822a3a8c021c5a291eda 100644 --- a/src/plugins/texteditor/generichighlighter/highlightersettings.cpp +++ b/src/plugins/texteditor/generichighlighter/highlightersettings.cpp @@ -34,9 +34,9 @@ #include <QtCore/QSettings> #include <QtCore/QLatin1String> #include <QtCore/QLatin1Char> -#include <QtCore/QDebug> -#ifdef Q_OS_UNIX #include <QtCore/QDir> +#include <QtCore/QFile> +#ifdef Q_OS_UNIX #include <QtCore/QProcess> #endif @@ -135,8 +135,7 @@ void HighlighterSettings::fromSettings(const QString &category, QSettings *s) s->beginGroup(group); m_definitionFilesPath = s->value(kDefinitionFilesPath, QString()).toString(); if (!s->contains(kDefinitionFilesPath)) - m_definitionFilesPath = Core::ICore::instance()->resourcePath() + - QLatin1String("/generic-highlighter"); + assignDefaultDefinitionsPath(); else m_definitionFilesPath = s->value(kDefinitionFilesPath).toString(); if (!s->contains(kFallbackDefinitionFilesPath)) { @@ -151,7 +150,7 @@ void HighlighterSettings::fromSettings(const QString &category, QSettings *s) } m_alertWhenNoDefinition = s->value(kAlertWhenDefinitionIsNotFound, true).toBool(); if (!s->contains(kIgnoredFilesPatterns)) - assignInitialIgnoredPatterns(); + assignDefaultIgnoredPatterns(); else setIgnoredFilesPatterns(s->value(kIgnoredFilesPatterns, QString()).toString()); s->endGroup(); @@ -167,7 +166,7 @@ QString HighlighterSettings::ignoredFilesPatterns() const return listFromExpressions().join(QLatin1String(",")); } -void HighlighterSettings::assignInitialIgnoredPatterns() +void HighlighterSettings::assignDefaultIgnoredPatterns() { QStringList patterns; patterns << QLatin1String("*.txt") @@ -180,6 +179,14 @@ void HighlighterSettings::assignInitialIgnoredPatterns() setExpressionsFromList(patterns); } +void HighlighterSettings::assignDefaultDefinitionsPath() +{ + const QString &path = + Core::ICore::instance()->userResourcePath() + QLatin1String("/generic-highlighter"); + if (QFile::exists(path) || QDir().mkpath(path)) + m_definitionFilesPath = path; +} + bool HighlighterSettings::isIgnoredFilePattern(const QString &fileName) const { foreach (const QRegExp ®Exp, m_ignoredFiles) diff --git a/src/plugins/texteditor/generichighlighter/highlightersettings.h b/src/plugins/texteditor/generichighlighter/highlightersettings.h index e3fb4ca75a70836730aaa84354aacf4da41cefbc..0fbbe7e3eda22bffae3b4834dce9adfa7e5055e2 100644 --- a/src/plugins/texteditor/generichighlighter/highlightersettings.h +++ b/src/plugins/texteditor/generichighlighter/highlightersettings.h @@ -68,7 +68,8 @@ public: bool equals(const HighlighterSettings &highlighterSettings) const; private: - void assignInitialIgnoredPatterns(); + void assignDefaultIgnoredPatterns(); + void assignDefaultDefinitionsPath(); void setExpressionsFromList(const QStringList &patterns); QStringList listFromExpressions() const;