QFileSystemMetaData: add is{Readable,Writable,Executable} getters

Change-Id: I18cc56435f5e725ad6b80797291cabaf63fc2fb3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Ahmad Samir 2024-02-04 16:15:43 +02:00
parent f4cb42ed0b
commit 803d65dc12
2 changed files with 7 additions and 3 deletions

View File

@ -969,7 +969,7 @@ bool QFileInfo::isReadable() const
Q_D(const QFileInfo);
return d->checkAttribute<bool>(
QFileSystemMetaData::UserReadPermission,
[d]() { return (d->metaData.permissions() & QFile::ReadUser) != 0; },
[d]() { return d->metaData.isReadable(); },
[d]() { return d->getFileFlags(QAbstractFileEngine::ReadUserPerm); });
}
@ -989,7 +989,7 @@ bool QFileInfo::isWritable() const
Q_D(const QFileInfo);
return d->checkAttribute<bool>(
QFileSystemMetaData::UserWritePermission,
[d]() { return (d->metaData.permissions() & QFile::WriteUser) != 0; },
[d]() { return d->metaData.isWritable(); },
[d]() { return d->getFileFlags(QAbstractFileEngine::WriteUserPerm); });
}
@ -1009,7 +1009,7 @@ bool QFileInfo::isExecutable() const
Q_D(const QFileInfo);
return d->checkAttribute<bool>(
QFileSystemMetaData::UserExecutePermission,
[d]() { return (d->metaData.permissions() & QFile::ExeUser) != 0; },
[d]() { return d->metaData.isExecutable(); },
[d]() { return d->getFileFlags(QAbstractFileEngine::ExeUserPerm); });
}

View File

@ -191,6 +191,10 @@ public:
uint groupId() const;
uint ownerId(QAbstractFileEngine::FileOwner owner) const;
bool isReadable() const { return permissions().testAnyFlags(QFile::ReadUser); }
bool isWritable() const { return permissions().testAnyFlags(QFile::WriteUser); }
bool isExecutable() const { return permissions().testAnyFlags(QFile::ExeUser); }
#ifdef Q_OS_UNIX
void fillFromStatxBuf(const struct statx &statBuffer);
void fillFromStatBuf(const QT_STATBUF &statBuffer);