summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/io/qfileinfo.cpp23
-rw-r--r--src/corelib/io/qfileinfo.h1
2 files changed, 24 insertions, 0 deletions
diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp
index 7277a7a0e4..a7fb0fb6c7 100644
--- a/src/corelib/io/qfileinfo.cpp
+++ b/src/corelib/io/qfileinfo.cpp
@@ -918,6 +918,29 @@ bool QFileInfo::isHidden() const
}
/*!
+ \since 5.0
+ Returns true if the file path can be used directly with native APIs.
+ Returns false if the file is otherwise supported by a virtual file system
+ inside Qt, such as \l{the Qt Resource System}.
+
+ \bold{Note:} Native paths may still require conversion of path separators
+ and character encoding, depending on platform and input requirements of the
+ native API.
+
+ \sa QDir::toNativeSeparators(), QFile::encodeName(), filePath(),
+ absoluteFilePath(), canonicalFilePath()
+*/
+bool QFileInfo::isNativePath() const
+{
+ Q_D(const QFileInfo);
+ if (d->isDefaultConstructed)
+ return false;
+ if (d->fileEngine == 0)
+ return true;
+ return d->getFileFlags(QAbstractFileEngine::LocalDiskFlag);
+}
+
+/*!
Returns true if this object points to a file or to a symbolic
link to a file. Returns false if the
object points to something which isn't a file, such as a directory.
diff --git a/src/corelib/io/qfileinfo.h b/src/corelib/io/qfileinfo.h
index bc9b057fb5..0f43ebd439 100644
--- a/src/corelib/io/qfileinfo.h
+++ b/src/corelib/io/qfileinfo.h
@@ -103,6 +103,7 @@ public:
bool isWritable() const;
bool isExecutable() const;
bool isHidden() const;
+ bool isNativePath() const;
bool isRelative() const;
inline bool isAbsolute() const { return !isRelative(); }