diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 9ddb42f42b..5fa916743c 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1338,7 +1338,7 @@ void Application::paintGL() { renderArgs._context->syncCache(); } - if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) { + if (Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror)) { PerformanceTimer perfTimer("Mirror"); auto primaryFbo = DependencyManager::get()->getPrimaryFramebuffer(); @@ -1985,7 +1985,7 @@ void Application::keyPressEvent(QKeyEvent* event) { case Qt::Key_H: if (isShifted) { - Menu::getInstance()->triggerOption(MenuOption::Mirror); + Menu::getInstance()->triggerOption(MenuOption::MiniMirror); } else { Menu::getInstance()->setIsOptionChecked(MenuOption::FullscreenMirror, !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)); if (!Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)) { diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 128190a49d..96ff798c6a 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -144,32 +144,43 @@ Menu::Menu() { // View menu ---------------------------------- - // FIXME - this is not yet matching Alan's spec because it bundles the camera mode - // into a sub menu. I need to double check that cameraMenuChanged() is updated - // to handle not being in a sub-menu MenuWrapper* viewMenu = addMenu("View"); - MenuWrapper* cameraModeMenu = viewMenu->addMenu("Camera Mode"); - QActionGroup* cameraModeGroup = new QActionGroup(cameraModeMenu); + QActionGroup* cameraModeGroup = new QActionGroup(viewMenu); + + // View > [camera group] cameraModeGroup->setExclusive(true); - cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu, + + // View > First Person + cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FirstPerson, 0, // QML Qt:: Key_P false, qApp, SLOT(cameraMenuChanged()))); - cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu, + + // View > Third Person + cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::ThirdPerson, 0, true, qApp, SLOT(cameraMenuChanged()))); - cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu, - MenuOption::IndependentMode, 0, - false, qApp, SLOT(cameraMenuChanged()))); - cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu, - MenuOption::CameraEntityMode, 0, - false, qApp, SLOT(cameraMenuChanged()))); - cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu, + + // View > Mirror + cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FullscreenMirror, 0, // QML Qt::Key_H, false, qApp, SLOT(cameraMenuChanged()))); - addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Mirror, + // View > Independent [advanced] + cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu, + MenuOption::IndependentMode, 0, + false, qApp, SLOT(cameraMenuChanged()), + UNSPECIFIED_POSITION, "Advanced")); + + // View > Entity Camera [advanced] + cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu, + MenuOption::CameraEntityMode, 0, + false, qApp, SLOT(cameraMenuChanged()), + UNSPECIFIED_POSITION, "Advanced")); + + // View > Mini Mirror [advanced] + addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::MiniMirror, 0, //QML Qt::SHIFT | Qt::Key_H, - true); + false, NULL, NULL, UNSPECIFIED_POSITION, "Advanced"); // Edit menu ---------------------------------- diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 6563233902..085b349b8f 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -218,7 +218,7 @@ namespace MenuOption { const QString FixGaze = "Fix Gaze (no saccade)"; const QString Forward = "Forward"; const QString FrameTimer = "Show Timer"; - const QString FullscreenMirror = "Fullscreen Mirror"; + const QString FullscreenMirror = "Mirror"; const QString GlowWhenSpeaking = "Glow When Speaking"; const QString Help = "Help..."; const QString IncreaseAvatarSize = "Increase Avatar Size"; @@ -234,7 +234,7 @@ namespace MenuOption { const QString LogExtraTimings = "Log Extra Timing Details"; const QString LowVelocityFilter = "Low Velocity Filter"; const QString MeshVisible = "Draw Mesh"; - const QString Mirror = "Mirror"; + const QString MiniMirror = "Mini Mirror"; const QString MuteAudio = "Mute Microphone"; const QString MuteEnvironment = "Mute Environment"; const QString MuteFaceTracking = "Mute Face Tracking"; diff --git a/interface/src/ui/ApplicationOverlay.cpp b/interface/src/ui/ApplicationOverlay.cpp index b11e4c7a95..9259478d46 100644 --- a/interface/src/ui/ApplicationOverlay.cpp +++ b/interface/src/ui/ApplicationOverlay.cpp @@ -158,7 +158,7 @@ void ApplicationOverlay::renderRearViewToFbo(RenderArgs* renderArgs) { } void ApplicationOverlay::renderRearView(RenderArgs* renderArgs) { - if (!qApp->isHMDMode() && Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) { + if (!qApp->isHMDMode() && Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror)) { gpu::Batch& batch = *renderArgs->_batch; auto geometryCache = DependencyManager::get(); diff --git a/interface/src/ui/AvatarInputs.cpp b/interface/src/ui/AvatarInputs.cpp index 7b5f80ee80..fa6eaf072d 100644 --- a/interface/src/ui/AvatarInputs.cpp +++ b/interface/src/ui/AvatarInputs.cpp @@ -62,7 +62,7 @@ void AvatarInputs::update() { if (!Menu::getInstance()) { return; } - AI_UPDATE(mirrorVisible, Menu::getInstance()->isOptionChecked(MenuOption::Mirror) && !qApp->isHMDMode() + AI_UPDATE(mirrorVisible, Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror) && !qApp->isHMDMode() && !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)); AI_UPDATE(cameraEnabled, !Menu::getInstance()->isOptionChecked(MenuOption::NoFaceTracking)); AI_UPDATE(cameraMuted, Menu::getInstance()->isOptionChecked(MenuOption::MuteFaceTracking)); @@ -129,7 +129,7 @@ void AvatarInputs::toggleZoom() { } void AvatarInputs::closeMirror() { - if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) { - Menu::getInstance()->triggerOption(MenuOption::Mirror); + if (Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror)) { + Menu::getInstance()->triggerOption(MenuOption::MiniMirror); } }