From 6a802560f252883debefd36b7d45ff32ec28691d Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Fri, 14 Aug 2015 16:27:50 -0700 Subject: [PATCH] remove HMD Tools as menu item, automatically hide/show it when display plugin is an hmd --- interface/src/Application.cpp | 5 +++++ interface/src/Menu.cpp | 10 ---------- interface/src/Menu.h | 1 - interface/src/ui/DialogsManager.cpp | 1 - interface/src/ui/HMDToolsDialog.cpp | 11 +++++------ 5 files changed, 10 insertions(+), 18 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 598498e2d0..f392810598 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4680,6 +4680,11 @@ void Application::updateDisplayMode() { if (oldDisplayPlugin) { oldDisplayPlugin->deactivate(); _offscreenContext->makeCurrent(); + + // if the old plugin was HMD and the new plugin is not HMD, then hide our hmdtools + if (oldDisplayPlugin->isHmd() && !newDisplayPlugin->isHmd()) { + DependencyManager::get()->hmdTools(false); + } } emit activeDisplayPluginChanged(); resetSensors(); diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index a31353fa4c..939d733a13 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -289,16 +289,6 @@ Menu::Menu() { addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::CenterPlayerInView, 0, false, qApp, SLOT(rotationModeChanged())); - addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::HMDTools, -#ifdef Q_OS_MAC - Qt::META | Qt::Key_H, -#else - Qt::CTRL | Qt::Key_H, -#endif - false, - dialogsManager.data(), - SLOT(hmdTools(bool))); - addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::TurnWithHead, 0, false); addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::StandingHMDSensorMode, 0, false, diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 789fccecd8..b0a78fdd83 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -199,7 +199,6 @@ namespace MenuOption { const QString FullscreenMirror = "Fullscreen Mirror"; const QString GlowWhenSpeaking = "Glow When Speaking"; const QString HandMouseInput = "Enable Hand Mouse Input"; - const QString HMDTools = "HMD Tools"; const QString IncreaseAvatarSize = "Increase Avatar Size"; const QString IndependentMode = "Independent Mode"; const QString InputMenu = "Avatar>Input Devices"; diff --git a/interface/src/ui/DialogsManager.cpp b/interface/src/ui/DialogsManager.cpp index ac5e6833fb..8131aa49f2 100644 --- a/interface/src/ui/DialogsManager.cpp +++ b/interface/src/ui/DialogsManager.cpp @@ -173,7 +173,6 @@ void DialogsManager::hmdTools(bool showTools) { } void DialogsManager::hmdToolsClosed() { - Menu::getInstance()->getActionForOption(MenuOption::HMDTools)->setChecked(false); _hmdToolsDialog->hide(); } diff --git a/interface/src/ui/HMDToolsDialog.cpp b/interface/src/ui/HMDToolsDialog.cpp index cc596e5e55..e03e05912c 100644 --- a/interface/src/ui/HMDToolsDialog.cpp +++ b/interface/src/ui/HMDToolsDialog.cpp @@ -30,8 +30,9 @@ static const int WIDTH = 350; static const int HEIGHT = 100; + HMDToolsDialog::HMDToolsDialog(QWidget* parent) : - QDialog(parent, Qt::Window | Qt::WindowCloseButtonHint | Qt::WindowStaysOnTopHint) + QDialog(parent, Qt::Window | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowStaysOnTopHint) { // FIXME do we want to support more than one connected HMD? It seems like a pretty corner case foreach(auto displayPlugin, PluginManager::getInstance()->getDisplayPlugins()) { @@ -171,14 +172,12 @@ void HMDToolsDialog::leaveHMDMode() { } void HMDToolsDialog::reject() { - // Just regularly close upon ESC - close(); + // We don't want this window to be closable from a close icon, just from our "Leave HMD Mode" button } void HMDToolsDialog::closeEvent(QCloseEvent* event) { - // TODO: consider if we want to prevent closing of this window with event->ignore(); - QDialog::closeEvent(event); - emit closed(); + // We don't want this window to be closable from a close icon, just from our "Leave HMD Mode" button + event->ignore(); } void HMDToolsDialog::centerCursorOnWidget(QWidget* widget) {