summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/utils.cpp')
-rw-r--r--rbutil/rbutilqt/utils.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/rbutil/rbutilqt/utils.cpp b/rbutil/rbutilqt/utils.cpp
index d77a1ac125..f18a15e15b 100644
--- a/rbutil/rbutilqt/utils.cpp
+++ b/rbutil/rbutilqt/utils.cpp
@@ -61,10 +61,21 @@ bool recRmdir( const QString &dirName )
61QString resolvePathCase(QString path) 61QString resolvePathCase(QString path)
62{ 62{
63 QStringList elems; 63 QStringList elems;
64 QString realpath = "/"; 64 QString realpath;
65
65 elems = path.split("/", QString::SkipEmptyParts); 66 elems = path.split("/", QString::SkipEmptyParts);
67 int start;
68#if defined(Q_OS_WIN32)
69 // on windows we must make sure to start with the first entry (i.e. the
70 // drive letter) instead of a single / to make resolving work.
71 start = 1;
72 realpath = elems.at(0) + "/";
73#else
74 start = 0;
75 realpath = "/";
76#endif
66 77
67 for(int i = 0; i < elems.size(); i++) { 78 for(int i = start; i < elems.size(); i++) {
68 QStringList direlems = QDir(realpath).entryList(QDir::AllEntries); 79 QStringList direlems = QDir(realpath).entryList(QDir::AllEntries);
69 if(direlems.contains(elems.at(i), Qt::CaseInsensitive)) { 80 if(direlems.contains(elems.at(i), Qt::CaseInsensitive)) {
70 // need to filter using QRegExp as QStringList::filter(QString) 81 // need to filter using QRegExp as QStringList::filter(QString)