mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 04:58:08 +02:00
Check if our main window is our application window within Application's event handling functions.
This commit is contained in:
parent
51340452df
commit
7cefa3fe7b
1 changed files with 301 additions and 301 deletions
|
@ -104,39 +104,27 @@ void GLCanvas::resizeGL(int width, int height) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas::keyPressEvent(QKeyEvent* event) {
|
void GLCanvas::keyPressEvent(QKeyEvent* event) {
|
||||||
if (Application::activeWindow() != 0) {
|
Application::getInstance()->keyPressEvent(event);
|
||||||
Application::getInstance()->keyPressEvent(event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas::keyReleaseEvent(QKeyEvent* event) {
|
void GLCanvas::keyReleaseEvent(QKeyEvent* event) {
|
||||||
if (Application::activeWindow() != 0) {
|
Application::getInstance()->keyReleaseEvent(event);
|
||||||
Application::getInstance()->keyReleaseEvent(event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas::mouseMoveEvent(QMouseEvent* event) {
|
void GLCanvas::mouseMoveEvent(QMouseEvent* event) {
|
||||||
if (Application::activeWindow() != 0) {
|
Application::getInstance()->mouseMoveEvent(event);
|
||||||
Application::getInstance()->mouseMoveEvent(event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas::mousePressEvent(QMouseEvent* event) {
|
void GLCanvas::mousePressEvent(QMouseEvent* event) {
|
||||||
if (Application::activeWindow() != 0) {
|
Application::getInstance()->mousePressEvent(event);
|
||||||
Application::getInstance()->mousePressEvent(event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas::mouseReleaseEvent(QMouseEvent* event) {
|
void GLCanvas::mouseReleaseEvent(QMouseEvent* event) {
|
||||||
if (Application::activeWindow() != 0) {
|
Application::getInstance()->mouseReleaseEvent(event);
|
||||||
Application::getInstance()->mouseReleaseEvent(event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas::wheelEvent(QWheelEvent* event) {
|
void GLCanvas::wheelEvent(QWheelEvent* event) {
|
||||||
if (Application::activeWindow() != 0) {
|
Application::getInstance()->wheelEvent(event);
|
||||||
Application::getInstance()->wheelEvent(event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Application::Application(int& argc, char** argv, timeval &startup_time) :
|
Application::Application(int& argc, char** argv, timeval &startup_time) :
|
||||||
|
@ -433,314 +421,326 @@ static void sendVoxelServerAddScene() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::keyPressEvent(QKeyEvent* event) {
|
void Application::keyPressEvent(QKeyEvent* event) {
|
||||||
if (_chatEntryOn) {
|
if (activeWindow() == _window) {
|
||||||
if (_chatEntry.keyPressEvent(event)) {
|
if (_chatEntryOn) {
|
||||||
_myAvatar.setKeyState(event->key() == Qt::Key_Backspace || event->key() == Qt::Key_Delete ?
|
if (_chatEntry.keyPressEvent(event)) {
|
||||||
DELETE_KEY_DOWN : INSERT_KEY_DOWN);
|
_myAvatar.setKeyState(event->key() == Qt::Key_Backspace || event->key() == Qt::Key_Delete ?
|
||||||
_myAvatar.setChatMessage(string(_chatEntry.getContents().size(), SOLID_BLOCK_CHAR));
|
DELETE_KEY_DOWN : INSERT_KEY_DOWN);
|
||||||
|
_myAvatar.setChatMessage(string(_chatEntry.getContents().size(), SOLID_BLOCK_CHAR));
|
||||||
} else {
|
|
||||||
_myAvatar.setChatMessage(_chatEntry.getContents());
|
} else {
|
||||||
_chatEntry.clear();
|
_myAvatar.setChatMessage(_chatEntry.getContents());
|
||||||
_chatEntryOn = false;
|
_chatEntry.clear();
|
||||||
setMenuShortcutsEnabled(true);
|
_chatEntryOn = false;
|
||||||
|
setMenuShortcutsEnabled(true);
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool shifted = event->modifiers().testFlag(Qt::ShiftModifier);
|
|
||||||
switch (event->key()) {
|
|
||||||
case Qt::Key_BracketLeft:
|
|
||||||
_viewFrustumOffsetYaw -= 0.5;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::Key_BracketRight:
|
|
||||||
_viewFrustumOffsetYaw += 0.5;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::Key_BraceLeft:
|
bool shifted = event->modifiers().testFlag(Qt::ShiftModifier);
|
||||||
_viewFrustumOffsetPitch -= 0.5;
|
switch (event->key()) {
|
||||||
break;
|
case Qt::Key_BracketLeft:
|
||||||
|
_viewFrustumOffsetYaw -= 0.5;
|
||||||
case Qt::Key_BraceRight:
|
break;
|
||||||
_viewFrustumOffsetPitch += 0.5;
|
|
||||||
break;
|
case Qt::Key_BracketRight:
|
||||||
|
_viewFrustumOffsetYaw += 0.5;
|
||||||
case Qt::Key_ParenLeft:
|
break;
|
||||||
_viewFrustumOffsetRoll -= 0.5;
|
|
||||||
break;
|
case Qt::Key_BraceLeft:
|
||||||
|
_viewFrustumOffsetPitch -= 0.5;
|
||||||
case Qt::Key_ParenRight:
|
break;
|
||||||
_viewFrustumOffsetRoll += 0.5;
|
|
||||||
break;
|
case Qt::Key_BraceRight:
|
||||||
|
_viewFrustumOffsetPitch += 0.5;
|
||||||
case Qt::Key_Less:
|
break;
|
||||||
_viewFrustumOffsetDistance -= 0.5;
|
|
||||||
break;
|
case Qt::Key_ParenLeft:
|
||||||
|
_viewFrustumOffsetRoll -= 0.5;
|
||||||
case Qt::Key_Greater:
|
break;
|
||||||
_viewFrustumOffsetDistance += 0.5;
|
|
||||||
break;
|
case Qt::Key_ParenRight:
|
||||||
|
_viewFrustumOffsetRoll += 0.5;
|
||||||
case Qt::Key_Comma:
|
break;
|
||||||
_viewFrustumOffsetUp -= 0.05;
|
|
||||||
break;
|
case Qt::Key_Less:
|
||||||
|
_viewFrustumOffsetDistance -= 0.5;
|
||||||
case Qt::Key_Period:
|
break;
|
||||||
_viewFrustumOffsetUp += 0.05;
|
|
||||||
break;
|
case Qt::Key_Greater:
|
||||||
|
_viewFrustumOffsetDistance += 0.5;
|
||||||
case Qt::Key_Ampersand:
|
break;
|
||||||
_paintOn = !_paintOn;
|
|
||||||
setupPaintingVoxel();
|
case Qt::Key_Comma:
|
||||||
break;
|
_viewFrustumOffsetUp -= 0.05;
|
||||||
|
break;
|
||||||
case Qt::Key_AsciiCircum:
|
|
||||||
shiftPaintingColor();
|
case Qt::Key_Period:
|
||||||
break;
|
_viewFrustumOffsetUp += 0.05;
|
||||||
|
break;
|
||||||
case Qt::Key_Percent:
|
|
||||||
sendVoxelServerAddScene();
|
case Qt::Key_Ampersand:
|
||||||
break;
|
_paintOn = !_paintOn;
|
||||||
|
setupPaintingVoxel();
|
||||||
case Qt::Key_Semicolon:
|
break;
|
||||||
_audio.startEchoTest();
|
|
||||||
break;
|
case Qt::Key_AsciiCircum:
|
||||||
|
shiftPaintingColor();
|
||||||
case Qt::Key_L:
|
break;
|
||||||
_displayLevels = !_displayLevels;
|
|
||||||
break;
|
case Qt::Key_Percent:
|
||||||
|
sendVoxelServerAddScene();
|
||||||
case Qt::Key_E:
|
break;
|
||||||
_myAvatar.setDriveKeys(UP, 1);
|
|
||||||
break;
|
case Qt::Key_Semicolon:
|
||||||
|
_audio.startEchoTest();
|
||||||
case Qt::Key_C:
|
break;
|
||||||
_myAvatar.setDriveKeys(DOWN, 1);
|
|
||||||
break;
|
case Qt::Key_L:
|
||||||
|
_displayLevels = !_displayLevels;
|
||||||
case Qt::Key_W:
|
break;
|
||||||
_myAvatar.setDriveKeys(FWD, 1);
|
|
||||||
break;
|
case Qt::Key_E:
|
||||||
|
_myAvatar.setDriveKeys(UP, 1);
|
||||||
case Qt::Key_S:
|
break;
|
||||||
_myAvatar.setDriveKeys(BACK, 1);
|
|
||||||
break;
|
case Qt::Key_C:
|
||||||
|
_myAvatar.setDriveKeys(DOWN, 1);
|
||||||
case Qt::Key_Space:
|
break;
|
||||||
resetSensors();
|
|
||||||
break;
|
case Qt::Key_W:
|
||||||
|
_myAvatar.setDriveKeys(FWD, 1);
|
||||||
case Qt::Key_G:
|
break;
|
||||||
goHome();
|
|
||||||
break;
|
case Qt::Key_S:
|
||||||
|
_myAvatar.setDriveKeys(BACK, 1);
|
||||||
case Qt::Key_A:
|
break;
|
||||||
_myAvatar.setDriveKeys(ROT_LEFT, 1);
|
|
||||||
break;
|
case Qt::Key_Space:
|
||||||
|
resetSensors();
|
||||||
case Qt::Key_D:
|
break;
|
||||||
_myAvatar.setDriveKeys(ROT_RIGHT, 1);
|
|
||||||
break;
|
case Qt::Key_G:
|
||||||
|
goHome();
|
||||||
case Qt::Key_Return:
|
break;
|
||||||
case Qt::Key_Enter:
|
|
||||||
_chatEntryOn = true;
|
case Qt::Key_A:
|
||||||
_myAvatar.setKeyState(NO_KEY_DOWN);
|
_myAvatar.setDriveKeys(ROT_LEFT, 1);
|
||||||
_myAvatar.setChatMessage(string());
|
break;
|
||||||
setMenuShortcutsEnabled(false);
|
|
||||||
break;
|
case Qt::Key_D:
|
||||||
|
_myAvatar.setDriveKeys(ROT_RIGHT, 1);
|
||||||
case Qt::Key_Up:
|
break;
|
||||||
_myAvatar.setDriveKeys(shifted ? UP : FWD, 1);
|
|
||||||
break;
|
case Qt::Key_Return:
|
||||||
|
case Qt::Key_Enter:
|
||||||
case Qt::Key_Down:
|
_chatEntryOn = true;
|
||||||
_myAvatar.setDriveKeys(shifted ? DOWN : BACK, 1);
|
_myAvatar.setKeyState(NO_KEY_DOWN);
|
||||||
break;
|
_myAvatar.setChatMessage(string());
|
||||||
|
setMenuShortcutsEnabled(false);
|
||||||
case Qt::Key_Left:
|
break;
|
||||||
_myAvatar.setDriveKeys(shifted ? LEFT : ROT_LEFT, 1);
|
|
||||||
break;
|
case Qt::Key_Up:
|
||||||
|
_myAvatar.setDriveKeys(shifted ? UP : FWD, 1);
|
||||||
case Qt::Key_Right:
|
break;
|
||||||
_myAvatar.setDriveKeys(shifted ? RIGHT : ROT_RIGHT, 1);
|
|
||||||
break;
|
case Qt::Key_Down:
|
||||||
|
_myAvatar.setDriveKeys(shifted ? DOWN : BACK, 1);
|
||||||
case Qt::Key_I:
|
break;
|
||||||
if (shifted) {
|
|
||||||
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
case Qt::Key_Left:
|
||||||
glm::quat(glm::vec3(0.002f, 0, 0)) * _myCamera.getEyeOffsetOrientation()));
|
_myAvatar.setDriveKeys(shifted ? LEFT : ROT_LEFT, 1);
|
||||||
} else {
|
break;
|
||||||
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0, 0.001, 0));
|
|
||||||
}
|
case Qt::Key_Right:
|
||||||
resizeGL(_glWidget->width(), _glWidget->height());
|
_myAvatar.setDriveKeys(shifted ? RIGHT : ROT_RIGHT, 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Qt::Key_K:
|
case Qt::Key_I:
|
||||||
if (shifted) {
|
if (shifted) {
|
||||||
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
||||||
glm::quat(glm::vec3(-0.002f, 0, 0)) * _myCamera.getEyeOffsetOrientation()));
|
glm::quat(glm::vec3(0.002f, 0, 0)) * _myCamera.getEyeOffsetOrientation()));
|
||||||
} else {
|
} else {
|
||||||
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0, -0.001, 0));
|
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0, 0.001, 0));
|
||||||
}
|
}
|
||||||
resizeGL(_glWidget->width(), _glWidget->height());
|
resizeGL(_glWidget->width(), _glWidget->height());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Qt::Key_J:
|
case Qt::Key_K:
|
||||||
if (shifted) {
|
if (shifted) {
|
||||||
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
||||||
glm::quat(glm::vec3(0, 0.002f, 0)) * _myCamera.getEyeOffsetOrientation()));
|
glm::quat(glm::vec3(-0.002f, 0, 0)) * _myCamera.getEyeOffsetOrientation()));
|
||||||
} else {
|
} else {
|
||||||
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(-0.001, 0, 0));
|
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0, -0.001, 0));
|
||||||
}
|
}
|
||||||
resizeGL(_glWidget->width(), _glWidget->height());
|
resizeGL(_glWidget->width(), _glWidget->height());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Qt::Key_M:
|
case Qt::Key_J:
|
||||||
if (shifted) {
|
if (shifted) {
|
||||||
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
||||||
glm::quat(glm::vec3(0, -0.002f, 0)) * _myCamera.getEyeOffsetOrientation()));
|
glm::quat(glm::vec3(0, 0.002f, 0)) * _myCamera.getEyeOffsetOrientation()));
|
||||||
} else {
|
} else {
|
||||||
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0.001, 0, 0));
|
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(-0.001, 0, 0));
|
||||||
}
|
}
|
||||||
resizeGL(_glWidget->width(), _glWidget->height());
|
resizeGL(_glWidget->width(), _glWidget->height());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Qt::Key_U:
|
case Qt::Key_M:
|
||||||
if (shifted) {
|
if (shifted) {
|
||||||
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
||||||
glm::quat(glm::vec3(0, 0, -0.002f)) * _myCamera.getEyeOffsetOrientation()));
|
glm::quat(glm::vec3(0, -0.002f, 0)) * _myCamera.getEyeOffsetOrientation()));
|
||||||
} else {
|
} else {
|
||||||
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0, 0, -0.001));
|
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0.001, 0, 0));
|
||||||
}
|
}
|
||||||
resizeGL(_glWidget->width(), _glWidget->height());
|
resizeGL(_glWidget->width(), _glWidget->height());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Qt::Key_Y:
|
case Qt::Key_U:
|
||||||
if (shifted) {
|
if (shifted) {
|
||||||
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
||||||
glm::quat(glm::vec3(0, 0, 0.002f)) * _myCamera.getEyeOffsetOrientation()));
|
glm::quat(glm::vec3(0, 0, -0.002f)) * _myCamera.getEyeOffsetOrientation()));
|
||||||
} else {
|
} else {
|
||||||
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0, 0, 0.001));
|
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0, 0, -0.001));
|
||||||
}
|
}
|
||||||
resizeGL(_glWidget->width(), _glWidget->height());
|
resizeGL(_glWidget->width(), _glWidget->height());
|
||||||
break;
|
break;
|
||||||
case Qt::Key_Backspace:
|
|
||||||
case Qt::Key_Delete:
|
case Qt::Key_Y:
|
||||||
if (_selectVoxelMode->isChecked()) {
|
if (shifted) {
|
||||||
deleteVoxelUnderCursor();
|
_myCamera.setEyeOffsetOrientation(glm::normalize(
|
||||||
}
|
glm::quat(glm::vec3(0, 0, 0.002f)) * _myCamera.getEyeOffsetOrientation()));
|
||||||
break;
|
} else {
|
||||||
|
_myCamera.setEyeOffsetPosition(_myCamera.getEyeOffsetPosition() + glm::vec3(0, 0, 0.001));
|
||||||
default:
|
}
|
||||||
event->ignore();
|
resizeGL(_glWidget->width(), _glWidget->height());
|
||||||
break;
|
break;
|
||||||
|
case Qt::Key_Backspace:
|
||||||
|
case Qt::Key_Delete:
|
||||||
|
if (_selectVoxelMode->isChecked()) {
|
||||||
|
deleteVoxelUnderCursor();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
event->ignore();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::keyReleaseEvent(QKeyEvent* event) {
|
void Application::keyReleaseEvent(QKeyEvent* event) {
|
||||||
if (_chatEntryOn) {
|
if (activeWindow() == _window) {
|
||||||
_myAvatar.setKeyState(NO_KEY_DOWN);
|
if (_chatEntryOn) {
|
||||||
return;
|
_myAvatar.setKeyState(NO_KEY_DOWN);
|
||||||
}
|
return;
|
||||||
|
}
|
||||||
switch (event->key()) {
|
|
||||||
case Qt::Key_E:
|
|
||||||
_myAvatar.setDriveKeys(UP, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::Key_C:
|
switch (event->key()) {
|
||||||
_myAvatar.setDriveKeys(DOWN, 0);
|
case Qt::Key_E:
|
||||||
break;
|
_myAvatar.setDriveKeys(UP, 0);
|
||||||
|
break;
|
||||||
case Qt::Key_W:
|
|
||||||
_myAvatar.setDriveKeys(FWD, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::Key_S:
|
|
||||||
_myAvatar.setDriveKeys(BACK, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::Key_A:
|
|
||||||
_myAvatar.setDriveKeys(ROT_LEFT, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::Key_D:
|
case Qt::Key_C:
|
||||||
_myAvatar.setDriveKeys(ROT_RIGHT, 0);
|
_myAvatar.setDriveKeys(DOWN, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Qt::Key_Up:
|
case Qt::Key_W:
|
||||||
_myAvatar.setDriveKeys(FWD, 0);
|
_myAvatar.setDriveKeys(FWD, 0);
|
||||||
_myAvatar.setDriveKeys(UP, 0);
|
break;
|
||||||
break;
|
|
||||||
|
case Qt::Key_S:
|
||||||
case Qt::Key_Down:
|
_myAvatar.setDriveKeys(BACK, 0);
|
||||||
_myAvatar.setDriveKeys(BACK, 0);
|
break;
|
||||||
_myAvatar.setDriveKeys(DOWN, 0);
|
|
||||||
break;
|
case Qt::Key_A:
|
||||||
|
_myAvatar.setDriveKeys(ROT_LEFT, 0);
|
||||||
case Qt::Key_Left:
|
break;
|
||||||
_myAvatar.setDriveKeys(LEFT, 0);
|
|
||||||
_myAvatar.setDriveKeys(ROT_LEFT, 0);
|
case Qt::Key_D:
|
||||||
break;
|
_myAvatar.setDriveKeys(ROT_RIGHT, 0);
|
||||||
|
break;
|
||||||
case Qt::Key_Right:
|
|
||||||
_myAvatar.setDriveKeys(RIGHT, 0);
|
case Qt::Key_Up:
|
||||||
_myAvatar.setDriveKeys(ROT_RIGHT, 0);
|
_myAvatar.setDriveKeys(FWD, 0);
|
||||||
break;
|
_myAvatar.setDriveKeys(UP, 0);
|
||||||
|
break;
|
||||||
default:
|
|
||||||
event->ignore();
|
case Qt::Key_Down:
|
||||||
break;
|
_myAvatar.setDriveKeys(BACK, 0);
|
||||||
|
_myAvatar.setDriveKeys(DOWN, 0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Qt::Key_Left:
|
||||||
|
_myAvatar.setDriveKeys(LEFT, 0);
|
||||||
|
_myAvatar.setDriveKeys(ROT_LEFT, 0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Qt::Key_Right:
|
||||||
|
_myAvatar.setDriveKeys(RIGHT, 0);
|
||||||
|
_myAvatar.setDriveKeys(ROT_RIGHT, 0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
event->ignore();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::mouseMoveEvent(QMouseEvent* event) {
|
void Application::mouseMoveEvent(QMouseEvent* event) {
|
||||||
_mouseX = event->x();
|
if (activeWindow() == _window) {
|
||||||
_mouseY = event->y();
|
_mouseX = event->x();
|
||||||
|
_mouseY = event->y();
|
||||||
// detect drag
|
|
||||||
glm::vec3 mouseVoxelPos(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z);
|
// detect drag
|
||||||
if (!_justEditedVoxel && mouseVoxelPos != _lastMouseVoxelPos) {
|
glm::vec3 mouseVoxelPos(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z);
|
||||||
if (event->buttons().testFlag(Qt::LeftButton)) {
|
if (!_justEditedVoxel && mouseVoxelPos != _lastMouseVoxelPos) {
|
||||||
maybeEditVoxelUnderCursor();
|
if (event->buttons().testFlag(Qt::LeftButton)) {
|
||||||
|
maybeEditVoxelUnderCursor();
|
||||||
|
|
||||||
} else if (event->buttons().testFlag(Qt::RightButton) && checkedVoxelModeAction() != 0) {
|
} else if (event->buttons().testFlag(Qt::RightButton) && checkedVoxelModeAction() != 0) {
|
||||||
deleteVoxelUnderCursor();
|
deleteVoxelUnderCursor();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::mousePressEvent(QMouseEvent* event) {
|
void Application::mousePressEvent(QMouseEvent* event) {
|
||||||
if (event->button() == Qt::LeftButton) {
|
if (activeWindow() == _window) {
|
||||||
_mouseX = event->x();
|
if (event->button() == Qt::LeftButton) {
|
||||||
_mouseY = event->y();
|
_mouseX = event->x();
|
||||||
_mousePressed = true;
|
_mouseY = event->y();
|
||||||
maybeEditVoxelUnderCursor();
|
_mousePressed = true;
|
||||||
|
maybeEditVoxelUnderCursor();
|
||||||
} else if (event->button() == Qt::RightButton && checkedVoxelModeAction() != 0) {
|
|
||||||
deleteVoxelUnderCursor();
|
} else if (event->button() == Qt::RightButton && checkedVoxelModeAction() != 0) {
|
||||||
|
deleteVoxelUnderCursor();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::mouseReleaseEvent(QMouseEvent* event) {
|
void Application::mouseReleaseEvent(QMouseEvent* event) {
|
||||||
if (event->button() == Qt::LeftButton) {
|
if (activeWindow() == _window) {
|
||||||
_mouseX = event->x();
|
if (event->button() == Qt::LeftButton) {
|
||||||
_mouseY = event->y();
|
_mouseX = event->x();
|
||||||
_mousePressed = false;
|
_mouseY = event->y();
|
||||||
|
_mousePressed = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::wheelEvent(QWheelEvent* event) {
|
void Application::wheelEvent(QWheelEvent* event) {
|
||||||
if (checkedVoxelModeAction() == 0) {
|
if (activeWindow() == _window) {
|
||||||
event->ignore();
|
if (checkedVoxelModeAction() == 0) {
|
||||||
return;
|
event->ignore();
|
||||||
}
|
return;
|
||||||
if (event->delta() > 0) {
|
}
|
||||||
increaseVoxelSize();
|
if (event->delta() > 0) {
|
||||||
} else {
|
increaseVoxelSize();
|
||||||
decreaseVoxelSize();
|
} else {
|
||||||
|
decreaseVoxelSize();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -888,7 +888,7 @@ void Application::idle() {
|
||||||
|
|
||||||
// Update from Mouse
|
// Update from Mouse
|
||||||
if (_mouseLook->isChecked()) {
|
if (_mouseLook->isChecked()) {
|
||||||
QPoint mouse = QPoint(_mouseX, _mouseY);
|
QPoint mouse(_mouseX, _mouseY);
|
||||||
_myAvatar.updateFromMouse(_glWidget->mapFromGlobal(mouse).x(),
|
_myAvatar.updateFromMouse(_glWidget->mapFromGlobal(mouse).x(),
|
||||||
_glWidget->mapFromGlobal(mouse).y(),
|
_glWidget->mapFromGlobal(mouse).y(),
|
||||||
_glWidget->width(),
|
_glWidget->width(),
|
||||||
|
|
Loading…
Reference in a new issue