aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/jsextensions
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2018-12-19 14:27:34 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2018-12-20 13:10:15 +0000
commit4f34d7e7ed6e9b58e40629045fc662e17c8623eb (patch)
tree2893a307f4949b7e2776ae02bfee1bf345a462b1 /src/lib/corelib/jsextensions
parent52a35195f083dae9f42059a6047daf7983b86e3b (diff)
Add FileInfo.canonicalPath
[ChangeLog] Added the canonicalPath() function to the FileInfo extension. Task-number: QBS-742 Change-Id: I8490b1bbdb3ac4ce84b80e82ca9f37bd2816e150 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/corelib/jsextensions')
-rw-r--r--src/lib/corelib/jsextensions/fileinfoextension.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/corelib/jsextensions/fileinfoextension.cpp b/src/lib/corelib/jsextensions/fileinfoextension.cpp
index cdc058757..5b30ec35f 100644
--- a/src/lib/corelib/jsextensions/fileinfoextension.cpp
+++ b/src/lib/corelib/jsextensions/fileinfoextension.cpp
@@ -63,6 +63,7 @@ public:
static QScriptValue js_baseName(QScriptContext *context, QScriptEngine *engine);
static QScriptValue js_suffix(QScriptContext *context, QScriptEngine *engine);
static QScriptValue js_completeSuffix(QScriptContext *context, QScriptEngine *engine);
+ static QScriptValue js_canonicalPath(QScriptContext *context, QScriptEngine *engine);
static QScriptValue js_cleanPath(QScriptContext *context, QScriptEngine *engine);
static QScriptValue js_completeBaseName(QScriptContext *context, QScriptEngine *engine);
static QScriptValue js_relativePath(QScriptContext *context, QScriptEngine *engine);
@@ -136,6 +137,16 @@ QScriptValue FileInfoExtension::js_completeSuffix(QScriptContext *context, QScri
return FileInfo::completeSuffix(context->argument(0).toString());
}
+QScriptValue FileInfoExtension::js_canonicalPath(QScriptContext *context, QScriptEngine *engine)
+{
+ Q_UNUSED(engine);
+ if (Q_UNLIKELY(context->argumentCount() < 1)) {
+ return context->throwError(QScriptContext::SyntaxError,
+ Tr::tr("canonicalPath expects 1 argument"));
+ }
+ return QFileInfo(context->argument(0).toString()).canonicalFilePath();
+}
+
QScriptValue FileInfoExtension::js_cleanPath(QScriptContext *context, QScriptEngine *engine)
{
Q_UNUSED(engine);
@@ -281,6 +292,8 @@ void initializeJsExtensionFileInfo(QScriptValue extensionObject)
engine->newFunction(FileInfoExtension::js_suffix));
fileInfoObj.setProperty(QLatin1String("completeSuffix"),
engine->newFunction(FileInfoExtension::js_completeSuffix));
+ fileInfoObj.setProperty(QLatin1String("canonicalPath"),
+ engine->newFunction(FileInfoExtension::js_canonicalPath));
fileInfoObj.setProperty(QLatin1String("cleanPath"),
engine->newFunction(FileInfoExtension::js_cleanPath));
fileInfoObj.setProperty(StringConstants::completeBaseNameProperty(),