Interface respects Show Overlay menu checkbox on start up.

This commit is contained in:
NissimHadar 2018-05-30 16:45:29 -07:00
parent 3b44b3a31f
commit c8a04911f4
3 changed files with 17 additions and 2 deletions

View file

@ -3177,6 +3177,12 @@ void Application::setHmdTabletBecomesToolbarSetting(bool value) {
updateSystemTabletMode(); updateSystemTabletMode();
} }
#pragma optimize("", off)
void Application::setShowOverlays(bool value) {
_hmdTabletBecomesToolbarSetting.set(value);
updateSystemTabletMode();
}
void Application::setPreferStylusOverLaser(bool value) { void Application::setPreferStylusOverLaser(bool value) {
_preferStylusOverLaserSetting.set(value); _preferStylusOverLaserSetting.set(value);
} }
@ -8260,13 +8266,15 @@ void Application::updateThreadPoolCount() const {
QThreadPool::globalInstance()->setMaxThreadCount(threadPoolSize); QThreadPool::globalInstance()->setMaxThreadCount(threadPoolSize);
} }
#pragma optimize("", off)
void Application::updateSystemTabletMode() { void Application::updateSystemTabletMode() {
if (_settingsLoaded) { if (_settingsLoaded) {
qApp->setProperty(hifi::properties::HMD, isHMDMode()); qApp->setProperty(hifi::properties::HMD, isHMDMode());
if (isHMDMode()) { if (isHMDMode()) {
DependencyManager::get<TabletScriptingInterface>()->setToolbarMode(getHmdTabletBecomesToolbarSetting()); DependencyManager::get<TabletScriptingInterface>()->setToolbarMode(getHmdTabletBecomesToolbarSetting());
} else { } else {
DependencyManager::get<TabletScriptingInterface>()->setToolbarMode(getDesktopTabletBecomesToolbarSetting()); // Show toolbar if toolbar is enabled AND the Show Overlays menu option is checked
DependencyManager::get<TabletScriptingInterface>()->setToolbarMode(getDesktopTabletBecomesToolbarSetting() && (Menu::getInstance()->isOptionChecked(MenuOption::Overlays)));
} }
} }
} }

View file

@ -218,8 +218,12 @@ public:
bool getDesktopTabletBecomesToolbarSetting() { return _desktopTabletBecomesToolbarSetting.get(); } bool getDesktopTabletBecomesToolbarSetting() { return _desktopTabletBecomesToolbarSetting.get(); }
void setDesktopTabletBecomesToolbarSetting(bool value); void setDesktopTabletBecomesToolbarSetting(bool value);
bool getHmdTabletBecomesToolbarSetting() { return _hmdTabletBecomesToolbarSetting.get(); } bool getHmdTabletBecomesToolbarSetting() { return _hmdTabletBecomesToolbarSetting.get(); }
void setHmdTabletBecomesToolbarSetting(bool value); void setHmdTabletBecomesToolbarSetting(bool value);
void setShowOverlays(bool value);
bool getPreferStylusOverLaser() { return _preferStylusOverLaserSetting.get(); } bool getPreferStylusOverLaser() { return _preferStylusOverLaserSetting.get(); }
void setPreferStylusOverLaser(bool value); void setPreferStylusOverLaser(bool value);
// FIXME: Remove setting completely or make available through JavaScript API? // FIXME: Remove setting completely or make available through JavaScript API?

View file

@ -240,7 +240,10 @@ Menu::Menu() {
addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::CenterPlayerInView, addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::CenterPlayerInView,
0, true, qApp, SLOT(rotationModeChanged())); 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 // View > Enter First Person Mode in HMD
addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FirstPersonHMD, 0, true); addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FirstPersonHMD, 0, true);