Merge pull request #694 from Savestate2A03/preview_scrolling_while_locked

UI: Enable scrolling while preview is locked
This commit is contained in:
Jim
2016-11-20 03:02:17 -08:00
committed by GitHub

View File

@@ -380,8 +380,7 @@ void OBSBasicPreview::GetStretchHandleData(const vec2 &pos)
void OBSBasicPreview::keyPressEvent(QKeyEvent *event)
{
if (locked ||
GetScalingMode() == ScalingMode::Window ||
if (GetScalingMode() == ScalingMode::Window ||
event->isAutoRepeat()) {
OBSQTDisplay::keyPressEvent(event);
return;
@@ -416,6 +415,19 @@ void OBSBasicPreview::keyReleaseEvent(QKeyEvent *event)
void OBSBasicPreview::mousePressEvent(QMouseEvent *event)
{
if (scrollMode && GetScalingMode() != ScalingMode::Window &&
event->button() == Qt::LeftButton) {
setCursor(Qt::ClosedHandCursor);
scrollingFrom.x = event->x();
scrollingFrom.y = event->y();
return;
}
if (event->button() == Qt::RightButton) {
scrollMode = false;
setCursor(Qt::ArrowCursor);
}
if (locked) {
OBSQTDisplay::mousePressEvent(event);
return;
@@ -430,13 +442,6 @@ void OBSBasicPreview::mousePressEvent(QMouseEvent *event)
OBSQTDisplay::mousePressEvent(event);
if (scrollMode && GetScalingMode() != ScalingMode::Window) {
setCursor(Qt::ClosedHandCursor);
scrollingFrom.x = event->x();
scrollingFrom.y = event->y();
return;
}
if (event->button() != Qt::LeftButton &&
event->button() != Qt::RightButton)
return;
@@ -500,14 +505,14 @@ void OBSBasicPreview::ProcessClick(const vec2 &pos)
void OBSBasicPreview::mouseReleaseEvent(QMouseEvent *event)
{
if (scrollMode)
setCursor(Qt::OpenHandCursor);
if (locked) {
OBSQTDisplay::mouseReleaseEvent(event);
return;
}
if (scrollMode)
setCursor(Qt::OpenHandCursor);
if (mouseDown) {
vec2 pos = GetMouseEventPos(event);
@@ -998,9 +1003,6 @@ void OBSBasicPreview::StretchItem(const vec2 &pos)
void OBSBasicPreview::mouseMoveEvent(QMouseEvent *event)
{
if (locked)
return;
if (scrollMode && event->buttons() == Qt::LeftButton) {
scrollingOffset.x += event->x() - scrollingFrom.x;
scrollingOffset.y += event->y() - scrollingFrom.y;
@@ -1010,6 +1012,9 @@ void OBSBasicPreview::mouseMoveEvent(QMouseEvent *event)
return;
}
if (locked)
return;
if (mouseDown) {
vec2 pos = GetMouseEventPos(event);