From 81d40def56cbeaa8b908c783084f1adc3b8e51ec Mon Sep 17 00:00:00 2001 From: Leandro Melo <leandro.melo@nokia.com> Date: Wed, 29 Sep 2010 13:52:58 +0200 Subject: [PATCH] Generic highlighter: Create default dir for definitions on user's area (at runtime). --- share/qtcreator/generic-highlighter/README | 2 -- share/qtcreator/static.pro | 2 +- .../highlightersettings.cpp | 19 +++++++++++++------ .../generichighlighter/highlightersettings.h | 3 ++- 4 files changed, 16 insertions(+), 10 deletions(-) delete mode 100644 share/qtcreator/generic-highlighter/README diff --git a/share/qtcreator/generic-highlighter/README b/share/qtcreator/generic-highlighter/README deleted file mode 100644 index eb1647a377b..00000000000 --- 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 267dc6c6975..ddc10bab704 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 ec6c59ab566..2298df67aa5 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 e3fb4ca75a7..0fbbe7e3eda 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; -- GitLab