Merge pull request #11037 from sethalves/bug-camera-mode-mods

use Qt menu hotkeys to drive camera-mode changes
This commit is contained in:
anshuman64 2017-07-27 09:44:53 -07:00 committed by GitHub
commit bcb819206b
2 changed files with 22 additions and 16 deletions

View file

@ -3020,7 +3020,9 @@ void Application::keyPressEvent(QKeyEvent* event) {
break; break;
case Qt::Key_F: { case Qt::Key_F: {
_physicsEngine->dumpNextStats(); if (isOption) {
_physicsEngine->dumpNextStats();
}
break; break;
} }
@ -4460,27 +4462,31 @@ void Application::cameraModeChanged() {
void Application::cameraMenuChanged() { void Application::cameraMenuChanged() {
if (Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)) { auto menu = Menu::getInstance();
if (_myCamera.getMode() != CAMERA_MODE_MIRROR) { if (menu->isOptionChecked(MenuOption::FullscreenMirror)) {
if (isHMDMode()) {
menu->setIsOptionChecked(MenuOption::FullscreenMirror, false);
menu->setIsOptionChecked(MenuOption::FirstPerson, true);
} else if (_myCamera.getMode() != CAMERA_MODE_MIRROR) {
_myCamera.setMode(CAMERA_MODE_MIRROR); _myCamera.setMode(CAMERA_MODE_MIRROR);
} }
} else if (Menu::getInstance()->isOptionChecked(MenuOption::FirstPerson)) { } else if (menu->isOptionChecked(MenuOption::FirstPerson)) {
if (_myCamera.getMode() != CAMERA_MODE_FIRST_PERSON) { if (_myCamera.getMode() != CAMERA_MODE_FIRST_PERSON) {
_myCamera.setMode(CAMERA_MODE_FIRST_PERSON); _myCamera.setMode(CAMERA_MODE_FIRST_PERSON);
getMyAvatar()->setBoomLength(MyAvatar::ZOOM_MIN); getMyAvatar()->setBoomLength(MyAvatar::ZOOM_MIN);
} }
} else if (Menu::getInstance()->isOptionChecked(MenuOption::ThirdPerson)) { } else if (menu->isOptionChecked(MenuOption::ThirdPerson)) {
if (_myCamera.getMode() != CAMERA_MODE_THIRD_PERSON) { if (_myCamera.getMode() != CAMERA_MODE_THIRD_PERSON) {
_myCamera.setMode(CAMERA_MODE_THIRD_PERSON); _myCamera.setMode(CAMERA_MODE_THIRD_PERSON);
if (getMyAvatar()->getBoomLength() == MyAvatar::ZOOM_MIN) { if (getMyAvatar()->getBoomLength() == MyAvatar::ZOOM_MIN) {
getMyAvatar()->setBoomLength(MyAvatar::ZOOM_DEFAULT); getMyAvatar()->setBoomLength(MyAvatar::ZOOM_DEFAULT);
} }
} }
} else if (Menu::getInstance()->isOptionChecked(MenuOption::IndependentMode)) { } else if (menu->isOptionChecked(MenuOption::IndependentMode)) {
if (_myCamera.getMode() != CAMERA_MODE_INDEPENDENT) { if (_myCamera.getMode() != CAMERA_MODE_INDEPENDENT) {
_myCamera.setMode(CAMERA_MODE_INDEPENDENT); _myCamera.setMode(CAMERA_MODE_INDEPENDENT);
} }
} else if (Menu::getInstance()->isOptionChecked(MenuOption::CameraEntityMode)) { } else if (menu->isOptionChecked(MenuOption::CameraEntityMode)) {
if (_myCamera.getMode() != CAMERA_MODE_ENTITY) { if (_myCamera.getMode() != CAMERA_MODE_ENTITY) {
_myCamera.setMode(CAMERA_MODE_ENTITY); _myCamera.setMode(CAMERA_MODE_ENTITY);
} }

View file

@ -222,19 +222,19 @@ Menu::Menu() {
cameraModeGroup->setExclusive(true); cameraModeGroup->setExclusive(true);
// View > First Person // View > First Person
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu, cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
MenuOption::FirstPerson, 0, viewMenu, MenuOption::FirstPerson, Qt::CTRL | Qt::Key_F,
true, qApp, SLOT(cameraMenuChanged()))); true, qApp, SLOT(cameraMenuChanged())));
// View > Third Person // View > Third Person
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu, cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
MenuOption::ThirdPerson, 0, viewMenu, MenuOption::ThirdPerson, Qt::CTRL | Qt::Key_G,
false, qApp, SLOT(cameraMenuChanged()))); false, qApp, SLOT(cameraMenuChanged())));
// View > Mirror // View > Mirror
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu, cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
MenuOption::FullscreenMirror, 0, viewMenu, MenuOption::FullscreenMirror, Qt::CTRL | Qt::Key_H,
false, qApp, SLOT(cameraMenuChanged()))); false, qApp, SLOT(cameraMenuChanged())));
// View > Independent [advanced] // View > Independent [advanced]
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu, cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,