equal
deleted
inserted
replaced
58 m_kineticSteps = 0; |
58 m_kineticSteps = 0; |
59 m_kineticScrollTime = 0.0; |
59 m_kineticScrollTime = 0.0; |
60 m_kineticTimer->start(m_kineticTimeout); |
60 m_kineticTimer->start(m_kineticTimeout); |
61 m_actualTime = QTime::currentTime(); |
61 m_actualTime = QTime::currentTime(); |
62 m_actualTime.start(); |
62 m_actualTime.start(); |
63 qDebug() << "starting kinetic timer at " << m_initialPos << ", at " << m_actualTime; |
|
64 } |
63 } |
65 |
64 |
66 |
65 |
67 void KineticHelper::kineticScroll() |
66 void KineticHelper::kineticScroll() |
68 { |
67 { |
75 qreal vy = 0; |
74 qreal vy = 0; |
76 |
75 |
77 int t = m_actualTime.elapsed(); |
76 int t = m_actualTime.elapsed(); |
78 m_kineticScrollTime += (((qreal)t) / 1000); |
77 m_kineticScrollTime += (((qreal)t) / 1000); |
79 |
78 |
80 qDebug() << "kineticScroll(): elapsed: " << t << ", m_kineticSteps: " << m_kineticSteps << |
|
81 ", m_kineticScrollTime: " << m_kineticScrollTime << |
|
82 ", decelX: "<< decelX << ", decelY: " << decelY << ", m_initialSpeed: " << m_initialSpeed; |
|
83 if (m_initialSpeed.x()) { |
79 if (m_initialSpeed.x()) { |
84 vx = m_initialSpeed.x() + decelX * m_kineticScrollTime; |
80 vx = m_initialSpeed.x() + decelX * m_kineticScrollTime; |
85 qDebug() << "vx: " << vx; |
|
86 if (vx * m_initialSpeed.x() < 0) { |
81 if (vx * m_initialSpeed.x() < 0) { |
87 dx = 0; |
82 dx = 0; |
88 vx = 0; |
83 vx = 0; |
89 } |
84 } |
90 else { |
85 else { |
93 } |
88 } |
94 } |
89 } |
95 |
90 |
96 if (m_initialSpeed.y()) { |
91 if (m_initialSpeed.y()) { |
97 vy = m_initialSpeed.y() + decelY * m_kineticScrollTime; |
92 vy = m_initialSpeed.y() + decelY * m_kineticScrollTime; |
98 qDebug() << "vy: " << vy; |
|
99 if (vy * m_initialSpeed.y() < 0) { |
93 if (vy * m_initialSpeed.y() < 0) { |
100 dy = 0; |
94 dy = 0; |
101 vy = 0; |
95 vy = 0; |
102 } |
96 } |
103 else { |
97 else { |
108 |
102 |
109 QPoint scrollPos = m_scrollable->getScrollPosition(); |
103 QPoint scrollPos = m_scrollable->getScrollPosition(); |
110 QPoint distPos = m_initialPos + QPointF(dx, dy).toPoint(); |
104 QPoint distPos = m_initialPos + QPointF(dx, dy).toPoint(); |
111 |
105 |
112 if (vx != 0 || vy != 0) { |
106 if (vx != 0 || vy != 0) { |
113 qDebug() << "kineticScroll(): scroll from " << scrollPos << " to " << distPos; |
|
114 m_scrollable->scrollTo(distPos); |
107 m_scrollable->scrollTo(distPos); |
115 } |
108 } |
116 |
109 |
117 if ((vx == 0 && vy == 0) || scrollPos == m_scrollable->getScrollPosition()) { |
110 if ((vx == 0 && vy == 0) || scrollPos == m_scrollable->getScrollPosition()) { |
118 qDebug() << "kineticScroll(): stopping timer"; |
|
119 stopScrolling(); |
111 stopScrolling(); |
120 } |
112 } |
121 } |
113 } |
122 |
114 |
123 void KineticHelper::stopScrolling() |
115 void KineticHelper::stopScrolling() |