]> git.sesse.net Git - kdenlive/commitdiff
transiton on right track
authorMarco Gittler <marco@gitma.de>
Mon, 17 Mar 2008 22:49:41 +0000 (22:49 +0000)
committerMarco Gittler <marco@gitma.de>
Mon, 17 Mar 2008 22:49:41 +0000 (22:49 +0000)
svn path=/branches/KDE4/; revision=2070

src/clipitem.cpp
src/clipitem.h
src/customtrackview.cpp
src/transition.cpp

index 3823623f22f80b939cc4a53fe49471eae1ffde74..75a18cb32cb3eef2cca415987f4c457763d1548b 100644 (file)
@@ -648,7 +648,9 @@ void ClipItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event) {
 void ClipItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event) {
     Q_UNUSED(event);
 }
-
+void ClipItem::addTransition(Transition* t) {
+    m_transitionsList.append(t);
+}
 // virtual
 /*
 void CustomTrackView::mousePressEvent ( QMouseEvent * event )
index a576c310cc174bc6f8f99d2a0f02d2a318b96158..e3d182012401080b949ba7141feb340927ab9316 100644 (file)
@@ -72,6 +72,7 @@ public:
     /** Replace effect at pos ix with given value */
     void setEffectAt(int ix, QDomElement effect);
     void flashClip();
+    void addTransition(Transition*);
 
 protected:
     virtual void mouseMoveEvent(QGraphicsSceneMouseEvent * event);
@@ -110,7 +111,7 @@ private:
     bool m_hover;
 
     EffectsList m_effectList;
-    QList <Transition> m_transitionsList;
+    QList <Transition*> m_transitionsList;
     QMap<int, QPixmap> audioThumbCachePic;
     bool audioThumbWasDrawn, audioThumbReady;
     double framePixelWidth;
index 9e26313ff05e3f8cdb2413e68eb9a4fcf546355f..1a06f0308093018b4305a1c07786ca942ce8c9ee 100644 (file)
@@ -364,7 +364,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) {
                     m_startPos = QPointF(m_dragItem->endPos().frames(m_document->fps()), m_dragItem->track());
                 else if (m_operationMode == TRANSITIONSTART) {
                     Transition *tr = new Transition(
-                        QRect(m_dragItem->startPos().frames(m_document->fps()) *m_scale , m_dragItem->rect().height() / 2,
+                        QRect(m_dragItem->startPos().frames(m_document->fps()) *m_scale , m_dragItem->rect().y() + m_dragItem->rect().height() / 2,
                               GenTime(2.5).frames(m_document->fps()) *m_scale ,  m_dragItem->rect().height()
                              ),
                         (ClipItem*)m_dragItem, LUMA_TRANSITION, m_dragItem->startPos(), m_dragItem->startPos() + GenTime(2.5), m_document->fps());
index ca816ee5424f9a7391a211a24e581a44464c10e1..2d7a756a0be90677d44a1d141618931b044e31c2 100644 (file)
@@ -47,6 +47,7 @@ Transition::Transition(const QRectF& rect , ClipItem * clipa, const TRANSITIONTY
     GenTime defaultTransitionDuration = GenTime(2.5);
 
     m_referenceClip = clipa;
+    m_referenceClip->addTransition(this);
     if (startTime < m_referenceClip->startPos()) m_transitionStart = GenTime(0.0);
     else if (startTime > m_referenceClip->endPos()) m_transitionStart = m_referenceClip->duration() - defaultTransitionDuration;
     else m_transitionStart = startTime - m_referenceClip->startPos();
@@ -269,6 +270,7 @@ void Transition::paint(QPainter *painter,
     //painter->fillPath(roundRectPath, brush()); //, QBrush(QColor(Qt::red)));
     painter->fillRect(br.intersected(rectInView), QBrush(QColor(200, 200, 0, 160)/*,Qt::Dense4Pattern*/));
     painter->setClipRect(option->exposedRect);
+    painter->drawPixmap(br_startx + 10, br_starty + 10, transitionPixmap());
     painter->drawPath(resultClipPath.intersected(clippath));
 }