From c8a04911f4a174c095cff1bd46a6af6377a11113 Mon Sep 17 00:00:00 2001 From: NissimHadar Date: Wed, 30 May 2018 16:45:29 -0700 Subject: [PATCH] Interface respects Show Overlay menu checkbox on start up. --- interface/src/Application.cpp | 10 +++++++++- interface/src/Application.h | 4 ++++ interface/src/Menu.cpp | 5 ++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index c8559f660f..7d5fa81180 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3177,6 +3177,12 @@ void Application::setHmdTabletBecomesToolbarSetting(bool value) { updateSystemTabletMode(); } +#pragma optimize("", off) +void Application::setShowOverlays(bool value) { + _hmdTabletBecomesToolbarSetting.set(value); + updateSystemTabletMode(); +} + void Application::setPreferStylusOverLaser(bool value) { _preferStylusOverLaserSetting.set(value); } @@ -8260,13 +8266,15 @@ void Application::updateThreadPoolCount() const { QThreadPool::globalInstance()->setMaxThreadCount(threadPoolSize); } +#pragma optimize("", off) void Application::updateSystemTabletMode() { if (_settingsLoaded) { qApp->setProperty(hifi::properties::HMD, isHMDMode()); if (isHMDMode()) { DependencyManager::get()->setToolbarMode(getHmdTabletBecomesToolbarSetting()); } else { - DependencyManager::get()->setToolbarMode(getDesktopTabletBecomesToolbarSetting()); + // Show toolbar if toolbar is enabled AND the Show Overlays menu option is checked + DependencyManager::get()->setToolbarMode(getDesktopTabletBecomesToolbarSetting() && (Menu::getInstance()->isOptionChecked(MenuOption::Overlays))); } } } diff --git a/interface/src/Application.h b/interface/src/Application.h index 0fea476c07..856537d8e7 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -218,8 +218,12 @@ public: bool getDesktopTabletBecomesToolbarSetting() { return _desktopTabletBecomesToolbarSetting.get(); } void setDesktopTabletBecomesToolbarSetting(bool value); + bool getHmdTabletBecomesToolbarSetting() { return _hmdTabletBecomesToolbarSetting.get(); } void setHmdTabletBecomesToolbarSetting(bool value); + + void setShowOverlays(bool value); + bool getPreferStylusOverLaser() { return _preferStylusOverLaserSetting.get(); } void setPreferStylusOverLaser(bool value); // FIXME: Remove setting completely or make available through JavaScript API? diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index f55c389a1f..38d319aca2 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -240,7 +240,10 @@ Menu::Menu() { addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::CenterPlayerInView, 0, true, qApp, SLOT(rotationModeChanged())); - addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Overlays, 0, true); + action = addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Overlays, 0, true); + connect(action, &QAction::triggered, [action] { + qApp->setDesktopTabletBecomesToolbarSetting(action->isChecked()); + }); // View > Enter First Person Mode in HMD addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FirstPersonHMD, 0, true);