diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2018-12-19 14:27:34 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2018-12-20 13:10:15 +0000 |
commit | 4f34d7e7ed6e9b58e40629045fc662e17c8623eb (patch) | |
tree | 2893a307f4949b7e2776ae02bfee1bf345a462b1 /src/lib/corelib/jsextensions | |
parent | 52a35195f083dae9f42059a6047daf7983b86e3b (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.cpp | 13 |
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(), |