snapshot bug fixes
Showing the changes to libraries/script-engine/src/TabletScriptingInterface.cpp (1 of 7 files). Show all
Unified · Split
| @@ -354,6 +354,38 @@ void TabletProxy::gotoMenuScreen(const QString& submenu) { · 353 unmodified lines | |||
| 354 | } | 354 | } |
| 355 | } | 355 | } |
| 356 | 356 | ||
| 357 | void 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 | |||
| 373 | void 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 | |||
| 357 | void TabletProxy::loadQMLSource(const QVariant& path) { | 389 | void 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 | ||
| 475 | void TabletProxy::loadWebScreenOnTop(const QVariant& url) { | ||
| 476 | loadWebScreenOnTop(url, ""); | ||
| 477 | } | ||
| 478 | |||
| 479 | void 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 | |||
| 443 | void TabletProxy::gotoWebScreen(const QString& url, const QString& injectedJavaScriptUrl) { | 495 | void TabletProxy::gotoWebScreen(const QString& url, const QString& injectedJavaScriptUrl) { |
| 444 | 496 | ||
| 445 | QObject* root = nullptr; | 497 | QObject* root = nullptr; |