From eae55b14bb81b4f393b06403cfb0e6d9081692bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20T=C5=AFma?= Date: Tue, 27 Sep 2016 01:48:45 +0200 Subject: [PATCH] Fixed slider step size in time graphs --- src/graphitem.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/graphitem.cpp b/src/graphitem.cpp index ca45daf3..6b5a33fd 100644 --- a/src/graphitem.cpp +++ b/src/graphitem.cpp @@ -119,12 +119,15 @@ qreal GraphItem::distanceAtTime(qreal time) return _distancePath.elementAt(mid).x; } + QLineF l; if (_timePath.elementAt(mid).x < time) - return ((_distancePath.elementAt(mid+1).x - + _distancePath.elementAt(mid).x) / 2.0); + l = QLineF(_timePath.elementAt(mid).x, _distancePath.elementAt(mid).x, + _timePath.elementAt(mid+1).x, _distancePath.elementAt(mid+1).x); else - return ((_distancePath.elementAt(mid).x - + _distancePath.elementAt(mid-1).x) / 2.0); + l = QLineF(_timePath.elementAt(mid-1).x, _distancePath.elementAt(mid-1).x, + _timePath.elementAt(mid).x, _distancePath.elementAt(mid).x); + + return l.pointAt((time - l.p1().x()) / (l.p2().x() - l.p1().x())).y(); } void GraphItem::emitSliderPositionChanged(qreal pos)