27 const QFileSystemMetaData &ensureFilled(QFileSystemMetaData::MetaDataFlags what)
29 if (!metaData.hasFlags(what))
30 QFileSystemEngine::fillMetaData(entry, metaData, what);
38 fileInfoOpt.emplace(
new QFileInfoPrivate(entry, metaData));
45 {
return fileInfoOpt ? fileInfoOpt->fileName() : entry.fileName(); }
47 {
return fileInfoOpt ? fileInfoOpt->baseName() : entry.baseName(); }
49 {
return fileInfoOpt ? fileInfoOpt->completeBaseName() : entry.completeBaseName(); }
51 {
return fileInfoOpt ? fileInfoOpt->suffix() : entry.suffix(); }
53 {
return fileInfoOpt ? fileInfoOpt->completeSuffix() : entry.completeSuffix(); }
55 {
return fileInfoOpt ? fileInfoOpt->filePath() : entry.filePath(); }
78 return fileInfoOpt->isDir();
80 return ensureFilled(QFileSystemMetaData::DirectoryType).isDirectory();
85 return fileInfoOpt->isFile();
87 return ensureFilled(QFileSystemMetaData::FileType).isFile();
92 return fileInfoOpt->isSymLink();
94 return ensureFilled(QFileSystemMetaData::LegacyLinkType).isLegacyLink();
99 return fileInfoOpt->isSymbolicLink();
101 return ensureFilled(QFileSystemMetaData::LinkType).isLink();
106 return fileInfoOpt->exists();
108 return ensureFilled(QFileSystemMetaData::ExistsAttribute).exists();
113 return fileInfoOpt->isHidden();
115 return ensureFilled(QFileSystemMetaData::HiddenAttribute).isHidden();
120 return fileInfoOpt->isReadable();
122 return ensureFilled(QFileSystemMetaData::UserReadPermission).isReadable();
127 return fileInfoOpt->isWritable();
129 return ensureFilled(QFileSystemMetaData::UserWritePermission).isWritable();
134 return fileInfoOpt->isExecutable();
136 return ensureFilled(QFileSystemMetaData::UserExecutePermission).isExecutable();
150 QFileSystemEntry entry;
151 QFileSystemMetaData metaData;
const QFileInfo & fileInfo()
QString absoluteFilePath()
QString canonicalFilePath()
QDateTime fileTime(QFile::FileTime type, const QTimeZone &tz)
QString completeSuffix() const
QString completeBaseName() const