diff --git a/src/corelib/io/qabstractfileengine.cpp b/src/corelib/io/qabstractfileengine.cpp index 25dfe79d644..179ac168008 100644 --- a/src/corelib/io/qabstractfileengine.cpp +++ b/src/corelib/io/qabstractfileengine.cpp @@ -288,20 +288,6 @@ QAbstractFileEngine *QAbstractFileEngine::create(const QString &fileName) \sa fileFlags(), setFileName() */ -/*! - \enum QAbstractFileEngine::FileTime - - These are used by the fileTime() function. - - \value BirthTime When the file was born (created). - \value MetadataChangeTime When the file's metadata was last changed. - \value ModificationTime When the file was most recently modified. - \value AccessTime When the file was most recently accessed (e.g. - read or written to). - - \sa setFileName() -*/ - /*! \enum QAbstractFileEngine::FileOwner @@ -695,7 +681,7 @@ QString QAbstractFileEngine::owner(FileOwner owner) const \sa fileTime() */ -bool QAbstractFileEngine::setFileTime(const QDateTime &newDate, FileTime time) +bool QAbstractFileEngine::setFileTime(const QDateTime &newDate, QFile::FileTime time) { Q_UNUSED(newDate); Q_UNUSED(time); @@ -712,7 +698,7 @@ bool QAbstractFileEngine::setFileTime(const QDateTime &newDate, FileTime time) \sa setFileName(), QDateTime, QDateTime::isValid(), FileTime */ -QDateTime QAbstractFileEngine::fileTime(FileTime time) const +QDateTime QAbstractFileEngine::fileTime(QFile::FileTime time) const { Q_UNUSED(time); return QDateTime(); diff --git a/src/corelib/io/qabstractfileengine_p.h b/src/corelib/io/qabstractfileengine_p.h index 28f07bf8f95..243f50b34c2 100644 --- a/src/corelib/io/qabstractfileengine_p.h +++ b/src/corelib/io/qabstractfileengine_p.h @@ -80,12 +80,7 @@ public: OwnerUser, OwnerGroup }; - enum FileTime { - AccessTime, - BirthTime, - MetadataChangeTime, - ModificationTime - }; + virtual ~QAbstractFileEngine(); @@ -116,8 +111,8 @@ public: virtual QString fileName(FileName file=DefaultName) const; virtual uint ownerId(FileOwner) const; virtual QString owner(FileOwner) const; - virtual bool setFileTime(const QDateTime &newDate, FileTime time); - virtual QDateTime fileTime(FileTime time) const; + virtual bool setFileTime(const QDateTime &newDate, QFile::FileTime time); + virtual QDateTime fileTime(QFile::FileTime time) const; virtual void setFileName(const QString &file); virtual int handle() const; virtual bool cloneTo(QAbstractFileEngine *target); diff --git a/src/corelib/io/qfiledevice.cpp b/src/corelib/io/qfiledevice.cpp index 092b09ae055..d3b493a1ccb 100644 --- a/src/corelib/io/qfiledevice.cpp +++ b/src/corelib/io/qfiledevice.cpp @@ -734,15 +734,6 @@ bool QFileDevice::unmap(uchar *address) \sa setFileTime(), fileTime(), QFileInfo::fileTime() */ -static inline QAbstractFileEngine::FileTime FileDeviceTimeToAbstractFileEngineTime(QFileDevice::FileTime time) -{ - static_assert(int(QFileDevice::FileAccessTime) == int(QAbstractFileEngine::AccessTime)); - static_assert(int(QFileDevice::FileBirthTime) == int(QAbstractFileEngine::BirthTime)); - static_assert(int(QFileDevice::FileMetadataChangeTime) == int(QAbstractFileEngine::MetadataChangeTime)); - static_assert(int(QFileDevice::FileModificationTime) == int(QAbstractFileEngine::ModificationTime)); - return QAbstractFileEngine::FileTime(time); -} - /*! \since 5.10 Returns the file time specified by \a time. @@ -756,7 +747,7 @@ QDateTime QFileDevice::fileTime(QFileDevice::FileTime time) const Q_D(const QFileDevice); if (d->engine()) - return d->engine()->fileTime(FileDeviceTimeToAbstractFileEngineTime(time)); + return d->engine()->fileTime(time); return QDateTime(); } @@ -779,7 +770,7 @@ bool QFileDevice::setFileTime(const QDateTime &newDate, QFileDevice::FileTime fi return false; } - if (!d->fileEngine->setFileTime(newDate, FileDeviceTimeToAbstractFileEngineTime(fileTime))) { + if (!d->fileEngine->setFileTime(newDate, fileTime)) { d->setError(d->fileEngine->error(), d->fileEngine->errorString()); return false; } diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp index c52b42841b2..d5ee5f3eef7 100644 --- a/src/corelib/io/qfileinfo.cpp +++ b/src/corelib/io/qfileinfo.cpp @@ -157,7 +157,7 @@ uint QFileInfoPrivate::getFileFlags(QAbstractFileEngine::FileFlags request) cons return fileFlags & request.toInt(); } -QDateTime &QFileInfoPrivate::getFileTime(QAbstractFileEngine::FileTime request) const +QDateTime &QFileInfoPrivate::getFileTime(QFile::FileTime request) const { Q_ASSERT(fileEngine); // should never be called when using the native FS if (!cache_enabled) @@ -165,16 +165,16 @@ QDateTime &QFileInfoPrivate::getFileTime(QAbstractFileEngine::FileTime request) uint cf = 0; switch (request) { - case QAbstractFileEngine::AccessTime: + case QFile::FileAccessTime: cf = CachedATime; break; - case QAbstractFileEngine::BirthTime: + case QFile::FileBirthTime: cf = CachedBTime; break; - case QAbstractFileEngine::MetadataChangeTime: + case QFile::FileMetadataChangeTime: cf = CachedMCTime; break; - case QAbstractFileEngine::ModificationTime: + case QFile::FileModificationTime: cf = CachedMTime; break; } @@ -1666,13 +1666,7 @@ QDateTime QFileInfo::fileTime(QFile::FileTime time) const { */ QDateTime QFileInfo::fileTime(QFile::FileTime time, const QTimeZone &tz) const { - static_assert(int(QFile::FileAccessTime) == int(QAbstractFileEngine::AccessTime)); - static_assert(int(QFile::FileBirthTime) == int(QAbstractFileEngine::BirthTime)); - static_assert(int(QFile::FileMetadataChangeTime) == int(QAbstractFileEngine::MetadataChangeTime)); - static_assert(int(QFile::FileModificationTime) == int(QAbstractFileEngine::ModificationTime)); - Q_D(const QFileInfo); - auto fetime = QAbstractFileEngine::FileTime(time); QFileSystemMetaData::MetaDataFlags flag; switch (time) { case QFile::FileAccessTime: @@ -1689,8 +1683,8 @@ QDateTime QFileInfo::fileTime(QFile::FileTime time, const QTimeZone &tz) const break; } - auto fsLambda = [d, fetime]() { return d->metaData.fileTime(fetime); }; - auto engineLambda = [d, fetime]() { return d->getFileTime(fetime); }; + auto fsLambda = [d, time]() { return d->metaData.fileTime(time); }; + auto engineLambda = [d, time]() { return d->getFileTime(time); }; const QDateTime dt = d->checkAttribute(flag, fsLambda, engineLambda); return dt.toTimeZone(tz); } diff --git a/src/corelib/io/qfileinfo_p.h b/src/corelib/io/qfileinfo_p.h index 4da7c60792d..b28dc9d5de1 100644 --- a/src/corelib/io/qfileinfo_p.h +++ b/src/corelib/io/qfileinfo_p.h @@ -122,7 +122,7 @@ public: } uint getFileFlags(QAbstractFileEngine::FileFlags) const; - QDateTime &getFileTime(QAbstractFileEngine::FileTime) const; + QDateTime &getFileTime(QFile::FileTime) const; QString getFileName(QAbstractFileEngine::FileName) const; QString getFileOwner(QAbstractFileEngine::FileOwner own) const; @@ -133,7 +133,7 @@ public: mutable QString fileNames[QAbstractFileEngine::NFileNames]; mutable QString fileOwners[2]; // QAbstractFileEngine::FileOwner: OwnerUser and OwnerGroup - mutable QDateTime fileTimes[4]; // QAbstractFileEngine::FileTime: BirthTime, MetadataChangeTime, ModificationTime, AccessTime + mutable QDateTime fileTimes[4]; // QFile::FileTime: FileBirthTime, FileMetadataChangeTime, FileModificationTime, FileAccessTime mutable uint cachedFlags : 30; bool const isDefaultConstructed : 1; // QFileInfo is a default constructed instance diff --git a/src/corelib/io/qfilesystemengine_p.h b/src/corelib/io/qfilesystemengine_p.h index c1dddb2e1ea..53253247904 100644 --- a/src/corelib/io/qfilesystemengine_p.h +++ b/src/corelib/io/qfilesystemengine_p.h @@ -94,7 +94,7 @@ public: static bool fillMetaData(int fd, QFileSystemMetaData &data); // what = PosixStatFlags static QByteArray id(int fd); static bool setFileTime(int fd, const QDateTime &newDate, - QAbstractFileEngine::FileTime whatTime, QSystemError &error); + QFile::FileTime whatTime, QSystemError &error); static bool setPermissions(int fd, QFile::Permissions permissions, QSystemError &error, QFileSystemMetaData *data = nullptr); #endif @@ -109,7 +109,7 @@ public: QFileSystemMetaData::MetaDataFlags what); static QByteArray id(HANDLE fHandle); static bool setFileTime(HANDLE fHandle, const QDateTime &newDate, - QAbstractFileEngine::FileTime whatTime, QSystemError &error); + QFile::FileTime whatTime, QSystemError &error); static QString owner(const QFileSystemEntry &entry, QAbstractFileEngine::FileOwner own); static QString nativeAbsoluteFilePath(const QString &path); static bool isDirPath(const QString &path, bool *existed); @@ -136,7 +136,7 @@ public: // unused, therefore not implemented static bool setFileTime(const QFileSystemEntry &entry, const QDateTime &newDate, - QAbstractFileEngine::FileTime whatTime, QSystemError &error); + QFile::FileTime whatTime, QSystemError &error); static bool setCurrentPath(const QFileSystemEntry &entry); static QFileSystemEntry currentPath(); diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp index f532d504c34..3c7436b20a4 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp @@ -1688,10 +1688,10 @@ bool QFileSystemEngine::setPermissions(int fd, QFile::Permissions permissions, Q } //static -bool QFileSystemEngine::setFileTime(int fd, const QDateTime &newDate, QAbstractFileEngine::FileTime time, QSystemError &error) +bool QFileSystemEngine::setFileTime(int fd, const QDateTime &newDate, QFile::FileTime time, QSystemError &error) { - if (!newDate.isValid() || time == QAbstractFileEngine::BirthTime || - time == QAbstractFileEngine::MetadataChangeTime) { + if (!newDate.isValid() + || time == QFile::FileBirthTime || time == QFile::FileMetadataChangeTime) { error = QSystemError(EINVAL, QSystemError::StandardLibraryError); return false; } @@ -1700,8 +1700,8 @@ bool QFileSystemEngine::setFileTime(int fd, const QDateTime &newDate, QAbstractF // UTIME_OMIT: leave file timestamp unchanged struct timespec ts[2] = {{0, UTIME_OMIT}, {0, UTIME_OMIT}}; - if (time == QAbstractFileEngine::AccessTime || time == QAbstractFileEngine::ModificationTime) { - const int idx = time == QAbstractFileEngine::AccessTime ? 0 : 1; + if (time == QFile::FileAccessTime || time == QFile::FileModificationTime) { + const int idx = time == QFile::FileAccessTime ? 0 : 1; const std::chrono::milliseconds msecs{newDate.toMSecsSinceEpoch()}; ts[idx] = durationToTimespec(msecs); } diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp index 67378e2b5db..3ec32e31a12 100644 --- a/src/corelib/io/qfilesystemengine_win.cpp +++ b/src/corelib/io/qfilesystemengine_win.cpp @@ -1069,7 +1069,7 @@ QByteArray QFileSystemEngine::id(HANDLE fHandle) //static bool QFileSystemEngine::setFileTime(HANDLE fHandle, const QDateTime &newDate, - QAbstractFileEngine::FileTime time, QSystemError &error) + QFile::FileTime time, QSystemError &error) { FILETIME fTime; FILETIME *pLastWrite = nullptr; @@ -1077,15 +1077,15 @@ bool QFileSystemEngine::setFileTime(HANDLE fHandle, const QDateTime &newDate, FILETIME *pCreationTime = nullptr; switch (time) { - case QAbstractFileEngine::ModificationTime: + case QFile::FileModificationTime: pLastWrite = &fTime; break; - case QAbstractFileEngine::AccessTime: + case QFile::FileAccessTime: pLastAccess = &fTime; break; - case QAbstractFileEngine::BirthTime: + case QFile::FileBirthTime: pCreationTime = &fTime; break; diff --git a/src/corelib/io/qfilesystemmetadata_p.h b/src/corelib/io/qfilesystemmetadata_p.h index cb19b98c335..c4e567b2ae6 100644 --- a/src/corelib/io/qfilesystemmetadata_p.h +++ b/src/corelib/io/qfilesystemmetadata_p.h @@ -186,7 +186,7 @@ public: QDateTime metadataChangeTime() const; QDateTime modificationTime() const; - QDateTime fileTime(QAbstractFileEngine::FileTime time) const; + QDateTime fileTime(QFile::FileTime time) const; uint userId() const; uint groupId() const; uint ownerId(QAbstractFileEngine::FileOwner owner) const; @@ -243,19 +243,19 @@ inline bool QFileSystemMetaData::isAlias() const { return fal #endif #if defined(Q_OS_UNIX) || defined (Q_OS_WIN) -inline QDateTime QFileSystemMetaData::fileTime(QAbstractFileEngine::FileTime time) const +inline QDateTime QFileSystemMetaData::fileTime(QFile::FileTime time) const { switch (time) { - case QAbstractFileEngine::ModificationTime: + case QFile::FileModificationTime: return modificationTime(); - case QAbstractFileEngine::AccessTime: + case QFile::FileAccessTime: return accessTime(); - case QAbstractFileEngine::BirthTime: + case QFile::FileBirthTime: return birthTime(); - case QAbstractFileEngine::MetadataChangeTime: + case QFile::FileMetadataChangeTime: return metadataChangeTime(); } diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp index 3e96a5a6e96..dfefb28121f 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -521,11 +521,11 @@ bool QFSFileEngine::seek(qint64 pos) /*! \reimp */ -QDateTime QFSFileEngine::fileTime(FileTime time) const +QDateTime QFSFileEngine::fileTime(QFile::FileTime time) const { Q_D(const QFSFileEngine); - if (time == AccessTime) { + if (time == QFile::FileAccessTime) { // always refresh for the access time d->metaData.clearFlags(QFileSystemMetaData::AccessTime); } @@ -906,7 +906,7 @@ bool QFSFileEngine::supportsExtension(Extension extension) const \reimp */ -/*! \fn bool QFSFileEngine::setFileTime(const QDateTime &newDate, QAbstractFileEngine::FileTime time) +/*! \fn bool QFSFileEngine::setFileTime(const QDateTime &newDate, QFile::FileTime time) \reimp */ diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h index 3cc58ea993e..7b43ff0bce8 100644 --- a/src/corelib/io/qfsfileengine_p.h +++ b/src/corelib/io/qfsfileengine_p.h @@ -76,8 +76,8 @@ public: QString fileName(FileName file) const override; uint ownerId(FileOwner) const override; QString owner(FileOwner) const override; - bool setFileTime(const QDateTime &newDate, FileTime time) override; - QDateTime fileTime(FileTime time) const override; + bool setFileTime(const QDateTime &newDate, QFile::FileTime time) override; + QDateTime fileTime(QFile::FileTime time) const override; void setFileName(const QString &file) override; int handle() const override; diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp index 23eb48d63f6..200e1af52f6 100644 --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp @@ -525,7 +525,7 @@ bool QFSFileEngine::setSize(qint64 size) return ret; } -bool QFSFileEngine::setFileTime(const QDateTime &newDate, FileTime time) +bool QFSFileEngine::setFileTime(const QDateTime &newDate, QFile::FileTime time) { Q_D(QFSFileEngine); diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp index daa43262128..7a4f99cc7bb 100644 --- a/src/corelib/io/qfsfileengine_win.cpp +++ b/src/corelib/io/qfsfileengine_win.cpp @@ -706,7 +706,7 @@ bool QFSFileEngine::setSize(qint64 size) return false; } -bool QFSFileEngine::setFileTime(const QDateTime &newDate, FileTime time) +bool QFSFileEngine::setFileTime(const QDateTime &newDate, QFile::FileTime time) { Q_D(QFSFileEngine); @@ -715,7 +715,7 @@ bool QFSFileEngine::setFileTime(const QDateTime &newDate, FileTime time) return false; } - if (!newDate.isValid() || time == QAbstractFileEngine::MetadataChangeTime) { + if (!newDate.isValid() || time == QFile::FileMetadataChangeTime) { setError(QFile::UnspecifiedError, qt_error_string(ERROR_INVALID_PARAMETER)); return false; } diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp index e3b09e7cbd6..7360595eaf3 100644 --- a/src/corelib/io/qresource.cpp +++ b/src/corelib/io/qresource.cpp @@ -1523,10 +1523,10 @@ uint QResourceFileEngine::ownerId(FileOwner) const return nobodyID; } -QDateTime QResourceFileEngine::fileTime(FileTime time) const +QDateTime QResourceFileEngine::fileTime(QFile::FileTime time) const { Q_D(const QResourceFileEngine); - if (time == ModificationTime) + if (time == QFile::FileModificationTime) return d->resource.lastModified(); return QDateTime(); } diff --git a/src/corelib/io/qresource_p.h b/src/corelib/io/qresource_p.h index 0844e6579a6..d0885d663fc 100644 --- a/src/corelib/io/qresource_p.h +++ b/src/corelib/io/qresource_p.h @@ -47,7 +47,7 @@ public: uint ownerId(FileOwner) const override; - QDateTime fileTime(FileTime time) const override; + QDateTime fileTime(QFile::FileTime time) const override; Iterator *beginEntryList(QDir::Filters filters, const QStringList &filterNames) override; Iterator *endEntryList() override; diff --git a/src/plugins/platforms/android/androidcontentfileengine.cpp b/src/plugins/platforms/android/androidcontentfileengine.cpp index 52ca0114c7b..2085e2b70a3 100644 --- a/src/plugins/platforms/android/androidcontentfileengine.cpp +++ b/src/plugins/platforms/android/androidcontentfileengine.cpp @@ -194,10 +194,10 @@ QByteArray AndroidContentFileEngine::id() const return m_documentFile->id().toUtf8(); } -QDateTime AndroidContentFileEngine::fileTime(FileTime time) const +QDateTime AndroidContentFileEngine::fileTime(QFile::FileTime time) const { switch (time) { - case FileTime::ModificationTime: + case QFile::FileModificationTime: return m_documentFile->lastModified(); break; default: diff --git a/src/plugins/platforms/android/androidcontentfileengine.h b/src/plugins/platforms/android/androidcontentfileengine.h index 35db7b44b6e..92da31ffd83 100644 --- a/src/plugins/platforms/android/androidcontentfileengine.h +++ b/src/plugins/platforms/android/androidcontentfileengine.h @@ -27,7 +27,7 @@ public: bool rmdir(const QString &dirName, bool recurseParentDirectories) const override; QByteArray id() const override; bool caseSensitive() const override { return true; } - QDateTime fileTime(FileTime time) const override; + QDateTime fileTime(QFile::FileTime time) const override; FileFlags fileFlags(FileFlags type = FileInfoAll) const override; QString fileName(FileName file = DefaultName) const override; QAbstractFileEngine::Iterator *beginEntryList(QDir::Filters filters, const QStringList &filterNames) override; diff --git a/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp b/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp index d34ca243e0d..94fa65f00c3 100644 --- a/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp +++ b/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp @@ -285,19 +285,19 @@ public: return QString(); } - QDateTime fileTime(FileTime time) const override + QDateTime fileTime(QFile::FileTime time) const override { QSharedPointer file = resolveFile(false); if (file) { QMutexLocker lock(&file->mutex); switch (time) { - case BirthTime: + case QFile::FileBirthTime: return file->birth; - case MetadataChangeTime: + case QFile::FileMetadataChangeTime: return file->change; - case ModificationTime: + case QFile::FileModificationTime: return file->modification; - case AccessTime: + case QFile::FileAccessTime: return file->access; } }