Move drag origin coordinates to MouseHandler

This commit is contained in:
Luis Ángel San Martín 2025-05-04 09:53:31 +02:00
parent 8b41bbf711
commit d291569e5f
3 changed files with 6 additions and 10 deletions

View File

@ -25,9 +25,7 @@ void YACReader::MouseHandler::mousePressEvent(QMouseEvent *event)
{ {
if (event->button() == Qt::LeftButton) { if (event->button() == Qt::LeftButton) {
viewer->drag = true; viewer->drag = true;
auto position = event->position(); dragOrigin = dragLatestPosition = event->position();
viewer->yDragOrigin = position.y();
viewer->xDragOrigin = position.x();
viewer->setCursor(Qt::ClosedHandCursor); viewer->setCursor(Qt::ClosedHandCursor);
event->accept(); event->accept();
return; return;
@ -88,10 +86,9 @@ void YACReader::MouseHandler::mouseMoveEvent(QMouseEvent *event)
if (viewer->drag) { if (viewer->drag) {
int currentPosY = viewer->verticalScrollBar()->sliderPosition(); int currentPosY = viewer->verticalScrollBar()->sliderPosition();
int currentPosX = viewer->horizontalScrollBar()->sliderPosition(); int currentPosX = viewer->horizontalScrollBar()->sliderPosition();
viewer->verticalScrollBar()->setSliderPosition(currentPosY + (viewer->yDragOrigin - position.y())); viewer->verticalScrollBar()->setSliderPosition(currentPosY + (dragLatestPosition.y() - position.y()));
viewer->horizontalScrollBar()->setSliderPosition(currentPosX + (viewer->xDragOrigin - position.x())); viewer->horizontalScrollBar()->setSliderPosition(currentPosX + (dragLatestPosition.x() - position.x()));
viewer->yDragOrigin = position.y(); dragLatestPosition = position;
viewer->xDragOrigin = position.x();
} }
} }
} }

View File

@ -17,6 +17,8 @@ public:
private: private:
Viewer *viewer; Viewer *viewer;
QPointF dragOrigin;
QPointF dragLatestPosition;
}; };
} }

View File

@ -148,9 +148,6 @@ private:
int translatorXPos; int translatorXPos;
QPropertyAnimation *translatorAnimation; QPropertyAnimation *translatorAnimation;
int yDragOrigin;
int xDragOrigin;
NotificationsLabelWidget *notificationsLabel; NotificationsLabelWidget *notificationsLabel;
bool shouldOpenNext; bool shouldOpenNext;