History

added option to disable local cache file

Brad Hefta-Gaub committed 12 years ago

Commit f1e98721 parent dfb70ee3 files · +226 −216Browse files

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

Unified · Split

interface/src/Menu.cpp+151−150
@@ -37,18 +37,18 @@ Menu* Menu::_instance = NULL; · 36 unmodified lines
3737
3838 Menu* Menu::getInstance() {
3939 static QMutex menuInstanceMutex;
40−
40+
4141 // lock the menu instance mutex to make sure we don't race and create two menus and crash
4242 menuInstanceMutex.lock();
43−
43+
4444 if (!_instance) {
4545 qDebug("First call to Menu::getInstance() - initing menu.");
46−
46+
4747 _instance = new Menu();
4848 }
49−
49+
5050 menuInstanceMutex.unlock();
51−
51+
5252 return _instance;
5353 }
5454
@@ -72,9 +72,9 @@ Menu::Menu() : · 17 unmodified lines
7272 _maxVoxelPacketsPerSecond(DEFAULT_MAX_VOXEL_PPS)
7373 {
7474 Application *appInstance = Application::getInstance();
75−
75+
7676 QMenu* fileMenu = addMenu("File");
77−
77+
7878 #ifdef Q_OS_MAC
7979 addActionToQMenuAndActionHash(fileMenu,
8080 MenuOption::AboutApp,
@@ -83,7 +83,7 @@ Menu::Menu() : · 2 unmodified lines
8383 SLOT(aboutApp()),
8484 QAction::AboutRole);
8585 #endif
86−
86+
8787 (addActionToQMenuAndActionHash(fileMenu,
8888 MenuOption::Login,
8989 0,
@@ -97,7 +97,7 @@ Menu::Menu() : · 7 unmodified lines
9797 addDisabledActionAndSeparator(fileMenu, "Voxels");
9898 addActionToQMenuAndActionHash(fileMenu, MenuOption::ExportVoxels, Qt::CTRL | Qt::Key_E, appInstance, SLOT(exportVoxels()));
9999 addActionToQMenuAndActionHash(fileMenu, MenuOption::ImportVoxels, Qt::CTRL | Qt::Key_I, appInstance, SLOT(importVoxels()));
100−
100+
101101 addDisabledActionAndSeparator(fileMenu, "Go");
102102 addActionToQMenuAndActionHash(fileMenu,
103103 MenuOption::GoHome,
@@ -120,45 +120,45 @@ Menu::Menu() : · 16 unmodified lines
120120 this,
121121 SLOT(goToUser()));
122122
123−
123+
124124 addDisabledActionAndSeparator(fileMenu, "Settings");
125125 addActionToQMenuAndActionHash(fileMenu, MenuOption::SettingsImport, 0, this, SLOT(importSettings()));
126126 addActionToQMenuAndActionHash(fileMenu, MenuOption::SettingsExport, 0, this, SLOT(exportSettings()));
127−
127+
128128 addDisabledActionAndSeparator(fileMenu, "Devices");
129129 addActionToQMenuAndActionHash(fileMenu, MenuOption::Pair, 0, PairingHandler::getInstance(), SLOT(sendPairRequest()));
130130 addCheckableActionToQMenuAndActionHash(fileMenu, MenuOption::TransmitterDrive, 0, true);
131−
131+
132132 addActionToQMenuAndActionHash(fileMenu,
133133 MenuOption::Quit,
134134 Qt::CTRL | Qt::Key_Q,
135135 appInstance,
136136 SLOT(quit()),
137137 QAction::QuitRole);
138−
139−
138+
139+
140140 QMenu* editMenu = addMenu("Edit");
141−
141+
142142 addActionToQMenuAndActionHash(editMenu,
143143 MenuOption::Preferences,
144144 Qt::CTRL | Qt::Key_Comma,
145145 this,
146146 SLOT(editPreferences()),
147147 QAction::PreferencesRole);
148−
148+
149149 addDisabledActionAndSeparator(editMenu, "Voxels");
150−
150+
151151 addActionToQMenuAndActionHash(editMenu, MenuOption::CutVoxels, Qt::CTRL | Qt::Key_X, appInstance, SLOT(cutVoxels()));
152152 addActionToQMenuAndActionHash(editMenu, MenuOption::CopyVoxels, Qt::CTRL | Qt::Key_C, appInstance, SLOT(copyVoxels()));
153153 addActionToQMenuAndActionHash(editMenu, MenuOption::PasteVoxels, Qt::CTRL | Qt::Key_V, appInstance, SLOT(pasteVoxels()));
154154 addActionToQMenuAndActionHash(editMenu, MenuOption::NudgeVoxels, Qt::CTRL | Qt::Key_N, appInstance, SLOT(nudgeVoxels()));
155−
155+
156156 #ifdef __APPLE__
157157 addActionToQMenuAndActionHash(editMenu, MenuOption::DeleteVoxels, Qt::Key_Backspace, appInstance, SLOT(deleteVoxels()));
158158 #else
159159 addActionToQMenuAndActionHash(editMenu, MenuOption::DeleteVoxels, Qt::Key_Delete, appInstance, SLOT(deleteVoxels()));
160160 #endif
161−
161+
162162 addDisabledActionAndSeparator(editMenu, "Physics");
163163 addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::Gravity, Qt::SHIFT | Qt::Key_G, true);
164164 addCheckableActionToQMenuAndActionHash(editMenu,
@@ -167,47 +167,47 @@ Menu::Menu() : · 2 unmodified lines
167167 true,
168168 appInstance->getAvatar(),
169169 SLOT(setWantCollisionsOn(bool)));
170−
170+
171171 QMenu* toolsMenu = addMenu("Tools");
172−
172+
173173 _voxelModeActionsGroup = new QActionGroup(this);
174174 _voxelModeActionsGroup->setExclusive(false);
175−
175+
176176 QAction* addVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelAddMode, Qt::Key_V);
177177 _voxelModeActionsGroup->addAction(addVoxelMode);
178−
178+
179179 QAction* deleteVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelDeleteMode, Qt::Key_R);
180180 _voxelModeActionsGroup->addAction(deleteVoxelMode);
181−
181+
182182 QAction* colorVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelColorMode, Qt::Key_B);
183183 _voxelModeActionsGroup->addAction(colorVoxelMode);
184−
184+
185185 QAction* selectVoxelMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelSelectMode, Qt::Key_O);
186186 _voxelModeActionsGroup->addAction(selectVoxelMode);
187−
187+
188188 QAction* getColorMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelGetColorMode, Qt::Key_G);
189189 _voxelModeActionsGroup->addAction(getColorMode);
190−
190+
191191 addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::ClickToFly);
192−
193−
192+
193+
194194 // connect each of the voxel mode actions to the updateVoxelModeActionsSlot
195195 foreach (QAction* action, _voxelModeActionsGroup->actions()) {
196196 connect(action, SIGNAL(triggered()), this, SLOT(updateVoxelModeActions()));
197197 }
198−
198+
199199 QAction* voxelPaintColor = addActionToQMenuAndActionHash(toolsMenu,
200200 MenuOption::VoxelPaintColor,
201201 Qt::META | Qt::Key_C,
202202 this,
203203 SLOT(chooseVoxelPaintColor()));
204−
204+
205205 Application::getInstance()->getSwatch()->setAction(voxelPaintColor);
206−
206+
207207 QColor paintColor(128, 128, 128);
208208 voxelPaintColor->setData(paintColor);
209209 voxelPaintColor->setIcon(Swatch::createIcon(paintColor));
210−
210+
211211 addActionToQMenuAndActionHash(toolsMenu,
212212 MenuOption::DecreaseVoxelSize,
213213 QKeySequence::ZoomOut,
@@ -220,9 +220,9 @@ Menu::Menu() : · 6 unmodified lines
220220 SLOT(increaseVoxelSize()));
221221 addActionToQMenuAndActionHash(toolsMenu, MenuOption::ResetSwatchColors, 0, this, SLOT(resetSwatchColors()));
222222
223−
223+
224224 QMenu* viewMenu = addMenu("View");
225−
225+
226226 addCheckableActionToQMenuAndActionHash(viewMenu,
227227 MenuOption::Fullscreen,
228228 Qt::CTRL | Qt::META | Qt::Key_F,
@@ -233,10 +233,10 @@ Menu::Menu() : · 4 unmodified lines
233233 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Mirror, Qt::SHIFT | Qt::Key_H);
234234 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FullscreenMirror, Qt::Key_H);
235235 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Enable3DTVMode, 0, false);
236−
237−
236+
237+
238238 QMenu* avatarSizeMenu = viewMenu->addMenu("Avatar Size");
239−
239+
240240 addActionToQMenuAndActionHash(avatarSizeMenu,
241241 MenuOption::IncreaseAvatarSize,
242242 Qt::Key_Plus,
@@ -263,8 +263,8 @@ Menu::Menu() : · 20 unmodified lines
263263 true);
264264 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::MoveWithLean, 0, false);
265265 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::HeadMouse, 0, false);
266−
267−
266+
267+
268268 addDisabledActionAndSeparator(viewMenu, "Stats");
269269 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Stats, Qt::Key_Slash);
270270 addActionToQMenuAndActionHash(viewMenu, MenuOption::Log, Qt::CTRL | Qt::Key_L, appInstance, SLOT(toggleLogDialog()));
@@ -272,7 +272,7 @@ Menu::Menu() : · 1 unmodified line
272272 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Bandwidth, 0, true);
273273 addActionToQMenuAndActionHash(viewMenu, MenuOption::BandwidthDetails, 0, this, SLOT(bandwidthDetails()));
274274 addActionToQMenuAndActionHash(viewMenu, MenuOption::VoxelStats, 0, this, SLOT(voxelStatsDetails()));
275−
275+
276276 QMenu* developerMenu = addMenu("Developer");
277277
278278 QMenu* renderOptionsMenu = developerMenu->addMenu("Rendering Options");
@@ -284,11 +284,11 @@ Menu::Menu() : · 5 unmodified lines
284284 0,
285285 appInstance->getGlowEffect(),
286286 SLOT(cycleRenderMode()));
287−
287+
288288 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::ParticleCloud, 0, false);
289289 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Shadows, 0, false);
290290 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Metavoxels, 0, false);
291−
291+
292292
293293 QMenu* voxelOptionsMenu = developerMenu->addMenu("Voxel Options");
294294
@@ -301,19 +301,20 @@ Menu::Menu() : · 6 unmodified lines
301301 addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::DontRenderVoxels);
302302 addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::DontCallOpenGLForVoxels);
303303
304− _useVoxelShader = addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::UseVoxelShader, 0,
304+ _useVoxelShader = addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::UseVoxelShader, 0,
305305 false, appInstance->getVoxels(), SLOT(setUseVoxelShader(bool)));
306306
307− addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelsAsPoints, 0,
307+ addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelsAsPoints, 0,
308308 false, appInstance->getVoxels(), SLOT(setVoxelsAsPoints(bool)));
309309
310310 addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelTextures);
311311 addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::AmbientOcclusion);
312312 addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::DontFadeOnVoxelServerChanges);
313313 addActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::LodTools, Qt::SHIFT | Qt::Key_L, this, SLOT(lodTools()));
314+ addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::DisableLocalVoxelCache);
314315
315316 QMenu* voxelProtoOptionsMenu = voxelOptionsMenu->addMenu("Voxel Server Protocol Options");
316−
317+
317318 addCheckableActionToQMenuAndActionHash(voxelProtoOptionsMenu, MenuOption::DisableColorVoxels);
318319 addCheckableActionToQMenuAndActionHash(voxelProtoOptionsMenu, MenuOption::DisableLowRes);
319320 addCheckableActionToQMenuAndActionHash(voxelProtoOptionsMenu, MenuOption::DisableDeltaSending);
@@ -322,16 +323,16 @@ Menu::Menu() : · 2 unmodified lines
322323 addCheckableActionToQMenuAndActionHash(voxelProtoOptionsMenu, MenuOption::DestructiveAddVoxel);
323324
324325 QMenu* avatarOptionsMenu = developerMenu->addMenu("Avatar Options");
325−
326+
326327 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::Avatars, 0, true);
327328 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::CollisionProxies);
328−
329+
329330 addActionToQMenuAndActionHash(avatarOptionsMenu,
330331 MenuOption::FaceMode,
331332 0,
332333 &appInstance->getAvatar()->getHead().getVideoFace(),
333334 SLOT(cycleRenderMode()));
334−
335+
335336 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::LookAtVectors, 0, true);
336337 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::LookAtIndicator, 0, true);
337338 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu,
@@ -375,12 +376,12 @@ Menu::Menu() : · 37 unmodified lines
375376 addCheckableActionToQMenuAndActionHash(handOptionsMenu, MenuOption::SimulateLeapHand);
376377 addCheckableActionToQMenuAndActionHash(handOptionsMenu, MenuOption::DisplayLeapHands, 0, true);
377378 addCheckableActionToQMenuAndActionHash(handOptionsMenu, MenuOption::LeapDrive, 0, false);
378− addCheckableActionToQMenuAndActionHash(handOptionsMenu, MenuOption::DisplayHandTargets, 0, false);
379+ addCheckableActionToQMenuAndActionHash(handOptionsMenu, MenuOption::DisplayHandTargets, 0, false);
379380 addCheckableActionToQMenuAndActionHash(handOptionsMenu, MenuOption::BallFromHand, 0, false);
380381 addCheckableActionToQMenuAndActionHash(handOptionsMenu, MenuOption::VoxelDrumming, 0, false);
381382 addCheckableActionToQMenuAndActionHash(handOptionsMenu, MenuOption::PlaySlaps, 0, false);
382−
383−
383+
384+
384385
385386 QMenu* trackingOptionsMenu = developerMenu->addMenu("Tracking Options");
386387 addCheckableActionToQMenuAndActionHash(trackingOptionsMenu,
@@ -389,14 +390,14 @@ Menu::Menu() : · 2 unmodified lines
389390 false,
390391 appInstance->getWebcam(),
391392 SLOT(setSkeletonTrackingOn(bool)));
392−
393+
393394 addCheckableActionToQMenuAndActionHash(trackingOptionsMenu,
394395 MenuOption::LEDTracking,
395396 0,
396397 false,
397398 appInstance->getWebcam()->getGrabber(),
398399 SLOT(setLEDTrackingOn(bool)));
399−
400+
400401 addDisabledActionAndSeparator(developerMenu, "Testing");
401402
402403 QMenu* timingMenu = developerMenu->addMenu("Timing and Statistics Tools");
@@ -408,7 +409,7 @@ Menu::Menu() : · 5 unmodified lines
408409 Qt::SHIFT | Qt::Key_S,
409410 appInstance->getVoxels(),
410411 SLOT(collectStatsForTreesAndVBOs()));
411−
412+
412413 QMenu* frustumMenu = developerMenu->addMenu("View Frustum Debugging Tools");
413414 addCheckableActionToQMenuAndActionHash(frustumMenu, MenuOption::DisplayFrustum, Qt::SHIFT | Qt::Key_F);
414415 addActionToQMenuAndActionHash(frustumMenu,
@@ -417,8 +418,8 @@ Menu::Menu() : · 2 unmodified lines
417418 this,
418419 SLOT(cycleFrustumRenderMode()));
419420 updateFrustumRenderModeAction();
420−
421−
421+
422+
422423 QMenu* renderDebugMenu = developerMenu->addMenu("Render Debugging Tools");
423424 addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::PipelineWarnings, Qt::CTRL | Qt::SHIFT | Qt::Key_P);
424425 addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::SuppressShortTimings, Qt::CTRL | Qt::SHIFT | Qt::Key_S);
@@ -431,48 +432,48 @@ Menu::Menu() : · 6 unmodified lines
431432 Qt::CTRL | Qt::Key_A,
432433 appInstance->getVoxels(),
433434 SLOT(showAllLocalVoxels()));
434−
435+
435436 addActionToQMenuAndActionHash(renderDebugMenu,
436437 MenuOption::KillLocalVoxels,
437438 Qt::CTRL | Qt::Key_K,
438439 appInstance, SLOT(doKillLocalVoxels()));
439−
440+
440441 addActionToQMenuAndActionHash(renderDebugMenu,
441442 MenuOption::RandomizeVoxelColors,
442443 Qt::CTRL | Qt::Key_R,
443444 appInstance->getVoxels(),
444445 SLOT(randomizeVoxelColors()));
445−
446+
446447 addActionToQMenuAndActionHash(renderDebugMenu,
447448 MenuOption::FalseColorRandomly,
448449 0,
449450 appInstance->getVoxels(),
450451 SLOT(falseColorizeRandom()));
451−
452+
452453 addActionToQMenuAndActionHash(renderDebugMenu,
453454 MenuOption::FalseColorEveryOtherVoxel,
454455 0,
455456 appInstance->getVoxels(),
456457 SLOT(falseColorizeRandomEveryOther()));
457−
458+
458459 addActionToQMenuAndActionHash(renderDebugMenu,
459460 MenuOption::FalseColorByDistance,
460461 0,
461462 appInstance->getVoxels(),
462463 SLOT(falseColorizeDistanceFromView()));
463−
464+
464465 addActionToQMenuAndActionHash(renderDebugMenu,
465466 MenuOption::FalseColorOutOfView,
466467 0,
467468 appInstance->getVoxels(),
468469 SLOT(falseColorizeInView()));
469−
470+
470471 addActionToQMenuAndActionHash(renderDebugMenu,
471472 MenuOption::FalseColorBySource,
472473 0,
473474 appInstance->getVoxels(),
474475 SLOT(falseColorizeBySource()));
475−
476+
476477 addActionToQMenuAndActionHash(renderDebugMenu,
477478 MenuOption::ShowTrueColors,
478479 Qt::CTRL | Qt::Key_T,
@@ -485,32 +486,32 @@ Menu::Menu() : · 6 unmodified lines
485486 0,
486487 appInstance->getVoxels(),
487488 SLOT(falseColorizeOccluded()));
488−
489+
489490 addActionToQMenuAndActionHash(renderDebugMenu,
490491 MenuOption::FalseColorOccludedV2,
491492 0,
492493 appInstance->getVoxels(),
493494 SLOT(falseColorizeOccludedV2()));
494−
495+
495496 addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::CoverageMap, Qt::SHIFT | Qt::CTRL | Qt::Key_O);
496497 addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::CoverageMapV2, Qt::SHIFT | Qt::CTRL | Qt::Key_P);
497−
498+
498499 QMenu* audioDebugMenu = developerMenu->addMenu("Audio Debugging Tools");
499500 addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoServerAudio);
500501 addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoLocalAudio);
501502
502− addActionToQMenuAndActionHash(developerMenu, MenuOption::PasteToVoxel,
503− Qt::CTRL | Qt::SHIFT | Qt::Key_V,
503+ addActionToQMenuAndActionHash(developerMenu, MenuOption::PasteToVoxel,
504+ Qt::CTRL | Qt::SHIFT | Qt::Key_V,
504505 this,
505506 SLOT(pasteToVoxel()));
506−
507−
507+
508+
508509 #ifndef Q_OS_MAC
509510 QMenu* helpMenu = addMenu("Help");
510511 QAction* helpAction = helpMenu->addAction(MenuOption::AboutApp);
511512 connect(helpAction, SIGNAL(triggered()), this, SLOT(aboutApp()));
512513 #endif
513−
514+
514515 }
515516
516517 Menu::~Menu() {
@@ -522,7 +523,7 @@ void Menu::loadSettings(QSettings* settings) { · 5 unmodified lines
522523 if (!settings) {
523524 settings = Application::getInstance()->getSettings();
524525 }
525−
526+
526527 _audioJitterBufferSamples = loadSetting(settings, "audioJitterBufferSamples", 0);
527528 _fieldOfView = loadSetting(settings, "fieldOfView", DEFAULT_FIELD_OF_VIEW_DEGREES);
528529 _faceshiftEyeDeflection = loadSetting(settings, "faceshiftEyeDeflection", DEFAULT_FACESHIFT_EYE_DEFLECTION);
@@ -530,7 +531,7 @@ void Menu::loadSettings(QSettings* settings) { · 1 unmodified line
530531 _maxVoxelPacketsPerSecond = loadSetting(settings, "maxVoxelsPPS", DEFAULT_MAX_VOXEL_PPS);
531532 _voxelSizeScale = loadSetting(settings, "voxelSizeScale", DEFAULT_OCTREE_SIZE_SCALE);
532533 _boundaryLevelAdjust = loadSetting(settings, "boundaryLevelAdjust", 0);
533−
534+
534535 settings->beginGroup("View Frustum Offset Camera");
535536 // in case settings is corrupt or missing loadSetting() will check for NaN
536537 _viewFrustumOffset.yaw = loadSetting(settings, "viewFrustumOffsetYaw", 0.0f);
@@ -539,7 +540,7 @@ void Menu::loadSettings(QSettings* settings) { · 2 unmodified lines
539540 _viewFrustumOffset.distance = loadSetting(settings, "viewFrustumOffsetDistance", 0.0f);
540541 _viewFrustumOffset.up = loadSetting(settings, "viewFrustumOffsetUp", 0.0f);
541542 settings->endGroup();
542−
543+
543544 scanMenuBar(&loadAction, settings);
544545 Application::getInstance()->getAvatar()->loadData(settings);
545546 Application::getInstance()->getSwatch()->loadData(settings);
@@ -552,7 +553,7 @@ void Menu::saveSettings(QSettings* settings) { · 6 unmodified lines
552553 if (!settings) {
553554 settings = Application::getInstance()->getSettings();
554555 }
555−
556+
556557 settings->setValue("audioJitterBufferSamples", _audioJitterBufferSamples);
557558 settings->setValue("fieldOfView", _fieldOfView);
558559 settings->setValue("faceshiftEyeDeflection", _faceshiftEyeDeflection);
@@ -567,7 +568,7 @@ void Menu::saveSettings(QSettings* settings) { · 8 unmodified lines
567568 settings->setValue("viewFrustumOffsetDistance", _viewFrustumOffset.distance);
568569 settings->setValue("viewFrustumOffsetUp", _viewFrustumOffset.up);
569570 settings->endGroup();
570−
571+
571572 scanMenuBar(&saveAction, settings);
572573 Application::getInstance()->getAvatar()->saveData(settings);
573574 Application::getInstance()->getSwatch()->saveData(settings);
@@ -612,7 +613,7 @@ void Menu::saveAction(QSettings* set, QAction* action) { · 38 unmodified lines
612613
613614 void Menu::scanMenuBar(settingsAction modifySetting, QSettings* set) {
614615 QList<QMenu*> menus = this->findChildren<QMenu *>();
615−
616+
616617 for (QList<QMenu *>::const_iterator it = menus.begin(); menus.end() != it; ++it) {
617618 scanMenu(*it, modifySetting, set);
618619 }
@@ -620,7 +621,7 @@ void Menu::scanMenuBar(settingsAction modifySetting, QSettings* set) { · 1 unmodified line
620621
621622 void Menu::scanMenu(QMenu* menu, settingsAction modifySetting, QSettings* set) {
622623 QList<QAction*> actions = menu->actions();
623−
624+
624625 set->beginGroup(menu->title());
625626 for (QList<QAction *>::const_iterator it = actions.begin(); actions.end() != it; ++it) {
626627 if ((*it)->menu()) {
@@ -636,48 +637,48 @@ void Menu::scanMenu(QMenu* menu, settingsAction modifySetting, QSettings* set) { · 9 unmodified lines
636637 void Menu::handleViewFrustumOffsetKeyModifier(int key) {
637638 const float VIEW_FRUSTUM_OFFSET_DELTA = 0.5f;
638639 const float VIEW_FRUSTUM_OFFSET_UP_DELTA = 0.05f;
639−
640+
640641 switch (key) {
641642 case Qt::Key_BracketLeft:
642643 _viewFrustumOffset.yaw -= VIEW_FRUSTUM_OFFSET_DELTA;
643644 break;
644−
645+
645646 case Qt::Key_BracketRight:
646647 _viewFrustumOffset.yaw += VIEW_FRUSTUM_OFFSET_DELTA;
647648 break;
648−
649+
649650 case Qt::Key_BraceLeft:
650651 _viewFrustumOffset.pitch -= VIEW_FRUSTUM_OFFSET_DELTA;
651652 break;
652−
653+
653654 case Qt::Key_BraceRight:
654655 _viewFrustumOffset.pitch += VIEW_FRUSTUM_OFFSET_DELTA;
655656 break;
656−
657+
657658 case Qt::Key_ParenLeft:
658659 _viewFrustumOffset.roll -= VIEW_FRUSTUM_OFFSET_DELTA;
659660 break;
660−
661+
661662 case Qt::Key_ParenRight:
662663 _viewFrustumOffset.roll += VIEW_FRUSTUM_OFFSET_DELTA;
663664 break;
664−
665+
665666 case Qt::Key_Less:
666667 _viewFrustumOffset.distance -= VIEW_FRUSTUM_OFFSET_DELTA;
667668 break;
668−
669+
669670 case Qt::Key_Greater:
670671 _viewFrustumOffset.distance += VIEW_FRUSTUM_OFFSET_DELTA;
671672 break;
672−
673+
673674 case Qt::Key_Comma:
674675 _viewFrustumOffset.up -= VIEW_FRUSTUM_OFFSET_UP_DELTA;
675676 break;
676−
677+
677678 case Qt::Key_Period:
678679 _viewFrustumOffset.up += VIEW_FRUSTUM_OFFSET_UP_DELTA;
679680 break;
680−
681+
681682 default:
682683 break;
683684 }
@@ -695,7 +696,7 @@ QAction* Menu::addActionToQMenuAndActionHash(QMenu* destinationMenu, · 11 unmodified lines
695696 const char* member,
696697 QAction::MenuRole role) {
697698 QAction* action;
698−
699+
699700 if (receiver && member) {
700701 action = destinationMenu->addAction(actionName, receiver, member, shortcut);
701702 } else {
@@ -703,9 +704,9 @@ QAction* Menu::addActionToQMenuAndActionHash(QMenu* destinationMenu, · 1 unmodified line
703704 action->setShortcut(shortcut);
704705 }
705706 action->setMenuRole(role);
706−
707+
707708 _actionHash.insert(actionName, action);
708−
709+
709710 return action;
710711 }
711712
@@ -718,7 +719,7 @@ QAction* Menu::addCheckableActionToQMenuAndActionHash(QMenu* destinationMenu, · 6 unmodified lines
718719 QAction* action = addActionToQMenuAndActionHash(destinationMenu, actionName, shortcut, receiver, member);
719720 action->setCheckable(true);
720721 action->setChecked(checked);
721−
722+
722723 return action;
723724 }
724725
@@ -755,7 +756,7 @@ void Menu::aboutApp() { · 30 unmodified lines
755756 void sendFakeEnterEvent() {
756757 QPoint lastCursorPosition = QCursor::pos();
757758 QGLWidget* glWidget = Application::getInstance()->getGLWidget();
758−
759+
759760 QPoint windowPosition = glWidget->mapFromGlobal(lastCursorPosition);
760761 QEnterEvent enterEvent = QEnterEvent(windowPosition, windowPosition, lastCursorPosition);
761762 QCoreApplication::sendEvent(glWidget, &enterEvent);
@@ -772,62 +773,62 @@ void Menu::login() { · 10 unmodified lines
772773 loginDialog.setTextValue(username);
773774 loginDialog.setWindowFlags(Qt::Sheet);
774775 loginDialog.resize(loginDialog.parentWidget()->size().width() * DIALOG_RATIO_OF_WINDOW, loginDialog.size().height());
775−
776+
776777 int dialogReturn = loginDialog.exec();
777−
778+
778779 if (dialogReturn == QDialog::Accepted && !loginDialog.textValue().isEmpty() && loginDialog.textValue() != username) {
779780 // there has been a username change
780781 // ask for a profile reset with the new username
781782 Application::getInstance()->resetProfile(loginDialog.textValue());
782−
783+
783784 }
784−
785+
785786 sendFakeEnterEvent();
786787 }
787788
788789 void Menu::editPreferences() {
789790 Application* applicationInstance = Application::getInstance();
790−
791+
791792 QDialog dialog(applicationInstance->getWindow());
792793 dialog.setWindowTitle("Interface Preferences");
793794 QBoxLayout* layout = new QBoxLayout(QBoxLayout::TopToBottom);
794795 dialog.setLayout(layout);
795−
796+
796797 QFormLayout* form = new QFormLayout();
797798 layout->addLayout(form, 1);
798−
799+
799800 QString faceURLString = applicationInstance->getProfile()->getFaceModelURL().toString();
800801 QLineEdit* faceURLEdit = new QLineEdit(faceURLString);
801802 faceURLEdit->setMinimumWidth(QLINE_MINIMUM_WIDTH);
802803 form->addRow("Face URL:", faceURLEdit);
803−
804+
804805 QString skeletonURLString = applicationInstance->getProfile()->getSkeletonModelURL().toString();
805806 QLineEdit* skeletonURLEdit = new QLineEdit(skeletonURLString);
806807 skeletonURLEdit->setMinimumWidth(QLINE_MINIMUM_WIDTH);
807808 form->addRow("Skeleton URL:", skeletonURLEdit);
808−
809+
809810 QSlider* pupilDilation = new QSlider(Qt::Horizontal);
810811 pupilDilation->setValue(applicationInstance->getAvatar()->getHead().getPupilDilation() * pupilDilation->maximum());
811812 form->addRow("Pupil Dilation:", pupilDilation);
812−
813+
813814 QSlider* faceshiftEyeDeflection = new QSlider(Qt::Horizontal);
814815 faceshiftEyeDeflection->setValue(_faceshiftEyeDeflection * faceshiftEyeDeflection->maximum());
815816 form->addRow("Faceshift Eye Deflection:", faceshiftEyeDeflection);
816−
817+
817818 QSpinBox* fieldOfView = new QSpinBox();
818819 fieldOfView->setMaximum(180);
819820 fieldOfView->setMinimum(1);
820821 fieldOfView->setValue(_fieldOfView);
821822 form->addRow("Vertical Field of View (Degrees):", fieldOfView);
822−
823+
823824 QDoubleSpinBox* leanScale = new QDoubleSpinBox();
824825 leanScale->setValue(applicationInstance->getAvatar()->getLeanScale());
825826 form->addRow("Lean Scale:", leanScale);
826−
827+
827828 QDoubleSpinBox* avatarScale = new QDoubleSpinBox();
828829 avatarScale->setValue(applicationInstance->getAvatar()->getScale());
829830 form->addRow("Avatar Scale:", avatarScale);
830−
831+
831832 QSpinBox* audioJitterBufferSamples = new QSpinBox();
832833 audioJitterBufferSamples->setMaximum(10000);
833834 audioJitterBufferSamples->setMinimum(-10000);
@@ -853,93 +854,93 @@ void Menu::editPreferences() { · 19 unmodified lines
853854 maxVoxelsPPS->setSingleStep(STEP_MAX_VOXELS_PPS);
854855 maxVoxelsPPS->setValue(_maxVoxelPacketsPerSecond);
855856 form->addRow("Maximum Voxels Packets Per Second:", maxVoxelsPPS);
856−
857+
857858 QDialogButtonBox* buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
858859 dialog.connect(buttons, SIGNAL(accepted()), SLOT(accept()));
859860 dialog.connect(buttons, SIGNAL(rejected()), SLOT(reject()));
860861 layout->addWidget(buttons);
861−
862+
862863 int ret = dialog.exec();
863864 if (ret == QDialog::Accepted) {
864865 QUrl faceModelURL(faceURLEdit->text());
865−
866+
866867 if (faceModelURL.toString() != faceURLString) {
867868 // change the faceModelURL in the profile, it will also update this user's BlendFace
868869 applicationInstance->getProfile()->setFaceModelURL(faceModelURL);
869−
870+
870871 // send the new face mesh URL to the data-server (if we have a client UUID)
871872 DataServerClient::putValueForKey(DataServerKey::FaceMeshURL,
872873 faceModelURL.toString().toLocal8Bit().constData());
873874 }
874−
875+
875876 QUrl skeletonModelURL(skeletonURLEdit->text());
876−
877+
877878 if (skeletonModelURL.toString() != skeletonURLString) {
878879 // change the skeletonModelURL in the profile, it will also update this user's Body
879880 applicationInstance->getProfile()->setSkeletonModelURL(skeletonModelURL);
880−
881+
881882 // send the new skeleton model URL to the data-server (if we have a client UUID)
882883 DataServerClient::putValueForKey(DataServerKey::SkeletonURL,
883884 skeletonModelURL.toString().toLocal8Bit().constData());
884885 }
885−
886+
886887 applicationInstance->getAvatar()->getHead().setPupilDilation(pupilDilation->value() / (float)pupilDilation->maximum());
887−
888+
888889 _maxVoxels = maxVoxels->value();
889890 applicationInstance->getVoxels()->setMaxVoxels(_maxVoxels);
890891
891892 _maxVoxelPacketsPerSecond = maxVoxelsPPS->value();
892−
893+
893894 applicationInstance->getAvatar()->setLeanScale(leanScale->value());
894895 applicationInstance->getAvatar()->setClampedTargetScale(avatarScale->value());
895−
896+
896897 _audioJitterBufferSamples = audioJitterBufferSamples->value();
897−
898+
898899 if (_audioJitterBufferSamples != 0) {
899900 applicationInstance->getAudio()->setJitterBufferSamples(_audioJitterBufferSamples);
900901 }
901−
902+
902903 _fieldOfView = fieldOfView->value();
903904 applicationInstance->resizeGL(applicationInstance->getGLWidget()->width(), applicationInstance->getGLWidget()->height());
904−
905+
905906 _faceshiftEyeDeflection = faceshiftEyeDeflection->value() / (float)faceshiftEyeDeflection->maximum();
906907 }
907−
908+
908909 sendFakeEnterEvent();
909910 }
910911
911912 void Menu::goToDomain() {
912−
913+
913914 QString currentDomainHostname = NodeList::getInstance()->getDomainHostname();
914−
915+
915916 if (NodeList::getInstance()->getDomainPort() != DEFAULT_DOMAIN_SERVER_PORT) {
916917 // add the port to the currentDomainHostname string if it is custom
917918 currentDomainHostname.append(QString(":%1").arg(NodeList::getInstance()->getDomainPort()));
918919 }
919−
920+
920921 QInputDialog domainDialog(Application::getInstance()->getWindow());
921922 domainDialog.setWindowTitle("Go to Domain");
922923 domainDialog.setLabelText("Domain server:");
923924 domainDialog.setTextValue(currentDomainHostname);
924925 domainDialog.setWindowFlags(Qt::Sheet);
925926 domainDialog.resize(domainDialog.parentWidget()->size().width() * DIALOG_RATIO_OF_WINDOW, domainDialog.size().height());
926−
927+
927928 int dialogReturn = domainDialog.exec();
928929 if (dialogReturn == QDialog::Accepted) {
929930 QString newHostname(DEFAULT_DOMAIN_HOSTNAME);
930−
931+
931932 if (domainDialog.textValue().size() > 0) {
932933 // the user input a new hostname, use that
933934 newHostname = domainDialog.textValue();
934935 }
935−
936+
936937 // send a node kill request, indicating to other clients that they should play the "disappeared" effect
937938 NodeList::getInstance()->sendKillNode(&NODE_TYPE_AVATAR_MIXER, 1);
938−
939+
939940 // give our nodeList the new domain-server hostname
940941 NodeList::getInstance()->setDomainHostname(domainDialog.textValue());
941942 }
942−
943+
943944 sendFakeEnterEvent();
944945 }
945946
@@ -948,8 +949,8 @@ void Menu::goToLocation() { · 2 unmodified lines
948949 glm::vec3 avatarPos = myAvatar->getPosition();
949950 QString currentLocation = QString("%1, %2, %3").arg(QString::number(avatarPos.x),
950951 QString::number(avatarPos.y), QString::number(avatarPos.z));
951−
952−
952+
953+
953954 QInputDialog coordinateDialog(Application::getInstance()->getWindow());
954955 coordinateDialog.setWindowTitle("Go to Location");
955956 coordinateDialog.setLabelText("Coordinate as x,y,z:");
@@ -960,10 +961,10 @@ void Menu::goToLocation() { · 4 unmodified lines
960961 int dialogReturn = coordinateDialog.exec();
961962 if (dialogReturn == QDialog::Accepted && !coordinateDialog.textValue().isEmpty()) {
962963 QByteArray newCoordinates;
963−
964+
964965 QString delimiterPattern(",");
965966 QStringList coordinateItems = coordinateDialog.textValue().split(delimiterPattern);
966−
967+
967968 const int NUMBER_OF_COORDINATE_ITEMS = 3;
968969 const int X_ITEM = 0;
969970 const int Y_ITEM = 1;
@@ -973,17 +974,17 @@ void Menu::goToLocation() { · 3 unmodified lines
973974 double y = coordinateItems[Y_ITEM].toDouble();
974975 double z = coordinateItems[Z_ITEM].toDouble();
975976 glm::vec3 newAvatarPos(x, y, z);
976−
977+
977978 if (newAvatarPos != avatarPos) {
978979 // send a node kill request, indicating to other clients that they should play the "disappeared" effect
979980 NodeList::getInstance()->sendKillNode(&NODE_TYPE_AVATAR_MIXER, 1);
980−
981+
981982 qDebug("Going To Location: %f, %f, %f...", x, y, z);
982− myAvatar->setPosition(newAvatarPos);
983+ myAvatar->setPosition(newAvatarPos);
983984 }
984985 }
985986 }
986−
987+
987988 sendFakeEnterEvent();
988989 }
989990
@@ -995,7 +996,7 @@ void Menu::goToUser() { · 5 unmodified lines
995996 userDialog.setTextValue(username);
996997 userDialog.setWindowFlags(Qt::Sheet);
997998 userDialog.resize(userDialog.parentWidget()->size().width() * DIALOG_RATIO_OF_WINDOW, userDialog.size().height());
998−
999+
9991000 int dialogReturn = userDialog.exec();
10001001 if (dialogReturn == QDialog::Accepted && !userDialog.textValue().isEmpty()) {
10011002 // there's a username entered by the user, make a request to the data-server
@@ -1003,7 +1004,7 @@ void Menu::goToUser() { · 1 unmodified line
10031004 QStringList() << DataServerKey::Domain << DataServerKey::Position << DataServerKey::Orientation,
10041005 userDialog.textValue());
10051006 }
1006−
1007+
10071008 sendFakeEnterEvent();
10081009 }
10091010
@@ -1014,15 +1015,15 @@ void Menu::pasteToVoxel() { · 4 unmodified lines
10141015 QString octalCode = "";
10151016 pasteToOctalCodeDialog.setTextValue(octalCode);
10161017 pasteToOctalCodeDialog.setWindowFlags(Qt::Sheet);
1017− pasteToOctalCodeDialog.resize(pasteToOctalCodeDialog.parentWidget()->size().width() * DIALOG_RATIO_OF_WINDOW,
1018+ pasteToOctalCodeDialog.resize(pasteToOctalCodeDialog.parentWidget()->size().width() * DIALOG_RATIO_OF_WINDOW,
10181019 pasteToOctalCodeDialog.size().height());
1019−
1020+
10201021 int dialogReturn = pasteToOctalCodeDialog.exec();
10211022 if (dialogReturn == QDialog::Accepted && !pasteToOctalCodeDialog.textValue().isEmpty()) {
10221023 // we got an octalCode to paste to...
10231024 QString locationToPaste = pasteToOctalCodeDialog.textValue();
10241025 unsigned char* octalCodeDestination = hexStringToOctalCode(locationToPaste);
1025−
1026+
10261027 // check to see if it was a legit octcode...
10271028 if (locationToPaste == octalCodeToHexString(octalCodeDestination)) {
10281029 Application::getInstance()->pasteVoxelsToOctalCode(octalCodeDestination);
@@ -1030,7 +1031,7 @@ void Menu::pasteToVoxel() { · 1 unmodified line
10301031 qDebug() << "Problem with octcode...";
10311032 }
10321033 }
1033−
1034+
10341035 sendFakeEnterEvent();
10351036 }
10361037
@@ -1039,7 +1040,7 @@ void Menu::bandwidthDetails() { · 2 unmodified lines
10391040 _bandwidthDialog = new BandwidthDialog(Application::getInstance()->getGLWidget(),
10401041 Application::getInstance()->getBandwidthMeter());
10411042 connect(_bandwidthDialog, SIGNAL(closed()), SLOT(bandwidthDetailsClosed()));
1042−
1043+
10431044 _bandwidthDialog->show();
10441045 }
10451046 _bandwidthDialog->raise();
@@ -1112,7 +1113,7 @@ void Menu::updateVoxelModeActions() { · 66 unmodified lines
11121113 void Menu::chooseVoxelPaintColor() {
11131114 Application* appInstance = Application::getInstance();
11141115 QAction* paintColor = _actionHash.value(MenuOption::VoxelPaintColor);
1115−
1116+
11161117 QColor selected = QColorDialog::getColor(paintColor->data().value<QColor>(),
11171118 appInstance->getGLWidget(),
11181119 "Voxel Paint Color");
@@ -1120,7 +1121,7 @@ void Menu::chooseVoxelPaintColor() { · 1 unmodified line
11201121 paintColor->setData(selected);
11211122 paintColor->setIcon(Swatch::createIcon(selected));
11221123 }
1123−
1124+
11241125 // restore the main window's active state
11251126 appInstance->getWindow()->activateWindow();
11261127 }