BugFix (#139) When right clicking during a ScribbleForEvent/MouseDragAction, and the right click is outside the plot, the last scribble event was not being generated.
Some checks are pending
CodeQL / Analyze (cpp) (push) Waiting to run
Doxygen build&deploy / build (push) Waiting to run
MSVC-CodeAnalysis / Analyze (push) Waiting to run

This commit is contained in:
Snolandia 2024-10-16 04:24:50 -07:00 committed by GitHub
parent 2e0d0d7540
commit fd8ea3adb2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -888,6 +888,7 @@ void JKQTPlotter::mouseMoveEvent ( QMouseEvent * event ) {
void JKQTPlotter::mousePressEvent ( QMouseEvent * event ){
MouseDragAction prevAction = currentMouseDragAction;
currentMouseDragAction.clear();
mouseDragMarkers.clear();
@ -906,11 +907,18 @@ void JKQTPlotter::mousePressEvent ( QMouseEvent * event ){
oldImage=image;
if (currentMouseDragAction.mode==jkqtpmdaScribbleForEvents) emit userScribbleClick(mouseDragRectXStart, mouseDragRectYStart, event->modifiers(), true, false);
event->accept();
} else if (event->button()==Qt::RightButton && event->modifiers()==Qt::NoModifier && contextMenuMode!=jkqtpcmmNoContextMenu) {
mouseLastClickX=event->pos().x();
mouseLastClickY=event->pos().y();
openContextMenu(event->pos().x(), event->pos().y());
event->accept();
} else if (event->button()==Qt::RightButton) {
if (prevAction.mode==jkqtpmdaScribbleForEvents){
mouseDragRectXStart=plotter->p2x(event->pos().x()/magnification);
mouseDragRectYStart=plotter->p2y((event->pos().y()-getPlotYOffset())/magnification);
emit userScribbleClick(mouseDragRectXStart, mouseDragRectYStart, event->modifiers(), false, true);
}
if(event->modifiers()==Qt::NoModifier && contextMenuMode!=jkqtpcmmNoContextMenu){
mouseLastClickX=event->pos().x();
mouseLastClickY=event->pos().y();
openContextMenu(event->pos().x(), event->pos().y());
event->accept();
}
}
// emit clicked signal, if event occured inside plot only