void LoginDialog::showWithSelection() { auto tabletScriptingInterface = DependencyManager::get<TabletScriptingInterface>(); auto tablet = dynamic_cast<TabletProxy*>(tabletScriptingInterface->getTablet("com.highfidelity.interface.tablet.system")); auto hmd = DependencyManager::get<HMDScriptingInterface>(); if (tablet->getToolbarMode()) { LoginDialog::show(); } else { static const QUrl url("../../dialogs/TabletLoginDialog.qml"); tablet->initialScreen(url); if (!hmd->getShouldShowTablet()) { hmd->openTablet(); } } }
void LoginDialog::openUrl(const QString& url) const { auto tabletScriptingInterface = DependencyManager::get<TabletScriptingInterface>(); auto tablet = dynamic_cast<TabletProxy*>(tabletScriptingInterface->getTablet("com.highfidelity.interface.tablet.system")); auto hmd = DependencyManager::get<HMDScriptingInterface>(); auto offscreenUi = DependencyManager::get<OffscreenUi>(); if (tablet->getToolbarMode()) { auto browser = offscreenUi->load("Browser.qml"); browser->setProperty("url", url); } else { if (!hmd->getShouldShowTablet() && !qApp->isHMDMode()) { auto browser = offscreenUi->load("Browser.qml"); browser->setProperty("url", url); } else { tablet->gotoWebScreen(url); } } }
void DialogsManager::setDomainConnectionFailureVisibility(bool visible) { auto tabletScriptingInterface = DependencyManager::get<TabletScriptingInterface>(); auto tablet = dynamic_cast<TabletProxy*>(tabletScriptingInterface->getTablet("com.highfidelity.interface.tablet.system")); if (tablet->getToolbarMode()) { if (visible) { ConnectionFailureDialog::show(); } else { ConnectionFailureDialog::hide(); } } else { static const QUrl url("dialogs/TabletConnectionFailureDialog.qml"); auto hmd = DependencyManager::get<HMDScriptingInterface>(); if (visible) { tablet->initialScreen(url); if (!hmd->getShouldShowTablet()) { hmd->openTablet(); } } } }
bool AvatarPackager::open() { const auto packageModelDialogCreated = [=](QQmlContext* context, QObject* newObject) { context->setContextProperty("AvatarPackagerCore", this); }; static const QString SYSTEM_TABLET = "com.highfidelity.interface.tablet.system"; auto tablet = dynamic_cast<TabletProxy*>(DependencyManager::get<TabletScriptingInterface>()->getTablet(SYSTEM_TABLET)); if (tablet->getToolbarMode()) { static const QUrl url{ "hifi/AvatarPackagerWindow.qml" }; DependencyManager::get<OffscreenUi>()->show(url, "AvatarPackager", packageModelDialogCreated); return true; } static const QUrl url{ "hifi/tablet/AvatarPackager.qml" }; if (!tablet->isPathLoaded(url)) { tablet->getTabletSurface()->getSurfaceContext()->setContextProperty("AvatarPackagerCore", this); tablet->pushOntoStack(url); return true; } return false; }