History

Merge branch 'master' of https://github.com/worklist/hifi into ossome

Andrzej Kapolka committed 13 years ago

Commit 247dfd32 parents cf98d90 873a479151 files · +1244 −16855Browse files

Showing the changes to interface/src/Menu.cpp (1 of 151 files). Show all

Unified · Split

interface/src/Menu.cpp+73−26
@@ -60,11 +60,11 @@ Menu::Menu() : · 59 unmodified lines
6060 QMenu* fileMenu = addMenu("File");
6161
6262 #ifdef Q_OS_MAC
63− (addActionToQMenuAndActionHash(fileMenu,
64− MenuOption::AboutApp,
65− 0,
66− this,
67− SLOT(aboutApp())))->setMenuRole(QAction::AboutRole);
63+ addActionToQMenuAndActionHash(fileMenu,
64+ MenuOption::AboutApp,
65+ 0,
66+ this,
67+ SLOT(aboutApp()));
6868 #endif
6969
7070 (addActionToQMenuAndActionHash(fileMenu,
@@ -72,12 +72,6 @@ Menu::Menu() : · 1 unmodified line
7272 0,
7373 this,
7474 SLOT(login())));
75−
76− (addActionToQMenuAndActionHash(fileMenu,
77− MenuOption::Preferences,
78− Qt::CTRL | Qt::Key_Comma,
79− this,
80− SLOT(editPreferences())))->setMenuRole(QAction::PreferencesRole);
8175
8276 addDisabledActionAndSeparator(fileMenu, "Voxels");
8377 addActionToQMenuAndActionHash(fileMenu, MenuOption::ExportVoxels, Qt::CTRL | Qt::Key_E, appInstance, SLOT(exportVoxels()));
@@ -114,13 +108,22 @@ Menu::Menu() : · 30 unmodified lines
114108 addActionToQMenuAndActionHash(fileMenu, MenuOption::Pair, 0, PairingHandler::getInstance(), SLOT(sendPairRequest()));
115109 addCheckableActionToQMenuAndActionHash(fileMenu, MenuOption::TransmitterDrive, 0, true);
116110
117− (addActionToQMenuAndActionHash(fileMenu,
118− MenuOption::Quit,
119− Qt::CTRL | Qt::Key_Q,
120− appInstance,
121− SLOT(quit())))->setMenuRole(QAction::QuitRole);
111+ addActionToQMenuAndActionHash(fileMenu,
112+ MenuOption::Quit,
113+ Qt::CTRL | Qt::Key_Q,
114+ appInstance,
115+ SLOT(quit()));
122116
123117 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+
124127 addActionToQMenuAndActionHash(editMenu, MenuOption::CutVoxels, Qt::CTRL | Qt::Key_X, appInstance, SLOT(cutVoxels()));
125128 addActionToQMenuAndActionHash(editMenu, MenuOption::CopyVoxels, Qt::CTRL | Qt::Key_C, appInstance, SLOT(copyVoxels()));
126129 addActionToQMenuAndActionHash(editMenu, MenuOption::PasteVoxels, Qt::CTRL | Qt::Key_V, appInstance, SLOT(pasteVoxels()));
@@ -272,16 +275,25 @@ Menu::Menu() : · 145 unmodified lines
272275 addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelsAsPoints, 0,
273276 false, appInstance->getVoxels(), SLOT(setVoxelsAsPoints(bool)));
274277
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);
282278 addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelTextures);
283279 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+
285297
286298 QMenu* avatarOptionsMenu = developerMenu->addMenu("Avatar Options");
287299
@@ -374,8 +386,17 @@ Menu::Menu() : · 86 unmodified lines
374386
375387
376388 QMenu* renderDebugMenu = developerMenu->addMenu("Render Debugging Tools");
377− addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::PipelineWarnings);
378− addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::SuppressShortTimings);
389+ addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::PipelineWarnings, Qt::CTRL | Qt::SHIFT | Qt::Key_P);
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()));
379400
380401 addActionToQMenuAndActionHash(renderDebugMenu,
381402 MenuOption::KillLocalVoxels,
@@ -1098,4 +1119,30 @@ void Menu::updateFrustumRenderModeAction() { · 716 unmodified lines
10981119 }
10991120 }
11001121
1122+void Menu::setOldVoxelCullingMode(bool oldMode) {
1123+ setVoxelCullingMode(oldMode);
1124+}
1125+
1126+void Menu::setNewVoxelCullingMode(bool newMode) {
1127+ setVoxelCullingMode(!newMode);
1128+}
11011129
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+}