From 2e150b97deed95745f827a0d7089136443d5f449 Mon Sep 17 00:00:00 2001 From: atlante45 Date: Fri, 2 Aug 2013 15:24:09 -0700 Subject: [PATCH 1/2] Fixed shortcuts issues on mac --- interface/src/Application.cpp | 98 ++++++++++++++++++++++++++++++----- interface/src/Application.h | 2 + 2 files changed, 88 insertions(+), 12 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 0c7820d673..5ff2b1fe82 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -565,7 +565,7 @@ void Application::keyPressEvent(QKeyEvent* event) { } return; } - + bool meta = event->modifiers().testFlag(Qt::MetaModifier); bool shifted = event->modifiers().testFlag(Qt::ShiftModifier); switch (event->key()) { case Qt::Key_BracketLeft: @@ -639,7 +639,14 @@ void Application::keyPressEvent(QKeyEvent* event) { break; case Qt::Key_C: - _myAvatar.setDriveKeys(DOWN, 1); + if (shifted) { + _occlusionCulling->toggle(); + disableOcclusionCulling(_occlusionCulling->isChecked()); + } else if (meta) { + chooseVoxelPaintColor(); + } else { + _myAvatar.setDriveKeys(DOWN, 1); + } break; case Qt::Key_W: @@ -647,7 +654,11 @@ void Application::keyPressEvent(QKeyEvent* event) { break; case Qt::Key_S: - _myAvatar.setDriveKeys(BACK, 1); + if (shifted) { + doTreeStats(); + } else { + _myAvatar.setDriveKeys(BACK, 1); + } break; case Qt::Key_Space: @@ -656,11 +667,20 @@ void Application::keyPressEvent(QKeyEvent* event) { break; case Qt::Key_G: - goHome(); + if (shifted) { + _gravityUse->toggle(); + } else { + _eyedropperMode->toggle(); + updateVoxelModeActions(); + } break; case Qt::Key_A: - _myAvatar.setDriveKeys(ROT_LEFT, 1); + if (shifted) { + _renderAtmosphereOn->toggle(); + } else { + _myAvatar.setDriveKeys(ROT_LEFT, 1); + } break; case Qt::Key_D: @@ -750,6 +770,60 @@ void Application::keyPressEvent(QKeyEvent* event) { } resizeGL(_glWidget->width(), _glWidget->height()); break; + case Qt::Key_H: + _noise->toggle(); + setNoise(_noise->isChecked()); + break; + case Qt::Key_N: + _lookingInMirror->toggle(); + setRenderMirrored(_lookingInMirror->isChecked()); + break; + case Qt::Key_F: + if (shifted) { + _frustumOn->toggle(); + } else { + _fullScreenMode->toggle(); + setFullscreen(_fullScreenMode->isChecked()); + } + break; + case Qt::Key_V: + if (shifted) { + _renderVoxels->toggle(); + setRenderVoxels(_renderVoxels->isChecked()); + } else { + _addVoxelMode->toggle(); + updateVoxelModeActions(); + } + break; + case Qt::Key_P: + _manualFirstPerson->toggle(); + setRenderFirstPerson(_manualFirstPerson->isChecked()); + break; + case Qt::Key_R: + if (shifted) { + _frustumRenderModeAction->toggle(); + cycleFrustumRenderMode(); + } else { + _deleteVoxelMode->toggle(); + updateVoxelModeActions(); + } + break; + case Qt::Key_B: + _colorVoxelMode->toggle(); + updateVoxelModeActions(); + break; + case Qt::Key_O: + if (shifted) { + _viewFrustumFromOffset->toggle(); + setFrustumOffset(_viewFrustumFromOffset->isChecked()); + } else { + _selectVoxelMode->toggle(); + updateVoxelModeActions(); + } + break; + case Qt::Key_Slash: + _renderStatsOn->toggle(); + break; case Qt::Key_Backspace: case Qt::Key_Delete: if (_selectVoxelMode->isChecked()) { @@ -1710,7 +1784,7 @@ void Application::initMenu() { (_lookingInMirror = optionsMenu->addAction("Mirror", this, SLOT(setRenderMirrored(bool)), Qt::Key_H))->setCheckable(true); (_echoAudioMode = optionsMenu->addAction("Echo Audio"))->setCheckable(true); - optionsMenu->addAction("Noise", this, SLOT(setNoise(bool)), Qt::Key_N)->setCheckable(true); + (_noise = optionsMenu->addAction("Noise", this, SLOT(setNoise(bool)), Qt::Key_N))->setCheckable(true); (_gyroLook = optionsMenu->addAction("Smooth Gyro Look"))->setCheckable(true); _gyroLook->setChecked(true); (_showHeadMouse = optionsMenu->addAction("Head Mouse"))->setCheckable(true); @@ -1724,7 +1798,7 @@ void Application::initMenu() { _testPing->setChecked(true); (_fullScreenMode = optionsMenu->addAction("Fullscreen", this, SLOT(setFullscreen(bool)), Qt::Key_F))->setCheckable(true); optionsMenu->addAction("Webcam", &_webcam, SLOT(setEnabled(bool)))->setCheckable(true); - optionsMenu->addAction("Go Home", this, SLOT(goHome())); + optionsMenu->addAction("Go Home", this, SLOT(goHome()), Qt::CTRL | Qt::Key_G); QMenu* renderMenu = menuBar->addMenu("Render"); (_renderVoxels = renderMenu->addAction("Voxels", this, SLOT(setRenderVoxels(bool)), Qt::SHIFT | Qt::Key_V))->setCheckable(true); @@ -1792,8 +1866,8 @@ void Application::initMenu() { "Get Color Mode", this, SLOT(updateVoxelModeActions()), Qt::Key_G))->setCheckable(true); _voxelModeActions->addAction(_eyedropperMode); - voxelMenu->addAction("Decrease Voxel Size", this, SLOT(decreaseVoxelSize()), QKeySequence::ZoomOut); - voxelMenu->addAction("Increase Voxel Size", this, SLOT(increaseVoxelSize()), QKeySequence::ZoomIn); + voxelMenu->addAction("Decrease Voxel Size", this, SLOT(decreaseVoxelSize()), QKeySequence::ZoomOut); + voxelMenu->addAction("Increase Voxel Size", this, SLOT(increaseVoxelSize()), QKeySequence::ZoomIn); voxelMenu->addAction("Reset Swatch Colors", this, SLOT(resetSwatchColors())); _voxelPaintColor = voxelMenu->addAction("Voxel Paint Color", this, @@ -1820,7 +1894,7 @@ void Application::initMenu() { (_viewFrustumFromOffset = frustumMenu->addAction( "Use Offset Camera", this, SLOT(setFrustumOffset(bool)), Qt::SHIFT | Qt::Key_O))->setCheckable(true); _frustumRenderModeAction = frustumMenu->addAction( - "Render Mode", this, SLOT(cycleFrustumRenderMode()), Qt::SHIFT | Qt::Key_R); + "Render Mode", this, SLOT(cycleFrustumRenderMode()), Qt::SHIFT | Qt::Key_R); updateFrustumRenderModeAction(); debugMenu->addAction("Run Timing Tests", this, SLOT(runTests())); @@ -1843,8 +1917,8 @@ void Application::initMenu() { debugMenu->addAction("Wants Monochrome", this, SLOT(setWantsMonochrome(bool)))->setCheckable(true); debugMenu->addAction("Use Lower Resolution While Moving", this, SLOT(setWantsLowResMoving(bool)))->setCheckable(true); debugMenu->addAction("Disable Delta Sending", this, SLOT(disableDeltaSending(bool)))->setCheckable(true); - debugMenu->addAction("Disable Occlusion Culling", this, SLOT(disableOcclusionCulling(bool)), - Qt::SHIFT | Qt::Key_C)->setCheckable(true); + (_occlusionCulling = debugMenu->addAction("Disable Occlusion Culling", this, SLOT(disableOcclusionCulling(bool)), + Qt::SHIFT | Qt::Key_C))->setCheckable(true); (_renderCoverageMap = debugMenu->addAction("Render Coverage Map"))->setCheckable(true); _renderCoverageMap->setShortcut(Qt::SHIFT | Qt::CTRL | Qt::Key_O); diff --git a/interface/src/Application.h b/interface/src/Application.h index 1c3d61ffc9..f9ce5e96b3 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -279,6 +279,8 @@ private: QAction* _fullScreenMode; // whether we are in full screen mode QAction* _frustumRenderModeAction; QAction* _settingsAutosave; // Whether settings are saved automatically + QAction* _noise; + QAction* _occlusionCulling; QAction* _renderCoverageMapV2; QAction* _renderCoverageMap; From 1b4cdc003db9f634e448f7499e0c5c8ec15f5708 Mon Sep 17 00:00:00 2001 From: atlante45 Date: Fri, 2 Aug 2013 16:36:53 -0700 Subject: [PATCH 2/2] Fix shortcuts : done --- interface/src/Application.cpp | 69 ++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index bb1c0527cd..884624bbb4 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -571,6 +571,7 @@ void Application::keyPressEvent(QKeyEvent* event) { _myAvatar.getHand().setRaveGloveEffectsMode((QKeyEvent*)event); } + bool alt = event->modifiers().testFlag(Qt::AltModifier); bool meta = event->modifiers().testFlag(Qt::MetaModifier); bool shifted = event->modifiers().testFlag(Qt::ShiftModifier); switch (event->key()) { @@ -646,8 +647,7 @@ void Application::keyPressEvent(QKeyEvent* event) { case Qt::Key_C: if (shifted) { - _occlusionCulling->toggle(); - disableOcclusionCulling(_occlusionCulling->isChecked()); + _occlusionCulling->trigger(); } else if (meta) { chooseVoxelPaintColor(); } else { @@ -674,16 +674,15 @@ void Application::keyPressEvent(QKeyEvent* event) { case Qt::Key_G: if (shifted) { - _gravityUse->toggle(); + _gravityUse->trigger(); } else { - _eyedropperMode->toggle(); - updateVoxelModeActions(); + _eyedropperMode->trigger(); } break; case Qt::Key_A: if (shifted) { - _renderAtmosphereOn->toggle(); + _renderAtmosphereOn->trigger(); } else { _myAvatar.setDriveKeys(ROT_LEFT, 1); } @@ -776,59 +775,48 @@ void Application::keyPressEvent(QKeyEvent* event) { } resizeGL(_glWidget->width(), _glWidget->height()); break; - case Qt::Key_H: - _noise->toggle(); - setNoise(_noise->isChecked()); - break; case Qt::Key_N: - _lookingInMirror->toggle(); - setRenderMirrored(_lookingInMirror->isChecked()); + _noise->trigger(); + break; + case Qt::Key_H: + _lookingInMirror->trigger(); break; case Qt::Key_F: if (shifted) { - _frustumOn->toggle(); + _frustumOn->trigger(); } else { - _fullScreenMode->toggle(); - setFullscreen(_fullScreenMode->isChecked()); + _fullScreenMode->trigger(); } break; case Qt::Key_V: if (shifted) { - _renderVoxels->toggle(); - setRenderVoxels(_renderVoxels->isChecked()); + _renderVoxels->trigger(); } else { - _addVoxelMode->toggle(); - updateVoxelModeActions(); + _addVoxelMode->trigger(); } break; case Qt::Key_P: - _manualFirstPerson->toggle(); - setRenderFirstPerson(_manualFirstPerson->isChecked()); + _manualFirstPerson->trigger(); break; case Qt::Key_R: if (shifted) { - _frustumRenderModeAction->toggle(); - cycleFrustumRenderMode(); + _frustumRenderModeAction->trigger(); } else { - _deleteVoxelMode->toggle(); - updateVoxelModeActions(); + _deleteVoxelMode->trigger(); } break; case Qt::Key_B: - _colorVoxelMode->toggle(); - updateVoxelModeActions(); + _colorVoxelMode->trigger(); break; case Qt::Key_O: if (shifted) { - _viewFrustumFromOffset->toggle(); - setFrustumOffset(_viewFrustumFromOffset->isChecked()); + _viewFrustumFromOffset->trigger(); } else { - _selectVoxelMode->toggle(); - updateVoxelModeActions(); + _selectVoxelMode->trigger(); } break; case Qt::Key_Slash: - _renderStatsOn->toggle(); + _renderStatsOn->trigger(); break; case Qt::Key_Backspace: case Qt::Key_Delete: @@ -836,6 +824,17 @@ void Application::keyPressEvent(QKeyEvent* event) { deleteVoxelUnderCursor(); } break; + case Qt::Key_Plus: + if (alt) { + increaseAvatarSize(); + } + break; + case Qt::Key_Minus: + if (alt) { + decreaseAvatarSize(); + } + break; + case Qt::Key_1: case Qt::Key_2: case Qt::Key_3: @@ -1866,10 +1865,12 @@ void Application::initMenu() { _window->setMenuBar(menuBar); QMenu* fileMenu = menuBar->addMenu("File"); - fileMenu->addAction("Quit", this, SLOT(quit()), Qt::CTRL | Qt::Key_Q); + QAction* quitAction = fileMenu->addAction("Quit", this, SLOT(quit()), Qt::CTRL | Qt::Key_Q); + quitAction->setMenuRole(QAction::QuitRole); QMenu* editMenu = menuBar->addMenu("Edit"); - editMenu->addAction("Preferences...", this, SLOT(editPreferences())); + QAction* preferencesAction = editMenu->addAction("Preferences...", this, SLOT(editPreferences()), Qt::CTRL | Qt::Key_Comma); + preferencesAction->setMenuRole(QAction::PreferencesRole); QMenu* pairMenu = menuBar->addMenu("Pair"); pairMenu->addAction("Pair", this, SLOT(pair()));