History

tablet pages

Dante Ruiz committed 9 years ago

Commit 86c67a31 parent b9c7d635 files · +117 −3Browse files

Showing the changes to libraries/script-engine/src/TabletScriptingInterface.cpp (1 of 5 files). Show all

Unified · Split

libraries/script-engine/src/TabletScriptingInterface.cpp+52−0
@@ -349,6 +349,38 @@ void TabletProxy::gotoMenuScreen(const QString& submenu) { · 348 unmodified lines
349 }349 }
350}350}
351 351
352void TabletProxy::loadQMLOnTop(const QVariant& path) {
353 QObject* root = nullptr;
354 if (!_toolbarMode && _qmlTabletRoot) {
355 root = _qmlTabletRoot;
356 } else if (_toolbarMode && _desktopWindow) {
357 root = _desktopWindow->asQuickItem();
358 }
359
360 if (root) {
361 QMetaObject::invokeMethod(root, "loadQMLOnTop", Q_ARG(const QVariant&, path));
362 QMetaObject::invokeMethod(root, "setShown", Q_ARG(const QVariant&, QVariant(true)));
363 } else {
364 qCDebug(scriptengine) << "tablet cannot load QML because _qmlTabletRoot is null";
365 }
366}
367
368void TabletProxy::returnToPreviousApp() {
369 QObject* root = nullptr;
370 if (!_toolbarMode && _qmlTabletRoot) {
371 root = _qmlTabletRoot;
372 } else if (_toolbarMode && _desktopWindow) {
373 root = _desktopWindow->asQuickItem();
374 }
375
376 if (root) {
377 QMetaObject::invokeMethod(root, "returnToPreviousApp");
378 QMetaObject::invokeMethod(root, "setShown", Q_ARG(const QVariant&, QVariant(true)));
379 } else {
380 qCDebug(scriptengine) << "tablet cannot load QML because _qmlTabletRoot is null";
381 }
382}
383
352void TabletProxy::loadQMLSource(const QVariant& path) {384void TabletProxy::loadQMLSource(const QVariant& path) {
353 385
354 QObject* root = nullptr;386 QObject* root = nullptr;
@@ -433,6 +465,26 @@ void TabletProxy::gotoWebScreen(const QString& url) { · 78 unmodified lines
433 gotoWebScreen(url, "");465 gotoWebScreen(url, "");
434}466}
435 467
468void TabletProxy::loadWebScreenOnTop(const QVariant& url) {
469 loadWebScreenOnTop(url, "");
470}
471
472void TabletProxy::loadWebScreenOnTop(const QVariant& url, const QString& injectJavaScriptUrl) {
473 QObject* root = nullptr;
474 if (!_toolbarMode && _qmlTabletRoot) {
475 root = _qmlTabletRoot;
476 } else if (_toolbarMode && _desktopWindow) {
477 root = _desktopWindow->asQuickItem();
478 }
479
480 if (root) {
481 QMetaObject::invokeMethod(root, "loadQMLOnTop", Q_ARG(const QVariant&, QVariant(WEB_VIEW_SOURCE_URL)));
482 QMetaObject::invokeMethod(root, "setShown", Q_ARG(const QVariant&, QVariant(true)));
483 QMetaObject::invokeMethod(root, "loadWebOnTop", Q_ARG(const QVariant&, QVariant(url)), Q_ARG(const QVariant&, QVariant(injectJavaScriptUrl)));
484 }
485 _state = State::Web;
486}
487
436void TabletProxy::gotoWebScreen(const QString& url, const QString& injectedJavaScriptUrl) {488void TabletProxy::gotoWebScreen(const QString& url, const QString& injectedJavaScriptUrl) {
437 489
438 QObject* root = nullptr;490 QObject* root = nullptr;