示例#1
0
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();
        }
    }
}
示例#2
0
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);
        }
    }
}
示例#3
0
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();
            }
        }
    }
}
示例#4
0
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;
}