summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qfileinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/io/qfileinfo.h')
-rw-r--r--src/corelib/io/qfileinfo.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/corelib/io/qfileinfo.h b/src/corelib/io/qfileinfo.h
index 111517325d..1cbeafdd4a 100644
--- a/src/corelib/io/qfileinfo.h
+++ b/src/corelib/io/qfileinfo.h
@@ -66,6 +66,20 @@ public:
QFileInfo(const QFileInfo &fileinfo);
~QFileInfo();
+ enum FileType {
+ Unknown,
+ // base type
+ Regular,
+ Directory,
+ // indirection flag
+ SymbolicLink = 0x10,
+ Shortcut = 0x20,
+ // mask
+ FileTypeMask = 0x0f,
+ LinkTypeMask = 0xf0
+ };
+ Q_DECLARE_FLAGS(FileTypes, FileType)
+
QFileInfo &operator=(const QFileInfo &fileinfo);
QFileInfo &operator=(QFileInfo &&other) noexcept { swap(other); return *this; }
@@ -111,6 +125,8 @@ public:
bool isFile() const;
bool isDir() const;
bool isSymLink() const;
+ inline bool isSymbolicLink() const { return type() & SymbolicLink; }
+ inline bool isShortcut() const { return type() & Shortcut; }
bool isRoot() const;
bool isBundle() const;
@@ -129,6 +145,7 @@ public:
QFile::Permissions permissions() const;
qint64 size() const;
+ FileTypes type() const;
// ### Qt6: inline these functions
#if QT_DEPRECATED_SINCE(5, 10)