]> git.sesse.net Git - kdenlive/commitdiff
Fix redoing transition move failing
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 5 Dec 2011 22:52:52 +0000 (23:52 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 5 Dec 2011 22:54:29 +0000 (23:54 +0100)
src/customtrackview.cpp
src/transition.cpp

index 2f56b5bf1034b25e8517082165ade88e2c4d66c9..1ec88d5c336df1ffb746452ff8a21eaa6868bc0b 100644 (file)
@@ -4230,7 +4230,7 @@ ClipItem *CustomTrackView::getClipItemAt(GenTime pos, int track)
 
 Transition *CustomTrackView::getTransitionItemAt(int pos, int track)
 {
-    const QPointF p(pos, (track + 1) * m_tracksHeight);
+    const QPointF p(pos, track * m_tracksHeight + Transition::itemOffset() + 1);
     QList<QGraphicsItem *> list = scene()->items(p);
     Transition *clip = NULL;
     for (int i = 0; i < list.size(); i++) {
@@ -4251,7 +4251,7 @@ Transition *CustomTrackView::getTransitionItemAt(GenTime pos, int track)
 Transition *CustomTrackView::getTransitionItemAtEnd(GenTime pos, int track)
 {
     int framepos = (int)(pos.frames(m_document->fps()));
-    const QPointF p(framepos - 1, (track + 1) * m_tracksHeight);
+    const QPointF p(framepos - 1, track * m_tracksHeight + Transition::itemOffset() + 1);
     QList<QGraphicsItem *> list = scene()->items(p);
     Transition *clip = NULL;
     for (int i = 0; i < list.size(); i++) {
@@ -4267,7 +4267,7 @@ Transition *CustomTrackView::getTransitionItemAtEnd(GenTime pos, int track)
 
 Transition *CustomTrackView::getTransitionItemAtStart(GenTime pos, int track)
 {
-    const QPointF p(pos.frames(m_document->fps()), (track + 1) * m_tracksHeight);
+    const QPointF p(pos.frames(m_document->fps()), track * m_tracksHeight + Transition::itemOffset() + 1);
     QList<QGraphicsItem *> list = scene()->items(p);
     Transition *clip = NULL;
     for (int i = 0; i < list.size(); ++i) {
index e1b89555370a15fee188b2336c22a8f7417a20c8..d9e931d2d9c3cefa920fdc772b1b75b80f8229b6 100644 (file)
@@ -306,11 +306,13 @@ OPERATIONTYPE Transition::operationMode(QPointF pos)
     return MOVE;
 }
 
+//static
 int Transition::itemHeight()
 {
     return (int) (KdenliveSettings::trackheight() / 3 * 2 - 1);
 }
 
+//static
 int Transition::itemOffset()
 {
     return (int) (KdenliveSettings::trackheight() / 3 * 2);