History

Merge pull request #10184 from druiz17/snapshot-fix

snapshot bug fixes

Chris Collins committed 9 years ago

Commit b07ed132 parents c86acfa d8230937 files · +154 −15Browse files

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

Unified · Split

libraries/script-engine/src/TabletScriptingInterface.cpp+52−0
@@ -354,6 +354,38 @@ void TabletProxy::gotoMenuScreen(const QString& submenu) { · 353 unmodified lines
354 }354 }
355}355}
356 356
357void TabletProxy::loadQMLOnTop(const QVariant& path) {
358 QObject* root = nullptr;
359 if (!_toolbarMode && _qmlTabletRoot) {
360 root = _qmlTabletRoot;
361 } else if (_toolbarMode && _desktopWindow) {
362 root = _desktopWindow->asQuickItem();
363 }
364
365 if (root) {
366 QMetaObject::invokeMethod(root, "loadQMLOnTop", Q_ARG(const QVariant&, path));
367 QMetaObject::invokeMethod(root, "setShown", Q_ARG(const QVariant&, QVariant(true)));
368 } else {
369 qCDebug(scriptengine) << "tablet cannot load QML because _qmlTabletRoot is null";
370 }
371}
372
373void TabletProxy::returnToPreviousApp() {
374 QObject* root = nullptr;
375 if (!_toolbarMode && _qmlTabletRoot) {
376 root = _qmlTabletRoot;
377 } else if (_toolbarMode && _desktopWindow) {
378 root = _desktopWindow->asQuickItem();
379 }
380
381 if (root) {
382 QMetaObject::invokeMethod(root, "returnToPreviousApp");
383 QMetaObject::invokeMethod(root, "setShown", Q_ARG(const QVariant&, QVariant(true)));
384 } else {
385 qCDebug(scriptengine) << "tablet cannot load QML because _qmlTabletRoot is null";
386 }
387}
388
357void TabletProxy::loadQMLSource(const QVariant& path) {389void TabletProxy::loadQMLSource(const QVariant& path) {
358 390
359 QObject* root = nullptr;391 QObject* root = nullptr;
@@ -440,6 +472,26 @@ void TabletProxy::gotoWebScreen(const QString& url) { · 80 unmodified lines
440 gotoWebScreen(url, "");472 gotoWebScreen(url, "");
441}473}
442 474
475void TabletProxy::loadWebScreenOnTop(const QVariant& url) {
476 loadWebScreenOnTop(url, "");
477}
478
479void TabletProxy::loadWebScreenOnTop(const QVariant& url, const QString& injectJavaScriptUrl) {
480 QObject* root = nullptr;
481 if (!_toolbarMode && _qmlTabletRoot) {
482 root = _qmlTabletRoot;
483 } else if (_toolbarMode && _desktopWindow) {
484 root = _desktopWindow->asQuickItem();
485 }
486
487 if (root) {
488 QMetaObject::invokeMethod(root, "loadQMLOnTop", Q_ARG(const QVariant&, QVariant(WEB_VIEW_SOURCE_URL)));
489 QMetaObject::invokeMethod(root, "setShown", Q_ARG(const QVariant&, QVariant(true)));
490 QMetaObject::invokeMethod(root, "loadWebOnTop", Q_ARG(const QVariant&, QVariant(url)), Q_ARG(const QVariant&, QVariant(injectJavaScriptUrl)));
491 }
492 _state = State::Web;
493}
494
443void TabletProxy::gotoWebScreen(const QString& url, const QString& injectedJavaScriptUrl) {495void TabletProxy::gotoWebScreen(const QString& url, const QString& injectedJavaScriptUrl) {
444 496
445 QObject* root = nullptr;497 QObject* root = nullptr;