10 #include "util/Utilities.h"
12 #include <QStringList>
15 QMap<QString,LanguageType> createMap() {
16 QMap<QString,LanguageType> types;
28 QMap<QString,LanguageType> Utilities::types = createMap();
32 if (!types.contains(ext))
return NONE;
33 else return types[ext];
38 QMap<QString,LanguageType>::iterator it;
39 for (it = types.begin(); it != types.end(); it++)
40 if(type == it.value())
45 QString Utilities::relativePath( QString absolutePath, QString relativeTo,
49 absolutePath = absolutePath.replace(
"\\",
"/");
50 relativeTo = relativeTo.replace(
"\\",
"/");
52 QStringList absoluteDirectories = absolutePath.split(
"/",
53 QString::SkipEmptyParts);
54 QStringList relativeDirectories = relativeTo.split(
"/",
55 QString::SkipEmptyParts);
59 absoluteDirectories.count() < relativeDirectories.count() ?
60 absoluteDirectories.count() : relativeDirectories.count();
63 int lastCommonRoot = -1;
67 for (index = 0; index < length; index++)
68 if (absoluteDirectories[index] == relativeDirectories[index])
69 lastCommonRoot = index;
74 if (lastCommonRoot == -1)
75 throw QString(
"Paths do not have a common base");
81 for (index = lastCommonRoot + 1;
82 index < absoluteDirectories.count() - (bIsFile?1:0); index++)
84 if (absoluteDirectories[index].length() > 0)
86 relativePath.append(
"../");
92 for (index = lastCommonRoot + 1; index < relativeDirectories.count() - 1;
95 relativePath.append( relativeDirectories[index] ).append(
"/");
98 relativePath.append(relativeDirectories[relativeDirectories.count() - 1]);
103 QString Utilities::getLastFileDialogPath()
105 GlobalSettings settings;
106 QString lastFileDialogPath = QDir::homePath();
108 settings.beginGroup(
"mainwindow");
109 if(settings.contains(
"lastFileDialogPath"))
110 lastFileDialogPath = settings.value(
"lastFileDialogPath").toString();
113 qDebug() << lastFileDialogPath;
115 return lastFileDialogPath;
118 void Utilities::updateLastFileDialogPath(QString filepath)
120 QFileInfo fileInfo(filepath);
122 GlobalSettings settings;
123 settings.beginGroup(
"mainwindow");
124 settings.setValue(
"lastFileDialogPath", fileInfo.absolutePath());