aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/generichighlighter/highlightersettings.cpp
diff options
context:
space:
mode:
authordt <qtc-committer@nokia.com>2010-11-10 17:00:07 +0100
committerdt <qtc-committer@nokia.com>2010-11-10 17:02:40 +0100
commit4ac7253205d8aea12fce85f110b536f7e1fa0230 (patch)
treecc59733aad7b99cd7f20fd988c5a25fc7c5df2cd /src/plugins/texteditor/generichighlighter/highlightersettings.cpp
parentf987eccd28a493d6db30761c86e37b49a17d5b8c (diff)
parentfb46c31934c44ee1f83075b5f3647df4eec588c7 (diff)
Merge remote branch 'origin/2.1'
Conflicts: share/qtcreator/static.pro src/plugins/cppeditor/cppeditor.cpp src/plugins/qmljseditor/qmljseditor.cpp src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.ui src/plugins/qt4projectmanager/qtoutputformatter.cpp src/plugins/texteditor/generichighlighter/highlightersettings.cpp
Diffstat (limited to 'src/plugins/texteditor/generichighlighter/highlightersettings.cpp')
-rw-r--r--src/plugins/texteditor/generichighlighter/highlightersettings.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/plugins/texteditor/generichighlighter/highlightersettings.cpp b/src/plugins/texteditor/generichighlighter/highlightersettings.cpp
index f2bf4e32a4..c87c0ba825 100644
--- a/src/plugins/texteditor/generichighlighter/highlightersettings.cpp
+++ b/src/plugins/texteditor/generichighlighter/highlightersettings.cpp
@@ -36,6 +36,7 @@
#include <QtCore/QLatin1Char>
#include <QtCore/QDir>
#include <QtCore/QFile>
+#include <QtCore/QStringList>
#ifdef Q_OS_UNIX
#include <QtCore/QProcess>
#endif
@@ -43,8 +44,11 @@
namespace TextEditor {
namespace Internal {
-QString findDefinitionsLocation()
+QString findFallbackDefinitionsLocation()
{
+ QDir dir;
+ dir.setNameFilters(QStringList(QLatin1String("*.xml")));
+
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
static const QLatin1String kateSyntax[] = {
QLatin1String("/share/apps/katepart/syntax"),
@@ -54,7 +58,6 @@ QString findDefinitionsLocation()
sizeof(kateSyntax) / sizeof(kateSyntax[0]);
// Some wild guesses.
- QDir dir;
for (int i = 0; i < kateSyntaxCount; ++i) {
QStringList paths;
paths << QLatin1String("/usr") + kateSyntax[i]
@@ -62,7 +65,7 @@ QString findDefinitionsLocation()
<< QLatin1String("/opt") + kateSyntax[i];
foreach (const QString &path, paths) {
dir.setPath(path);
- if (dir.exists())
+ if (dir.exists() && !dir.entryInfoList().isEmpty())
return dir.path();
}
}
@@ -79,13 +82,17 @@ QString findDefinitionsLocation()
output.remove(QLatin1Char('\n'));
for (int i = 0; i < kateSyntaxCount; ++i) {
dir.setPath(output + kateSyntax[i]);
- if (dir.exists())
+ if (dir.exists() && !dir.entryInfoList().isEmpty())
return dir.path();
}
}
}
#endif
+ dir.setPath(Core::ICore::instance()->resourcePath() + QLatin1String("/generic-highlighter"));
+ if (dir.exists() && !dir.entryInfoList().isEmpty())
+ return dir.path();
+
return QString();
}
@@ -139,7 +146,7 @@ void HighlighterSettings::fromSettings(const QString &category, QSettings *s)
else
m_definitionFilesPath = s->value(kDefinitionFilesPath).toString();
if (!s->contains(kFallbackDefinitionFilesPath)) {
- m_fallbackDefinitionFilesPath = findDefinitionsLocation();
+ m_fallbackDefinitionFilesPath = findFallbackDefinitionsLocation();
if (m_fallbackDefinitionFilesPath.isEmpty())
m_useFallbackLocation = false;
else