aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/generichighlighter/highlightersettings.cpp
diff options
context:
space:
mode:
authorLeandro Melo <leandro.melo@nokia.com>2010-09-29 13:52:58 +0200
committerLeandro Melo <leandro.melo@nokia.com>2010-09-29 14:00:19 +0200
commit81d40def56cbeaa8b908c783084f1adc3b8e51ec (patch)
treed8e0351b6c898ca44a86981d11f19697606ea6ac /src/plugins/texteditor/generichighlighter/highlightersettings.cpp
parentacbb8cd54808eaf9ce4e0ebd1baa0f5e9fd78e41 (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.cpp19
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 &regExp, m_ignoredFiles)