Showing the changes to interface/src/Menu.cpp (1 of 151 files). Show all
Unified · Split
| @@ -60,11 +60,11 @@ Menu::Menu() : · 59 unmodified lines | |||
| 60 | QMenu* fileMenu = addMenu("File"); | 60 | QMenu* fileMenu = addMenu("File"); |
| 61 | 61 | ||
| 62 | #ifdef Q_OS_MAC | 62 | #ifdef Q_OS_MAC |
| 63 | (addActionToQMenuAndActionHash(fileMenu, | 63 | addActionToQMenuAndActionHash(fileMenu, |
| 64 | MenuOption::AboutApp, | 64 | MenuOption::AboutApp, |
| 65 | 0, | 65 | 0, |
| 66 | this, | 66 | this, |
| 67 | SLOT(aboutApp())))->setMenuRole(QAction::AboutRole); | 67 | SLOT(aboutApp())); |
| 68 | #endif | 68 | #endif |
| 69 | 69 | ||
| 70 | (addActionToQMenuAndActionHash(fileMenu, | 70 | (addActionToQMenuAndActionHash(fileMenu, |
| @@ -72,12 +72,6 @@ Menu::Menu() : · 1 unmodified line | |||
| 72 | 0, | 72 | 0, |
| 73 | this, | 73 | this, |
| 74 | SLOT(login()))); | 74 | SLOT(login()))); |
| 75 | |||
| 76 | (addActionToQMenuAndActionHash(fileMenu, | ||
| 77 | MenuOption::Preferences, | ||
| 78 | Qt::CTRL | Qt::Key_Comma, | ||
| 79 | this, | ||
| 80 | SLOT(editPreferences())))->setMenuRole(QAction::PreferencesRole); | ||
| 81 | 75 | ||
| 82 | addDisabledActionAndSeparator(fileMenu, "Voxels"); | 76 | addDisabledActionAndSeparator(fileMenu, "Voxels"); |
| 83 | addActionToQMenuAndActionHash(fileMenu, MenuOption::ExportVoxels, Qt::CTRL | Qt::Key_E, appInstance, SLOT(exportVoxels())); | 77 | addActionToQMenuAndActionHash(fileMenu, MenuOption::ExportVoxels, Qt::CTRL | Qt::Key_E, appInstance, SLOT(exportVoxels())); |
| @@ -114,13 +108,22 @@ Menu::Menu() : · 30 unmodified lines | |||
| 114 | addActionToQMenuAndActionHash(fileMenu, MenuOption::Pair, 0, PairingHandler::getInstance(), SLOT(sendPairRequest())); | 108 | addActionToQMenuAndActionHash(fileMenu, MenuOption::Pair, 0, PairingHandler::getInstance(), SLOT(sendPairRequest())); |
| 115 | addCheckableActionToQMenuAndActionHash(fileMenu, MenuOption::TransmitterDrive, 0, true); | 109 | addCheckableActionToQMenuAndActionHash(fileMenu, MenuOption::TransmitterDrive, 0, true); |
| 116 | 110 | ||
| 117 | (addActionToQMenuAndActionHash(fileMenu, | 111 | addActionToQMenuAndActionHash(fileMenu, |
| 118 | MenuOption::Quit, | 112 | MenuOption::Quit, |
| 119 | Qt::CTRL | Qt::Key_Q, | 113 | Qt::CTRL | Qt::Key_Q, |
| 120 | appInstance, | 114 | appInstance, |
| 121 | SLOT(quit())))->setMenuRole(QAction::QuitRole); | 115 | SLOT(quit())); |
| 122 | 116 | ||
| 123 | QMenu* editMenu = addMenu("Edit"); | 117 | QMenu* editMenu = addMenu("Edit"); |
| 118 | |||
| 119 | addActionToQMenuAndActionHash(editMenu, | ||
| 120 | MenuOption::Preferences, | ||
| 121 | Qt::CTRL | Qt::Key_Comma, | ||
| 122 | this, | ||
| 123 | SLOT(editPreferences())); | ||
| 124 | |||
| 125 | addDisabledActionAndSeparator(editMenu, "Voxels"); | ||
| 126 | |||
| 124 | addActionToQMenuAndActionHash(editMenu, MenuOption::CutVoxels, Qt::CTRL | Qt::Key_X, appInstance, SLOT(cutVoxels())); | 127 | addActionToQMenuAndActionHash(editMenu, MenuOption::CutVoxels, Qt::CTRL | Qt::Key_X, appInstance, SLOT(cutVoxels())); |
| 125 | addActionToQMenuAndActionHash(editMenu, MenuOption::CopyVoxels, Qt::CTRL | Qt::Key_C, appInstance, SLOT(copyVoxels())); | 128 | addActionToQMenuAndActionHash(editMenu, MenuOption::CopyVoxels, Qt::CTRL | Qt::Key_C, appInstance, SLOT(copyVoxels())); |
| 126 | addActionToQMenuAndActionHash(editMenu, MenuOption::PasteVoxels, Qt::CTRL | Qt::Key_V, appInstance, SLOT(pasteVoxels())); | 129 | addActionToQMenuAndActionHash(editMenu, MenuOption::PasteVoxels, Qt::CTRL | Qt::Key_V, appInstance, SLOT(pasteVoxels())); |
| @@ -272,16 +275,25 @@ Menu::Menu() : · 145 unmodified lines | |||
| 272 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelsAsPoints, 0, | 275 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelsAsPoints, 0, |
| 273 | false, appInstance->getVoxels(), SLOT(setVoxelsAsPoints(bool))); | 276 | false, appInstance->getVoxels(), SLOT(setVoxelsAsPoints(bool))); |
| 274 | 277 | ||
| 275 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::FastVoxelPipeline, 0, | ||
| 276 | false, appInstance->getVoxels(), SLOT(setUseFastVoxelPipeline(bool))); | ||
| 277 | |||
| 278 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::DontRemoveOutOfView); | ||
| 279 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::HideOutOfView); | ||
| 280 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::ConstantCulling); | ||
| 281 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::AutomaticallyAuditTree); | ||
| 282 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelTextures); | 278 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelTextures); |
| 283 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::AmbientOcclusion); | 279 | addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::AmbientOcclusion); |
| 284 | 280 | ||
| 281 | QMenu* cullingOptionsMenu = voxelOptionsMenu->addMenu("Culling Options"); | ||
| 282 | addDisabledActionAndSeparator(cullingOptionsMenu, "Standard Settings"); | ||
| 283 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::OldVoxelCullingMode, 0, | ||
| 284 | false, this, SLOT(setOldVoxelCullingMode(bool))); | ||
| 285 | |||
| 286 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::NewVoxelCullingMode, 0, | ||
| 287 | false, this, SLOT(setNewVoxelCullingMode(bool))); | ||
| 288 | |||
| 289 | addDisabledActionAndSeparator(cullingOptionsMenu, "Individual Option Settings"); | ||
| 290 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::FastVoxelPipeline, 0, | ||
| 291 | false, appInstance->getVoxels(), SLOT(setUseFastVoxelPipeline(bool))); | ||
| 292 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::DontRemoveOutOfView); | ||
| 293 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::HideOutOfView); | ||
| 294 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::UseDeltaFrustumInHide); | ||
| 295 | addCheckableActionToQMenuAndActionHash(cullingOptionsMenu, MenuOption::ConstantCulling); | ||
| 296 | |||
| 285 | 297 | ||
| 286 | QMenu* avatarOptionsMenu = developerMenu->addMenu("Avatar Options"); | 298 | QMenu* avatarOptionsMenu = developerMenu->addMenu("Avatar Options"); |
| 287 | 299 | ||
| @@ -374,8 +386,17 @@ Menu::Menu() : · 86 unmodified lines | |||
| 374 | 386 | ||
| 375 | 387 | ||
| 376 | QMenu* renderDebugMenu = developerMenu->addMenu("Render Debugging Tools"); | 388 | QMenu* renderDebugMenu = developerMenu->addMenu("Render Debugging Tools"); |
| 377 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::PipelineWarnings); | 389 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::PipelineWarnings, Qt::CTRL | Qt::SHIFT | Qt::Key_P); |
| 378 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::SuppressShortTimings); | 390 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::SuppressShortTimings, Qt::CTRL | Qt::SHIFT | Qt::Key_S); |
| 391 | |||
| 392 | addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::AutomaticallyAuditTree); | ||
| 393 | |||
| 394 | |||
| 395 | addActionToQMenuAndActionHash(renderDebugMenu, | ||
| 396 | MenuOption::ShowAllLocalVoxels, | ||
| 397 | Qt::CTRL | Qt::Key_A, | ||
| 398 | appInstance->getVoxels(), | ||
| 399 | SLOT(showAllLocalVoxels())); | ||
| 379 | 400 | ||
| 380 | addActionToQMenuAndActionHash(renderDebugMenu, | 401 | addActionToQMenuAndActionHash(renderDebugMenu, |
| 381 | MenuOption::KillLocalVoxels, | 402 | MenuOption::KillLocalVoxels, |
| @@ -1098,4 +1119,30 @@ void Menu::updateFrustumRenderModeAction() { · 716 unmodified lines | |||
| 1098 | } | 1119 | } |
| 1099 | } | 1120 | } |
| 1100 | 1121 | ||
| 1122 | void Menu::setOldVoxelCullingMode(bool oldMode) { | ||
| 1123 | setVoxelCullingMode(oldMode); | ||
| 1124 | } | ||
| 1125 | |||
| 1126 | void Menu::setNewVoxelCullingMode(bool newMode) { | ||
| 1127 | setVoxelCullingMode(!newMode); | ||
| 1128 | } | ||
| 1101 | 1129 | ||
| 1130 | /// This will switch on or off several different individual settings options all at once based on choosing with Old or New | ||
| 1131 | /// voxel culling mode. | ||
| 1132 | void Menu::setVoxelCullingMode(bool oldMode) { | ||
| 1133 | const QString menus[] = { MenuOption::FastVoxelPipeline, MenuOption::DontRemoveOutOfView, MenuOption::HideOutOfView, | ||
| 1134 | MenuOption::UseDeltaFrustumInHide, MenuOption::ConstantCulling}; | ||
| 1135 | bool oldModeValue[] = { false, false, false, false, false }; | ||
| 1136 | bool newModeValue[] = { true, true, true, true, true }; | ||
| 1137 | |||
| 1138 | for (int i = 0; i < sizeof(menus) / sizeof(menus[0]); i++) { | ||
| 1139 | bool desiredValue = oldMode ? oldModeValue[i] : newModeValue[i]; | ||
| 1140 | if (isOptionChecked(menus[i]) != desiredValue) { | ||
| 1141 | triggerOption(menus[i]); | ||
| 1142 | } | ||
| 1143 | } | ||
| 1144 | |||
| 1145 | // set the checkmarks accordingly... | ||
| 1146 | _actionHash.value(MenuOption::OldVoxelCullingMode)->setChecked(oldMode); | ||
| 1147 | _actionHash.value(MenuOption::NewVoxelCullingMode)->setChecked(!oldMode); | ||
| 1148 | } | ||