aboutsummaryrefslogtreecommitdiffstats
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
parentacbb8cd54808eaf9ce4e0ebd1baa0f5e9fd78e41 (diff)
Generic highlighter: Create default dir for definitions on user's area (at runtime).
-rw-r--r--share/qtcreator/generic-highlighter/README2
-rw-r--r--share/qtcreator/static.pro2
-rw-r--r--src/plugins/texteditor/generichighlighter/highlightersettings.cpp19
-rw-r--r--src/plugins/texteditor/generichighlighter/highlightersettings.h3
4 files changed, 16 insertions, 10 deletions
diff --git a/share/qtcreator/generic-highlighter/README b/share/qtcreator/generic-highlighter/README
deleted file mode 100644
index eb1647a377..0000000000
--- 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 267dc6c697..ddc10bab70 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 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)
diff --git a/src/plugins/texteditor/generichighlighter/highlightersettings.h b/src/plugins/texteditor/generichighlighter/highlightersettings.h
index e3fb4ca75a..0fbbe7e3ed 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;