diff options
author | Leandro Melo <leandro.melo@nokia.com> | 2010-09-29 13:52:58 +0200 |
---|---|---|
committer | Leandro Melo <leandro.melo@nokia.com> | 2010-09-29 14:00:19 +0200 |
commit | 81d40def56cbeaa8b908c783084f1adc3b8e51ec (patch) | |
tree | d8e0351b6c898ca44a86981d11f19697606ea6ac /src/plugins/texteditor/generichighlighter/highlightersettings.cpp | |
parent | acbb8cd54808eaf9ce4e0ebd1baa0f5e9fd78e41 (diff) |
Generic highlighter: Create default dir for definitions on user's area (at runtime).
Diffstat (limited to 'src/plugins/texteditor/generichighlighter/highlightersettings.cpp')
-rw-r--r-- | src/plugins/texteditor/generichighlighter/highlightersettings.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/plugins/texteditor/generichighlighter/highlightersettings.cpp b/src/plugins/texteditor/generichighlighter/highlightersettings.cpp index ec6c59ab56..2298df67aa 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) |