]> git.sesse.net Git - kdenlive/blobdiff - src/simplekeyframes/simpletimelinewidget.cpp
Const'ref
[kdenlive] / src / simplekeyframes / simpletimelinewidget.cpp
index bf8e4500f5131b1827add030d214709b110a84a7..8b9843c72d5ef6339facaf65a19700d193732e60 100644 (file)
@@ -47,7 +47,7 @@ SimpleTimelineWidget::SimpleTimelineWidget(QWidget* parent) :
     m_colKeyframeBg = scheme.shade(KColorScheme::MidShade);
 }
 
-void SimpleTimelineWidget::setKeyframes(QList <int> keyframes)
+void SimpleTimelineWidget::setKeyframes(const QList<int> &keyframes)
 {
     m_keyframes = keyframes;
     qSort(m_keyframes);
@@ -107,6 +107,9 @@ void SimpleTimelineWidget::setDuration(int dur)
 
 void SimpleTimelineWidget::slotGoToNext()
 {
+    if (m_position == m_duration)
+        return;
+
     foreach (const int &keyframe, m_keyframes) {
         if (keyframe > m_position) {
             slotSetPosition(keyframe);
@@ -124,6 +127,9 @@ void SimpleTimelineWidget::slotGoToNext()
 
 void SimpleTimelineWidget::slotGoToPrev()
 {
+    if (m_position == 0)
+        return;
+
     for (int i = m_keyframes.count() - 1; i >= 0; --i) {
         if (m_keyframes.at(i) < m_position) {
             slotSetPosition(m_keyframes.at(i));
@@ -244,13 +250,13 @@ void SimpleTimelineWidget::mouseDoubleClickEvent(QMouseEvent* event)
 void SimpleTimelineWidget::wheelEvent(QWheelEvent* event)
 {
     int change = event->delta() < 0 ? -1 : 1;
-    if (m_currentKeyframe > 0) {
+    /*if (m_currentKeyframe > 0) {
         m_currentKeyframe = qBound(0, m_currentKeyframe + change, m_duration);
         emit keyframeMoved(m_currentKeyframeOriginal, m_currentKeyframe);
-    } else {
+    } else { */
         m_position = qBound(0, m_position + change, m_duration);
         emit positionChanged(m_position);
-    }
+//     }
     emit atKeyframe(m_keyframes.contains(m_position));
     update();
 }