]> git.sesse.net Git - kdenlive/blobdiff - src/keyframehelper.cpp
const modifiers are useless on integral return types [PATCH by Ray Lehtiniemi]
[kdenlive] / src / keyframehelper.cpp
index c46928a7facf46ac6c351344f56c6b0fb4ac7926..5dbfd1e64d99bd96d4a245c21268caed90a628f1 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
-#include <QMouseEvent>
-#include <QStylePainter>
+
+#include "keyframehelper.h"
+#include "definitions.h"
 
 #include <KDebug>
 #include <KGlobalSettings>
 
-#include "keyframehelper.h"
-#include "definitions.h"
+#include <QMouseEvent>
+#include <QStylePainter>
 
 
 KeyframeHelper::KeyframeHelper(QWidget *parent)
@@ -72,33 +73,42 @@ void KeyframeHelper::paintEvent(QPaintEvent *e) {
     m_scale = (double) width() / m_length;
     if (m_geom != NULL) {
         int pos = 0;
-        p.setBrush(QColor(255, 20, 20));
+        p.setPen(QColor(255, 20, 20));
         Mlt::GeometryItem item;
         while (true) {
             if (m_geom->next_key(&item, pos) == 1) break;
             pos = item.frame();
             int scaledPos = pos * m_scale;
-            p.drawLine(scaledPos, clipRect.y() , scaledPos, clipRect.bottom());
+            // draw keyframes
+            p.drawLine(scaledPos, 6, scaledPos, 10);
+            // draw pointer
+            QPolygon pa(3);
+            pa.setPoints(3, scaledPos - 4, 0, scaledPos + 4, 0, scaledPos, 4);
+            p.setBrush(QColor(255, 20, 20));
+            p.drawPolygon(pa);
             //p.fillRect(QRect(scaledPos - 1, 0, 2, 15), QBrush(QColor(255, 20, 20)));
             pos++;
         }
     }
+    p.setPen(palette().dark().color());
+    p.drawLine(clipRect.x(), 5, clipRect.right(), 5);
+
     // draw pointer
     QPolygon pa(3);
     const int cursor = m_position * m_scale;
-    pa.setPoints(3, cursor - 5, 14, cursor + 5, 14, cursor/*+0*/, 9);
+    pa.setPoints(3, cursor - 5, 11, cursor + 5, 11, cursor, 6);
     p.setBrush(palette().dark().color());
     p.drawPolygon(pa);
 
 
 }
 
-const int KeyframeHelper::value() const {
+int KeyframeHelper::value() const {
     return m_position;
 }
 
 void KeyframeHelper::setValue(const int pos) {
-    if (pos == m_position) return;
+    if (pos == m_position || m_geom == NULL) return;
     m_position = pos;
     update();
 }