Showing the changes to interface/src/Menu.cpp (1 of 1614 files). Show all
Unified · Split
| @@ -173,24 +173,24 @@ Menu::Menu() { · 172 unmodified lines | ||
| 173 | 173 | |
| 174 | 174 | // View > First Person |
| 175 | 175 | auto firstPersonAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( |
| 176 | − viewMenu, MenuOption::FirstPerson, 0, | |
| 176 | + viewMenu, MenuOption::FirstPersonLookAt, 0, | |
| 177 | 177 | true, qApp, SLOT(cameraMenuChanged()))); |
| 178 | 178 | |
| 179 | 179 | firstPersonAction->setProperty(EXCLUSION_GROUP_KEY, QVariant::fromValue(cameraModeGroup)); |
| 180 | 180 | |
| 181 | − // View > Third Person | |
| 182 | − auto thirdPersonAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( | |
| 183 | − viewMenu, MenuOption::ThirdPerson, 0, | |
| 181 | + // View > Look At | |
| 182 | + auto lookAtAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( | |
| 183 | + viewMenu, MenuOption::LookAtCamera, 0, | |
| 184 | 184 | false, qApp, SLOT(cameraMenuChanged()))); |
| 185 | 185 | |
| 186 | − thirdPersonAction->setProperty(EXCLUSION_GROUP_KEY, QVariant::fromValue(cameraModeGroup)); | |
| 186 | + lookAtAction->setProperty(EXCLUSION_GROUP_KEY, QVariant::fromValue(cameraModeGroup)); | |
| 187 | 187 | |
| 188 | − // View > Mirror | |
| 189 | − auto viewMirrorAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( | |
| 190 | − viewMenu, MenuOption::FullscreenMirror, 0, | |
| 191 | − false, qApp, SLOT(cameraMenuChanged()))); | |
| 188 | + // View > Selfie | |
| 189 | + auto selfieAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( | |
| 190 | + viewMenu, MenuOption::SelfieCamera, 0, | |
| 191 | + false, qApp, SLOT(cameraMenuChanged()))); | |
| 192 | 192 | |
| 193 | − viewMirrorAction->setProperty(EXCLUSION_GROUP_KEY, QVariant::fromValue(cameraModeGroup)); | |
| 193 | + selfieAction->setProperty(EXCLUSION_GROUP_KEY, QVariant::fromValue(cameraModeGroup)); | |
| 194 | 194 | |
| 195 | 195 | viewMenu->addSeparator(); |
| 196 | 196 | |
| @@ -540,32 +540,18 @@ Menu::Menu() { · 343 unmodified lines | ||
| 540 | 540 | addCheckableActionToQMenuAndActionHash(faceTrackingMenu, MenuOption::AutoMuteAudio, 0, false); |
| 541 | 541 | #endif |
| 542 | 542 | |
| 543 | −#ifdef HAVE_IVIEWHMD | |
| 544 | − // Developer > Avatar > Eye Tracking | |
| 545 | − MenuWrapper* eyeTrackingMenu = avatarDebugMenu->addMenu("Eye Tracking"); | |
| 546 | − addCheckableActionToQMenuAndActionHash(eyeTrackingMenu, MenuOption::SMIEyeTracking, 0, false, | |
| 547 | − qApp, SLOT(setActiveEyeTracker())); | |
| 548 | − { | |
| 549 | − MenuWrapper* calibrateEyeTrackingMenu = eyeTrackingMenu->addMenu("Calibrate"); | |
| 550 | − addActionToQMenuAndActionHash(calibrateEyeTrackingMenu, MenuOption::OnePointCalibration, 0, | |
| 551 | − qApp, SLOT(calibrateEyeTracker1Point())); | |
| 552 | − addActionToQMenuAndActionHash(calibrateEyeTrackingMenu, MenuOption::ThreePointCalibration, 0, | |
| 553 | − qApp, SLOT(calibrateEyeTracker3Points())); | |
| 554 | − addActionToQMenuAndActionHash(calibrateEyeTrackingMenu, MenuOption::FivePointCalibration, 0, | |
| 555 | − qApp, SLOT(calibrateEyeTracker5Points())); | |
| 556 | − } | |
| 557 | − addCheckableActionToQMenuAndActionHash(eyeTrackingMenu, MenuOption::SimulateEyeTracking, 0, false, | |
| 558 | − qApp, SLOT(setActiveEyeTracker())); | |
| 559 | −#endif | |
| 560 | − | |
| 561 | 543 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::AvatarReceiveStats, 0, false); |
| 562 | 544 | connect(action, &QAction::triggered, [this]{ Avatar::setShowReceiveStats(isOptionChecked(MenuOption::AvatarReceiveStats)); }); |
| 563 | 545 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowBoundingCollisionShapes, 0, false); |
| 564 | 546 | connect(action, &QAction::triggered, [this]{ Avatar::setShowCollisionShapes(isOptionChecked(MenuOption::ShowBoundingCollisionShapes)); }); |
| 565 | 547 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowMyLookAtVectors, 0, false); |
| 566 | 548 | connect(action, &QAction::triggered, [this]{ Avatar::setShowMyLookAtVectors(isOptionChecked(MenuOption::ShowMyLookAtVectors)); }); |
| 549 | + action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowMyLookAtTarget, 0, false); | |
| 550 | + connect(action, &QAction::triggered, [this]{ Avatar::setShowMyLookAtTarget(isOptionChecked(MenuOption::ShowMyLookAtTarget)); }); | |
| 567 | 551 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowOtherLookAtVectors, 0, false); |
| 568 | 552 | connect(action, &QAction::triggered, [this]{ Avatar::setShowOtherLookAtVectors(isOptionChecked(MenuOption::ShowOtherLookAtVectors)); }); |
| 553 | + action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowOtherLookAtTarget, 0, false); | |
| 554 | + connect(action, &QAction::triggered, [this]{ Avatar::setShowOtherLookAtTarget(isOptionChecked(MenuOption::ShowOtherLookAtTarget)); }); | |
| 569 | 555 | |
| 570 | 556 | auto avatarManager = DependencyManager::get<AvatarManager>(); |
| 571 | 557 | auto avatar = avatarManager->getMyAvatar(); |
| @@ -660,11 +646,6 @@ Menu::Menu() { · 88 unmodified lines | ||
| 660 | 646 | } |
| 661 | 647 | #endif |
| 662 | 648 | |
| 663 | − | |
| 664 | − // Developer >> Tests >>> | |
| 665 | − MenuWrapper* testMenu = developerMenu->addMenu("Tests"); | |
| 666 | − addActionToQMenuAndActionHash(testMenu, MenuOption::RunClientScriptTests, 0, dialogsManager.data(), SLOT(showTestingResults())); | |
| 667 | − | |
| 668 | 649 | // Developer > Timing >>> |
| 669 | 650 | MenuWrapper* timingMenu = developerMenu->addMenu("Timing"); |
| 670 | 651 | MenuWrapper* perfTimerMenu = timingMenu->addMenu("Performance Timer"); |
| @@ -731,43 +712,51 @@ Menu::Menu() { · 60 unmodified lines | ||
| 731 | 712 | DependencyManager::get<PickManager>().data(), SLOT(setForceCoarsePicking(bool))); |
| 732 | 713 | |
| 733 | 714 | // Developer > Crash >>> |
| 734 | − MenuWrapper* crashMenu = developerMenu->addMenu("Crash"); | |
| 715 | + bool result = false; | |
| 716 | + const QString HIFI_SHOW_DEVELOPER_CRASH_MENU("HIFI_SHOW_DEVELOPER_CRASH_MENU"); | |
| 717 | + result = QProcessEnvironment::systemEnvironment().contains(HIFI_SHOW_DEVELOPER_CRASH_MENU); | |
| 718 | + if (result) { | |
| 719 | + MenuWrapper* crashMenu = developerMenu->addMenu("Crash"); | |
| 720 | + | |
| 721 | + // Developer > Crash > Display Crash Options | |
| 722 | + addCheckableActionToQMenuAndActionHash(crashMenu, MenuOption::DisplayCrashOptions, 0, true); | |
| 723 | + | |
| 724 | + addActionToQMenuAndActionHash(crashMenu, MenuOption::DeadlockInterface, 0, qApp, SLOT(deadlockApplication())); | |
| 725 | + addActionToQMenuAndActionHash(crashMenu, MenuOption::UnresponsiveInterface, 0, qApp, SLOT(unresponsiveApplication())); | |
| 726 | + | |
| 727 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashPureVirtualFunction); | |
| 728 | + connect(action, &QAction::triggered, qApp, []() { crash::pureVirtualCall(); }); | |
| 729 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashPureVirtualFunctionThreaded); | |
| 730 | + connect(action, &QAction::triggered, qApp, []() { std::thread(crash::pureVirtualCall).join(); }); | |
| 731 | + | |
| 732 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashDoubleFree); | |
| 733 | + connect(action, &QAction::triggered, qApp, []() { crash::doubleFree(); }); | |
| 734 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashDoubleFreeThreaded); | |
| 735 | + connect(action, &QAction::triggered, qApp, []() { std::thread(crash::doubleFree).join(); }); | |
| 736 | + | |
| 737 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashAbort); | |
| 738 | + connect(action, &QAction::triggered, qApp, []() { crash::doAbort(); }); | |
| 739 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashAbortThreaded); | |
| 740 | + connect(action, &QAction::triggered, qApp, []() { std::thread(crash::doAbort).join(); }); | |
| 741 | + | |
| 742 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashNullDereference); | |
| 743 | + connect(action, &QAction::triggered, qApp, []() { crash::nullDeref(); }); | |
| 744 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashNullDereferenceThreaded); | |
| 745 | + connect(action, &QAction::triggered, qApp, []() { std::thread(crash::nullDeref).join(); }); | |
| 746 | + | |
| 747 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashOutOfBoundsVectorAccess); | |
| 748 | + connect(action, &QAction::triggered, qApp, []() { crash::outOfBoundsVectorCrash(); }); | |
| 749 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashOutOfBoundsVectorAccessThreaded); | |
| 750 | + connect(action, &QAction::triggered, qApp, []() { std::thread(crash::outOfBoundsVectorCrash).join(); }); | |
| 751 | + | |
| 752 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashNewFault); | |
| 753 | + connect(action, &QAction::triggered, qApp, []() { crash::newFault(); }); | |
| 754 | + action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashNewFaultThreaded); | |
| 755 | + connect(action, &QAction::triggered, qApp, []() { std::thread(crash::newFault).join(); }); | |
| 756 | + | |
| 757 | + addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashOnShutdown, 0, qApp, SLOT(crashOnShutdown())); | |
| 758 | + } | |
| 735 | 759 | |
| 736 | − // Developer > Crash > Display Crash Options | |
| 737 | − addCheckableActionToQMenuAndActionHash(crashMenu, MenuOption::DisplayCrashOptions, 0, true); | |
| 738 | − | |
| 739 | − addActionToQMenuAndActionHash(crashMenu, MenuOption::DeadlockInterface, 0, qApp, SLOT(deadlockApplication())); | |
| 740 | − addActionToQMenuAndActionHash(crashMenu, MenuOption::UnresponsiveInterface, 0, qApp, SLOT(unresponsiveApplication())); | |
| 741 | − | |
| 742 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashPureVirtualFunction); | |
| 743 | − connect(action, &QAction::triggered, qApp, []() { crash::pureVirtualCall(); }); | |
| 744 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashPureVirtualFunctionThreaded); | |
| 745 | − connect(action, &QAction::triggered, qApp, []() { std::thread(crash::pureVirtualCall).join(); }); | |
| 746 | − | |
| 747 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashDoubleFree); | |
| 748 | − connect(action, &QAction::triggered, qApp, []() { crash::doubleFree(); }); | |
| 749 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashDoubleFreeThreaded); | |
| 750 | − connect(action, &QAction::triggered, qApp, []() { std::thread(crash::doubleFree).join(); }); | |
| 751 | − | |
| 752 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashAbort); | |
| 753 | − connect(action, &QAction::triggered, qApp, []() { crash::doAbort(); }); | |
| 754 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashAbortThreaded); | |
| 755 | − connect(action, &QAction::triggered, qApp, []() { std::thread(crash::doAbort).join(); }); | |
| 756 | − | |
| 757 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashNullDereference); | |
| 758 | − connect(action, &QAction::triggered, qApp, []() { crash::nullDeref(); }); | |
| 759 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashNullDereferenceThreaded); | |
| 760 | − connect(action, &QAction::triggered, qApp, []() { std::thread(crash::nullDeref).join(); }); | |
| 761 | − | |
| 762 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashOutOfBoundsVectorAccess); | |
| 763 | − connect(action, &QAction::triggered, qApp, []() { crash::outOfBoundsVectorCrash(); }); | |
| 764 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashOutOfBoundsVectorAccessThreaded); | |
| 765 | − connect(action, &QAction::triggered, qApp, []() { std::thread(crash::outOfBoundsVectorCrash).join(); }); | |
| 766 | − | |
| 767 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashNewFault); | |
| 768 | − connect(action, &QAction::triggered, qApp, []() { crash::newFault(); }); | |
| 769 | − action = addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashNewFaultThreaded); | |
| 770 | − connect(action, &QAction::triggered, qApp, []() { std::thread(crash::newFault).join(); }); | |
| 771 | 760 | |
| 772 | 761 | // Developer > Show Statistics |
| 773 | 762 | addCheckableActionToQMenuAndActionHash(developerMenu, MenuOption::Stats, 0, true); |
| @@ -841,7 +830,7 @@ Menu::Menu() { · 67 unmodified lines | ||
| 841 | 830 | // Help > Release Notes |
| 842 | 831 | action = addActionToQMenuAndActionHash(helpMenu, "Release Notes"); |
| 843 | 832 | connect(action, &QAction::triggered, qApp, [] { |
| 844 | − QDesktopServices::openUrl(QUrl("http://steamcommunity.com/games/390540/announcements/")); | |
| 833 | + QDesktopServices::openUrl(QUrl("https://docs.highfidelity.com/release-notes.html")); | |
| 845 | 834 | }); |
| 846 | 835 | |
| 847 | 836 | // Help > Report a Bug! |