0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00

UI: Support drag and move projector when clicking inside the window

This commit is contained in:
Warchamp7 2024-04-10 18:29:52 -04:00
parent 04694d535e
commit 5bb047356a
2 changed files with 6 additions and 4 deletions

View File

@ -287,7 +287,7 @@ void OBSProjector::mousePressEvent(QMouseEvent *event)
&OBSProjector::EscapeTriggered);
popup.exec(QCursor::pos());
} else if (event->button() == Qt::LeftButton) {
onMousePressMouseOffset = event->pos();
onMousePressMouseOffset = event->globalPosition();
// Only MultiView projectors handle left click
if (this->type != ProjectorType::Multiview)
@ -311,8 +311,10 @@ void OBSProjector::mousePressEvent(QMouseEvent *event)
void OBSProjector::mouseMoveEvent(QMouseEvent *event)
{
if (!isFullScreen() && (event->buttons() & Qt::LeftButton)) {
QPoint diff = event->pos() - onMousePressMouseOffset;
this->window()->move(this->window()->pos() + diff);
QPointF diff =
event->globalPosition() - onMousePressMouseOffset;
window()->move(window()->pos() + diff.toPoint());
onMousePressMouseOffset = event->globalPosition();
}
}

View File

@ -49,7 +49,7 @@ private:
QScreen *screen = nullptr;
QPoint onMousePressMouseOffset;
QPointF onMousePressMouseOffset;
private slots:
void EscapeTriggered();