diff options
author | Thomas Zander <t.zander@nokia.com> | 2010-09-10 15:15:43 +0200 |
---|---|---|
committer | Thomas Zander <t.zander@nokia.com> | 2010-09-10 15:15:43 +0200 |
commit | cc23ac99d68af5c9bf537e5451b7ee7c7698e954 (patch) | |
tree | fe91ec2dd40894369ce0b76f9c74c2e140765486 /src/corelib/io/qfileinfo.cpp | |
parent | 69b8cf630e9cc83cd678814bf88495c7fbb438f4 (diff) |
Move resolving of user/group name to the engine.
Reviewed-by: João Abecasis
Diffstat (limited to 'src/corelib/io/qfileinfo.cpp')
-rw-r--r-- | src/corelib/io/qfileinfo.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp index 68f1f55b4e..d49ee74e5e 100644 --- a/src/corelib/io/qfileinfo.cpp +++ b/src/corelib/io/qfileinfo.cpp @@ -101,10 +101,21 @@ QString QFileInfoPrivate::getFileName(QAbstractFileEngine::FileName name) const QString QFileInfoPrivate::getFileOwner(QAbstractFileEngine::FileOwner own) const { - Q_ASSERT(fileEngine); // should never be called when using the native FS if (cache_enabled && !fileOwners[(int)own].isNull()) return fileOwners[(int)own]; - QString ret = fileEngine->owner(own); + QString ret; + if (fileEngine == 0) { + switch (own) { + case QAbstractFileEngine::OwnerUser: + ret = QFileSystemEngine::resolveUserName(fileEntry, metaData); + break; + case QAbstractFileEngine::OwnerGroup: + ret = QFileSystemEngine::resolveGroupName(fileEntry, metaData); + break; + } + } else { + ret = fileEngine->owner(own); + } if (ret.isNull()) ret = QLatin1String(""); if (cache_enabled) @@ -1078,11 +1089,6 @@ QString QFileInfo::owner() const Q_D(const QFileInfo); if (d->isDefaultConstructed) return QLatin1String(""); - if (d->fileEngine == 0) { - if (!d->cache_enabled || !d->metaData.hasFlags(QFileSystemMetaData::UserName)) - QFileSystemEngine::fillMetaData(d->fileEntry, d->metaData, QFileSystemMetaData::UserName); - return d->metaData.user(); - } return d->getFileOwner(QAbstractFileEngine::OwnerUser); } @@ -1122,11 +1128,6 @@ QString QFileInfo::group() const Q_D(const QFileInfo); if (d->isDefaultConstructed) return QLatin1String(""); - if (d->fileEngine == 0) { - if (!d->cache_enabled || !d->metaData.hasFlags(QFileSystemMetaData::GroupName)) - QFileSystemEngine::fillMetaData(d->fileEntry, d->metaData, QFileSystemMetaData::GroupName); - return d->metaData.group(); - } return d->getFileOwner(QAbstractFileEngine::OwnerGroup); } |