diff options
-rw-r--r-- | src/charts/scatterchart/scatterchartitem.cpp | 13 | ||||
-rw-r--r-- | src/charts/scatterchart/scatterchartitem_p.h | 1 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/charts/scatterchart/scatterchartitem.cpp b/src/charts/scatterchart/scatterchartitem.cpp index ec21f80b..4b5433e1 100644 --- a/src/charts/scatterchart/scatterchartitem.cpp +++ b/src/charts/scatterchart/scatterchartitem.cpp @@ -511,6 +511,14 @@ void ScatterChartItem::handleSeriesUpdated() update(); } +void ScatterChartItem::handleMarkerMouseReleaseEvent(QGraphicsItem *item) +{ + markerReleased(item); + if (mousePressed()) + markerSelected(item); + setMousePressed(false); +} + template<class T> ChartMarker<T>::ChartMarker(qreal x, qreal y, qreal w, qreal h, ScatterChartItem *parent) : T(x, y, w, h, parent) @@ -555,10 +563,7 @@ template<class T> void ChartMarker<T>::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { T::mouseReleaseEvent(event); - m_parent->markerReleased(this); - if (m_parent->mousePressed()) - m_parent->markerSelected(this); - m_parent->setMousePressed(false); + m_parent->handleMarkerMouseReleaseEvent(this); } template<class T> diff --git a/src/charts/scatterchart/scatterchartitem_p.h b/src/charts/scatterchart/scatterchartitem_p.h index ce6da677..266d8e5d 100644 --- a/src/charts/scatterchart/scatterchartitem_p.h +++ b/src/charts/scatterchart/scatterchartitem_p.h @@ -45,6 +45,7 @@ public: void markerPressed(QGraphicsItem *item); void markerReleased(QGraphicsItem *item); void markerDoubleClicked(QGraphicsItem *item); + void handleMarkerMouseReleaseEvent(QGraphicsItem *item); void setMousePressed(bool pressed = true) {m_mousePressed = pressed;} bool mousePressed() {return m_mousePressed;} |