From 156b3f9738053b8d1917470e270c84cf9d807d22 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Sun, 28 May 2017 17:10:59 -0400 Subject: [PATCH] use showDialog instead of toggleMenu --- interface/src/Application.cpp | 33 +++++++-------------------------- interface/src/Application.h | 4 +--- interface/src/Menu.cpp | 9 +++++++-- 3 files changed, 15 insertions(+), 31 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 023ca413ce..bb0d30ef91 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -5764,25 +5764,21 @@ bool Application::displayAvatarAttachmentConfirmationDialog(const QString& name) } } -void Application::toggleMenu(const QString title, const QUrl widgetUrl, const QUrl tabletUrl) const { - auto hmd = DependencyManager::get(); +void Application::showDialog(const QUrl& widgetUrl, const QUrl& tabletUrl, const QString& name) const { auto tablet = DependencyManager::get()->getTablet(SYSTEM_TABLET); + auto hmd = DependencyManager::get(); bool onTablet = false; - if (!tablet->getToolbarMode() && (hmd->getShouldShowTablet() || isHMDMode())) { + if (!tablet->getToolbarMode()) { onTablet = tablet->pushOntoStack(tabletUrl); } if (!onTablet) { - DependencyManager::get()->show(widgetUrl, title); + DependencyManager::get()->show(widgetUrl, name); + } + if (tablet->getToolbarMode()) { + DependencyManager::get()->show(widgetUrl, name); } -} - -void Application::toggleMenuRunningScripts() const { - static const QString title("RunningScripts"); - static const QUrl widgetUrl("hifi/dialogs/RunningScripts.qml"); - static const QUrl tabletUrl("../../hifi/dialogs/TabletRunningScripts.qml"); - toggleMenu(title, widgetUrl, tabletUrl); } void Application::showScriptLogs() { @@ -5839,21 +5835,6 @@ void Application::addAssetToWorldFromURL(QString url) { request->send(); } -void Application::showDialog(const QString& desktopURL, const QString& tabletURL, const QString& name) const { - auto tabletScriptingInterface = DependencyManager::get(); - auto tablet = dynamic_cast(tabletScriptingInterface->getTablet(SYSTEM_TABLET)); - auto hmd = DependencyManager::get(); - if (tablet->getToolbarMode()) { - DependencyManager::get()->show(desktopURL, name); - } else { - tablet->pushOntoStack(tabletURL); - if (!hmd->getShouldShowTablet() && !isHMDMode()) { - hmd->openTablet(); - } - - } -} - void Application::addAssetToWorldFromURLRequestFinished() { auto request = qobject_cast(sender()); auto url = request->getUrl().toString(); diff --git a/interface/src/Application.h b/interface/src/Application.h index 297a56f2ab..6804d7afca 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -318,12 +318,10 @@ public slots: Q_INVOKABLE void loadScriptURLDialog() const; void toggleLogDialog(); void toggleEntityScriptServerLogDialog(); - void toggleMenu(const QString title, const QUrl widgetUrl, const QUrl tabletUrl) const; - void toggleMenuRunningScripts() const; Q_INVOKABLE void showAssetServerWidget(QString filePath = ""); Q_INVOKABLE void loadAddAvatarBookmarkDialog() const; - void showDialog(const QString& desktopURL, const QString& tabletURL, const QString& name) const; + void showDialog(const QUrl& widgetUrl, const QUrl& tabletUrl, const QString& name) const; // FIXME: Move addAssetToWorld* methods to own class? void addAssetToWorldFromURL(QString url); diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index b5bbd3d169..239727a521 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -94,8 +94,13 @@ Menu::Menu() { addActionToQMenuAndActionHash(editMenu, redoAction); // Edit > Running Scripts - addActionToQMenuAndActionHash(editMenu, MenuOption::RunningScripts, Qt::CTRL | Qt::Key_J, - qApp, SLOT(toggleMenuRunningScripts())); + auto action = addActionToQMenuAndActionHash(editMenu, MenuOption::RunningScripts, Qt::CTRL | Qt::Key_J); + connect(action, &QAction::triggered, [] { + static const QUrl widgetUrl("hifi/dialogs/RunningScripts.qml"); + static const QUrl tabletUrl("../../hifi/dialogs/TabletRunningScripts.qml"); + static const QString name("RunningScripts"); + qApp->showDialog(widgetUrl, tabletUrl, name); + }); // Edit > Open and Run Script from File... [advanced] addActionToQMenuAndActionHash(editMenu, MenuOption::LoadScript, Qt::CTRL | Qt::Key_O,