summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2020-07-29 20:12:26 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-08-10 13:17:01 +0200
commit3657405fe766d9aca719177a6f9614c4dc08c47e (patch)
tree376135b556ee583fa614d23649a3a7cc45d370f7 /src
parent7b3a2f5e3d5f496036c4ea7e2fa3778fce848e57 (diff)
QFileInfo: make stat method public
Forcing the reading of all file system attributes is generally useful in multi-threaded applications, and has at least one more use case in Qt. Using it in QFileSystemWatcher on Windows avoids several file system accesses. Task-number: QTBUG-41373 Change-Id: Ib3c3243fd083142393ad46d62f49cb4f7bfda17c Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/io/qfileinfo.cpp4
-rw-r--r--src/corelib/io/qfileinfo.h3
-rw-r--r--src/corelib/io/qfilesystemwatcher_win.cpp1
3 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp
index 8bf7115b58..7ed840052e 100644
--- a/src/corelib/io/qfileinfo.cpp
+++ b/src/corelib/io/qfileinfo.cpp
@@ -308,6 +308,8 @@ QDateTime &QFileInfoPrivate::getFileTime(QAbstractFileEngine::FileTime request)
refreshes the file information: refresh(). If you want to switch
off a QFileInfo's caching and force it to access the file system
every time you request information from it call setCaching(false).
+ If you want to make sure that all information is read from the
+ file system, use stat().
\sa QDir, QFile
*/
@@ -1509,8 +1511,6 @@ void QFileInfo::setCaching(bool enable)
}
/*!
- \internal
-
Reads all attributes from the file system.
This is useful when information about the file system is collected in a
diff --git a/src/corelib/io/qfileinfo.h b/src/corelib/io/qfileinfo.h
index 160c8ea26a..669a6bcea1 100644
--- a/src/corelib/io/qfileinfo.h
+++ b/src/corelib/io/qfileinfo.h
@@ -175,13 +175,12 @@ public:
bool caching() const;
void setCaching(bool on);
+ void stat();
protected:
QSharedDataPointer<QFileInfoPrivate> d_ptr;
private:
- friend class QFileInfoGatherer;
- void stat();
QFileInfoPrivate* d_func();
inline const QFileInfoPrivate* d_func() const
{
diff --git a/src/corelib/io/qfilesystemwatcher_win.cpp b/src/corelib/io/qfilesystemwatcher_win.cpp
index 482360658f..b131524614 100644
--- a/src/corelib/io/qfilesystemwatcher_win.cpp
+++ b/src/corelib/io/qfilesystemwatcher_win.cpp
@@ -372,6 +372,7 @@ QStringList QWindowsFileSystemWatcherEngine::addPaths(const QStringList &paths,
normalPath.chop(1);
}
QFileInfo fileInfo(normalPath);
+ fileInfo.stat();
if (!fileInfo.exists())
continue;