summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/charts/scatterchart/scatterchartitem.cpp13
-rw-r--r--src/charts/scatterchart/scatterchartitem_p.h1
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;}