summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews/qdirmodel.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-07-06 13:52:42 +0200
committerLiang Qi <liang.qi@qt.io>2017-07-06 13:54:25 +0200
commit7f269a5db8b88fbb14ee741f78e726b1a46c7d4d (patch)
treefa63387e6f70187e656dd9e6c4f1cd1b1f96c263 /src/widgets/itemviews/qdirmodel.cpp
parent9ca3443a37284bedaf74475c26af173b00757178 (diff)
parent03b4838cb51513bd5d2edf76dccc4bc4a1181681 (diff)
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts: .qmake.conf Change-Id: I43531e087bb810889d5c1fbfcdffb29b78804839
Diffstat (limited to 'src/widgets/itemviews/qdirmodel.cpp')
-rw-r--r--src/widgets/itemviews/qdirmodel.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/widgets/itemviews/qdirmodel.cpp b/src/widgets/itemviews/qdirmodel.cpp
index 9d2e69dec9..9b54c5c2fe 100644
--- a/src/widgets/itemviews/qdirmodel.cpp
+++ b/src/widgets/itemviews/qdirmodel.cpp
@@ -52,6 +52,7 @@
#include <qstyle.h>
#include <qapplication.h>
#include <private/qabstractitemmodel_p.h>
+#include <private/qfilesystementry_p.h>
#include <qdebug.h>
#include <stack>
@@ -1104,8 +1105,9 @@ QString QDirModel::fileName(const QModelIndex &index) const
if (!d->indexValid(index))
return QString();
QFileInfo info = fileInfo(index);
- if (info.isRoot())
- return info.absoluteFilePath();
+ const QString &path = info.absoluteFilePath();
+ if (QFileSystemEntry::isRootPath(path))
+ return path;
if (d->resolveSymlinks && info.isSymLink())
info = d->resolvedInfo(info);
return info.fileName();
@@ -1280,8 +1282,8 @@ QString QDirModelPrivate::name(const QModelIndex &index) const
{
const QDirNode *n = node(index);
const QFileInfo info = n->info;
- if (info.isRoot()) {
- QString name = info.absoluteFilePath();
+ QString name = info.absoluteFilePath();
+ if (QFileSystemEntry::isRootPath(name)) {
#if defined(Q_OS_WIN)
if (name.startsWith(QLatin1Char('/'))) // UNC host
return info.fileName();