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 | // View > First Person | 174 | // View > First Person |
| 175 | auto firstPersonAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( | 175 | auto firstPersonAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( |
| 176 | viewMenu, MenuOption::FirstPerson, 0, | 176 | viewMenu, MenuOption::FirstPersonLookAt, 0, |
| 177 | true, qApp, SLOT(cameraMenuChanged()))); | 177 | true, qApp, SLOT(cameraMenuChanged()))); |
| 178 | 178 | ||
| 179 | firstPersonAction->setProperty(EXCLUSION_GROUP_KEY, QVariant::fromValue(cameraModeGroup)); | 179 | firstPersonAction->setProperty(EXCLUSION_GROUP_KEY, QVariant::fromValue(cameraModeGroup)); |
| 180 | 180 | ||
| 181 | // View > Third Person | 181 | // View > Look At |
| 182 | auto thirdPersonAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( | 182 | auto lookAtAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( |
| 183 | viewMenu, MenuOption::ThirdPerson, 0, | 183 | viewMenu, MenuOption::LookAtCamera, 0, |
| 184 | false, qApp, SLOT(cameraMenuChanged()))); | 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 | 188 | // View > Selfie |
| 189 | auto viewMirrorAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( | 189 | auto selfieAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash( |
| 190 | viewMenu, MenuOption::FullscreenMirror, 0, | 190 | viewMenu, MenuOption::SelfieCamera, 0, |
| 191 | false, qApp, SLOT(cameraMenuChanged()))); | 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 | viewMenu->addSeparator(); | 195 | viewMenu->addSeparator(); |
| 196 | 196 | ||
| @@ -540,32 +540,18 @@ Menu::Menu() { · 343 unmodified lines | |||
| 540 | addCheckableActionToQMenuAndActionHash(faceTrackingMenu, MenuOption::AutoMuteAudio, 0, false); | 540 | addCheckableActionToQMenuAndActionHash(faceTrackingMenu, MenuOption::AutoMuteAudio, 0, false); |
| 541 | #endif | 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 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::AvatarReceiveStats, 0, false); | 543 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::AvatarReceiveStats, 0, false); |
| 562 | connect(action, &QAction::triggered, [this]{ Avatar::setShowReceiveStats(isOptionChecked(MenuOption::AvatarReceiveStats)); }); | 544 | connect(action, &QAction::triggered, [this]{ Avatar::setShowReceiveStats(isOptionChecked(MenuOption::AvatarReceiveStats)); }); |
| 563 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowBoundingCollisionShapes, 0, false); | 545 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowBoundingCollisionShapes, 0, false); |
| 564 | connect(action, &QAction::triggered, [this]{ Avatar::setShowCollisionShapes(isOptionChecked(MenuOption::ShowBoundingCollisionShapes)); }); | 546 | connect(action, &QAction::triggered, [this]{ Avatar::setShowCollisionShapes(isOptionChecked(MenuOption::ShowBoundingCollisionShapes)); }); |
| 565 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowMyLookAtVectors, 0, false); | 547 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowMyLookAtVectors, 0, false); |
| 566 | connect(action, &QAction::triggered, [this]{ Avatar::setShowMyLookAtVectors(isOptionChecked(MenuOption::ShowMyLookAtVectors)); }); | 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 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowOtherLookAtVectors, 0, false); | 551 | action = addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::ShowOtherLookAtVectors, 0, false); |
| 568 | connect(action, &QAction::triggered, [this]{ Avatar::setShowOtherLookAtVectors(isOptionChecked(MenuOption::ShowOtherLookAtVectors)); }); | 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 | auto avatarManager = DependencyManager::get<AvatarManager>(); | 556 | auto avatarManager = DependencyManager::get<AvatarManager>(); |
| 571 | auto avatar = avatarManager->getMyAvatar(); | 557 | auto avatar = avatarManager->getMyAvatar(); |
| @@ -660,11 +646,6 @@ Menu::Menu() { · 88 unmodified lines | |||
| 660 | } | 646 | } |
| 661 | #endif | 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 | // Developer > Timing >>> | 649 | // Developer > Timing >>> |
| 669 | MenuWrapper* timingMenu = developerMenu->addMenu("Timing"); | 650 | MenuWrapper* timingMenu = developerMenu->addMenu("Timing"); |
| 670 | MenuWrapper* perfTimerMenu = timingMenu->addMenu("Performance Timer"); | 651 | MenuWrapper* perfTimerMenu = timingMenu->addMenu("Performance Timer"); |
| @@ -731,43 +712,51 @@ Menu::Menu() { · 60 unmodified lines | |||
| 731 | DependencyManager::get<PickManager>().data(), SLOT(setForceCoarsePicking(bool))); | 712 | DependencyManager::get<PickManager>().data(), SLOT(setForceCoarsePicking(bool))); |
| 732 | 713 | ||
| 733 | // Developer > Crash >>> | 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 | // Developer > Show Statistics | 761 | // Developer > Show Statistics |
| 773 | addCheckableActionToQMenuAndActionHash(developerMenu, MenuOption::Stats, 0, true); | 762 | addCheckableActionToQMenuAndActionHash(developerMenu, MenuOption::Stats, 0, true); |
| @@ -841,7 +830,7 @@ Menu::Menu() { · 67 unmodified lines | |||
| 841 | // Help > Release Notes | 830 | // Help > Release Notes |
| 842 | action = addActionToQMenuAndActionHash(helpMenu, "Release Notes"); | 831 | action = addActionToQMenuAndActionHash(helpMenu, "Release Notes"); |
| 843 | connect(action, &QAction::triggered, qApp, [] { | 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 | // Help > Report a Bug! | 836 | // Help > Report a Bug! |