summaryrefslogtreecommitdiffstats
path: root/src/corelib/io
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2022-12-07 16:40:43 +0200
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2022-12-19 11:17:00 +0000
commitf77668ffec48d8aaad7c74069c6f3e770a305ae1 (patch)
tree6dbd2ad14348105ea09aff65e8281facf73cce77 /src/corelib/io
parentd77b5fbcf1225381c78cadf3c1d925f98ca93937 (diff)
Return the QFileInfo::baseName/QDir::dirName() from fileEngine impl
Get those values from the file engine instead, this is relevant especially on Android for content uris. Pick-to: 6.5 6.4 6.2 Task-number: QTBUG-98974 Change-Id: I65fe4c59e5f1feed0dcf14cc8988b4a40d9d979e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/corelib/io')
-rw-r--r--src/corelib/io/qdir.cpp4
-rw-r--r--src/corelib/io/qfileinfo.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp
index f2ed537d98..3e42ad0979 100644
--- a/src/corelib/io/qdir.cpp
+++ b/src/corelib/io/qdir.cpp
@@ -661,7 +661,9 @@ QString QDir::canonicalPath() const
QString QDir::dirName() const
{
Q_D(const QDir);
- return d->dirEntry.fileName();
+ if (!d_ptr->fileEngine)
+ return d->dirEntry.fileName();
+ return d->fileEngine->fileName(QAbstractFileEngine::BaseName);
}
diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp
index 963a936d3a..351fbc3d86 100644
--- a/src/corelib/io/qfileinfo.cpp
+++ b/src/corelib/io/qfileinfo.cpp
@@ -783,7 +783,9 @@ QString QFileInfo::baseName() const
Q_D(const QFileInfo);
if (d->isDefaultConstructed)
return ""_L1;
- return d->fileEntry.baseName();
+ if (!d_ptr->fileEngine)
+ return d->fileEntry.baseName();
+ return QFileSystemEntry(d->fileEngine->fileName(QAbstractFileEngine::BaseName)).baseName();
}
/*!