@@ -97,6 +97,14 @@ Showable {
97 MathLocal.clamp((indicators.height - handle.height - hintValue) /
97 MathLocal.clamp((indicators.height - handle.height - hintValue) /
98 (lockThreshold - hintValue), 0, 1);
98 (lockThreshold - hintValue), 0, 1);
101+ Vertical velocity check. Don't change the indicator if we're moving too quickly.
103+ var verticalVelocity = Math.abs(yVelocityCalculator.calculate());
104+ if (verticalVelocity >= 0.3 && indicatorRow.currentItem!=null) {
101 Percentage of an indicator icon's width the user's press can stray horizontally from the
109 Percentage of an indicator icon's width the user's press can stray horizontally from the
102 focused icon before we change focus to another icon. E.g. a value of 0.5 means you must
110 focused icon before we change focus to another icon. E.g. a value of 0.5 means you must
@@ -282,6 +290,9 @@ Showable {
282 var buffer = dragHandle.dragging ? true : false;
290 var buffer = dragHandle.dragging ? true : false;
283 indicators.calculateCurrentItem(dragHandle.touchX, buffer);
291 indicators.calculateCurrentItem(dragHandle.touchX, buffer);
293+ onTouchSceneYChanged: {
294+ yVelocityCalculator.trackedPosition = dragHandle.touchSceneY;
287 DragHandle {
298 DragHandle {
@@ -325,6 +336,10 @@ Showable {
339+ AxisVelocityCalculator {
340+ id: yVelocityCalculator
328 states: [
343 states: [
330 name: "initial"
345 name: "initial"