From 7b05b83cea065f42b45d90c2282aea35b8b5ed65 Mon Sep 17 00:00:00 2001 From: peri4 Date: Tue, 7 Mar 2023 13:54:14 +0300 Subject: [PATCH] ImageView::released --- libs/widgets/image_view.cpp | 6 ++++++ libs/widgets/image_view.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/libs/widgets/image_view.cpp b/libs/widgets/image_view.cpp index 21cfd61..13522fe 100644 --- a/libs/widgets/image_view.cpp +++ b/libs/widgets/image_view.cpp @@ -110,6 +110,12 @@ void ImageView::mouseMoveEvent(QMouseEvent * e) { } +void ImageView::mouseReleaseEvent(QMouseEvent * e) { + QGraphicsView::mouseReleaseEvent(e); + emit released(mapToScene(e->pos()), e->buttons()); +} + + void ImageView::wheelEvent(QWheelEvent * e) { if (!e->modifiers().testFlag(Qt::ControlModifier) || !viewInteractive()) return; double scl = 1. + e->angleDelta().y() / 500.; diff --git a/libs/widgets/image_view.h b/libs/widgets/image_view.h index c1a2664..6d58439 100644 --- a/libs/widgets/image_view.h +++ b/libs/widgets/image_view.h @@ -56,11 +56,13 @@ public slots: signals: void clicked(QPointF, Qt::MouseButtons); void hovered(QPointF, Qt::MouseButtons); + void released(QPointF, Qt::MouseButtons); private: void mouseDoubleClickEvent(QMouseEvent *) override; void mousePressEvent(QMouseEvent * e) override; void mouseMoveEvent(QMouseEvent * e) override; + void mouseReleaseEvent(QMouseEvent * e) override; void wheelEvent(QWheelEvent * e) override; bool eventFilter(QObject * o, QEvent * e) override; void adjustView();