diff options
author | Alan Alpert <alan.alpert@nokia.com> | 2009-08-27 08:12:33 (GMT) |
---|---|---|
committer | Alan Alpert <alan.alpert@nokia.com> | 2009-08-27 08:16:28 (GMT) |
commit | 1975260b35906a3cc0ca25f25b553e4572238e05 (patch) | |
tree | d8e9ea53d81642f916d6673bec80f9fae975274c /src/declarative/qml/qmlengine.cpp | |
parent | 2d384efd8e85515c9f3e7ed628cc3fd57b044a00 (diff) | |
download | Qt-1975260b35906a3cc0ca25f25b553e4572238e05.zip Qt-1975260b35906a3cc0ca25f25b553e4572238e05.tar.gz Qt-1975260b35906a3cc0ca25f25b553e4572238e05.tar.bz2 |
Expose some functionality through Qt.DesktopServices
Only openUrl() currently.
Reviewed-by:Aaron Kennedy
Diffstat (limited to 'src/declarative/qml/qmlengine.cpp')
-rw-r--r-- | src/declarative/qml/qmlengine.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/declarative/qml/qmlengine.cpp b/src/declarative/qml/qmlengine.cpp index ea00d65..cf90fe7 100644 --- a/src/declarative/qml/qmlengine.cpp +++ b/src/declarative/qml/qmlengine.cpp @@ -55,6 +55,7 @@ #include <QNetworkReply> #include <QNetworkRequest> #include <QNetworkAccessManager> +#include <QDesktopServices> #include <QTimer> #include <QList> #include <QPair> @@ -95,6 +96,14 @@ struct StaticQtMetaObject : public QObject { return &static_cast<StaticQtMetaObject*> (0)->staticQtMetaObject; } }; +QScriptValue desktopOpenUrl(QScriptContext *ctxt, QScriptEngine *e) +{ + if(!ctxt->argumentCount()) + return e->newVariant(QVariant(false)); + bool ret = QDesktopServices::openUrl(QUrl(ctxt->argument(0).toString())); + return e->newVariant(QVariant(ret)); +} + QmlEnginePrivate::QmlEnginePrivate(QmlEngine *e) : rootContext(0), currentBindContext(0), currentExpression(0), isDebugging(false), contextClass(0), objectClass(0), valueTypeClass(0), @@ -103,6 +112,9 @@ QmlEnginePrivate::QmlEnginePrivate(QmlEngine *e) { QScriptValue qtObject = scriptEngine.newQMetaObject(StaticQtMetaObject::get()); + QScriptValue desktopObject = scriptEngine.newObject(); + desktopObject.setProperty(QLatin1String("openUrl"),scriptEngine.newFunction(desktopOpenUrl, 1)); + qtObject.setProperty(QLatin1String("DesktopServices"), desktopObject); scriptEngine.globalObject().setProperty(QLatin1String("Qt"), qtObject); } |