From af50575259f2484a21d5e7e5656430a57ab2acd7 Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Tue, 25 Feb 2014 13:17:15 +0100 Subject: [PATCH] use shift key to speed up camera movement --- apps/opencs/view/render/scenewidget.cpp | 11 ++++++++--- apps/opencs/view/render/scenewidget.hpp | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/opencs/view/render/scenewidget.cpp b/apps/opencs/view/render/scenewidget.cpp index 280a85fd4..4702b0f72 100644 --- a/apps/opencs/view/render/scenewidget.cpp +++ b/apps/opencs/view/render/scenewidget.cpp @@ -16,7 +16,7 @@ namespace CSVRender , mWindow(NULL) , mCamera(NULL) , mSceneMgr(NULL), mNavigationMode (NavigationMode_Free), mUpdate (false) - , mKeyForward (false), mKeyBackward (false) + , mKeyForward (false), mKeyBackward (false), mFast (false) { setAttribute(Qt::WA_PaintOnScreen); setAttribute(Qt::WA_NoSystemBackground); @@ -143,6 +143,7 @@ namespace CSVRender { case Qt::Key_W: mKeyForward = true; break; case Qt::Key_S: mKeyBackward = true; break; + case Qt::Key_Shift: mFast = true; break; default: QWidget::keyPressEvent (event); } } @@ -153,6 +154,7 @@ namespace CSVRender { case Qt::Key_W: mKeyForward = false; break; case Qt::Key_S: mKeyBackward = false; break; + case Qt::Key_Shift: mFast = false; break; default: QWidget::keyReleaseEvent (event); } } @@ -161,6 +163,7 @@ namespace CSVRender { mKeyForward = false; mKeyBackward = false; + mFast = false; QWidget::focusOutEvent (event); } @@ -169,13 +172,15 @@ namespace CSVRender { if (mKeyForward && !mKeyBackward) { - mCamera->move (mCamera->getDirection()); + int factor = mFast ? 4 : 1; + mCamera->move (factor * mCamera->getDirection()); mUpdate = true; } if (!mKeyForward && mKeyBackward) { - mCamera->move (-mCamera->getDirection()); + int factor = mFast ? 4 : 1; + mCamera->move (factor * -mCamera->getDirection()); mUpdate = true; } diff --git a/apps/opencs/view/render/scenewidget.hpp b/apps/opencs/view/render/scenewidget.hpp index 777398353..0b1817682 100644 --- a/apps/opencs/view/render/scenewidget.hpp +++ b/apps/opencs/view/render/scenewidget.hpp @@ -49,6 +49,7 @@ namespace CSVRender bool mUpdate; int mKeyForward; int mKeyBackward; + bool mFast; private slots: