From: <j-...@us...> - 2008-03-02 19:38:41
|
Revision: 1981 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=1981&view=rev Author: j-b-m Date: 2008-03-02 11:35:24 -0800 (Sun, 02 Mar 2008) Log Message: ----------- Nicer timeline visual tips, fix video thumbnails being set on wrong clip Modified Paths: -------------- branches/KDE4/src/clipitem.cpp branches/KDE4/src/clipitem.h branches/KDE4/src/customtrackview.cpp branches/KDE4/src/customtrackview.h Modified: branches/KDE4/src/clipitem.cpp =================================================================== --- branches/KDE4/src/clipitem.cpp 2008-03-02 18:37:51 UTC (rev 1980) +++ branches/KDE4/src/clipitem.cpp 2008-03-02 19:35:24 UTC (rev 1981) @@ -39,7 +39,7 @@ #include "kdenlivesettings.h" ClipItem::ClipItem(DocClipBase *clip, int track, int startpos, const QRectF & rect, int duration) -: QGraphicsRectItem(rect), m_clip(clip), m_resizeMode(NONE), m_grabPoint(0), m_maxTrack(0), m_track(track), m_startPos(startpos), m_hasThumbs(false), startThumbTimer(NULL), endThumbTimer(NULL), m_startFade(0), m_endFade(0), m_effectsCounter(0),audioThumbWasDrawn(false), m_opacity(1.0), m_timeLine(0) +: QGraphicsRectItem(rect), m_clip(clip), m_resizeMode(NONE), m_grabPoint(0), m_maxTrack(0), m_track(track), m_startPos(startpos), m_hasThumbs(false), startThumbTimer(NULL), endThumbTimer(NULL), m_startFade(0), m_endFade(0), m_effectsCounter(0),audioThumbWasDrawn(false), m_opacity(1.0), m_timeLine(0), m_thumbsRequested(0) { //setToolTip(name); kDebug()<<"******* CREATING NEW TML CLIP, DUR: "<<duration; @@ -103,24 +103,29 @@ void ClipItem::slotFetchThumbs() { + m_thumbsRequested += 2; emit getThumb(m_cropStart, m_cropStart + m_cropDuration); } void ClipItem::slotGetStartThumb() { + m_thumbsRequested++; emit getThumb(m_cropStart, -1); } void ClipItem::slotGetEndThumb() { + m_thumbsRequested++; emit getThumb(-1, m_cropStart + m_cropDuration); } void ClipItem::slotThumbReady(int frame, QPixmap pix) { + if (m_thumbsRequested == 0) return; if (frame == m_cropStart) m_startPix = pix; else m_endPix = pix; update(); + m_thumbsRequested--; } void ClipItem::slotGotAudioData(){ Modified: branches/KDE4/src/clipitem.h =================================================================== --- branches/KDE4/src/clipitem.h 2008-03-02 18:37:51 UTC (rev 1980) +++ branches/KDE4/src/clipitem.h 2008-03-02 19:35:24 UTC (rev 1981) @@ -116,6 +116,7 @@ int m_effectsCounter; double m_opacity; QTimeLine *m_timeLine; + uint m_thumbsRequested; EffectsList m_effectList; QMap<int,QPixmap> audioThumbCachePic; Modified: branches/KDE4/src/customtrackview.cpp =================================================================== --- branches/KDE4/src/customtrackview.cpp 2008-03-02 18:37:51 UTC (rev 1980) +++ branches/KDE4/src/customtrackview.cpp 2008-03-02 19:35:24 UTC (rev 1981) @@ -47,7 +47,11 @@ m_animationTimer->setFrameRange(0, 5); m_animationTimer->setUpdateInterval(100); m_animationTimer->setLoopCount(0); - m_tipColor = QColor(230, 50, 0, 150); + m_tipColor = QColor(0, 192, 0, 200); + QColor border = QColor(255,255,255,100); + m_tipPen.setColor(border); + m_tipPen.setWidth(3); + setContentsMargins(0, 0, 0, 0); if (projectscene) { m_cursorLine = projectscene->addLine(0, 0, 0, 50); @@ -166,9 +170,15 @@ else if (opMode == RESIZESTART) { kDebug()<<"******** RESIZE CLIP START; WIDTH: "<<size; if (m_visualTip == NULL) { - m_visualTip = new QGraphicsRectItem(clip->rect().x(), clip->rect().y(), size, clip->rect().height()); - ((QGraphicsRectItem*) m_visualTip)->setBrush(m_tipColor); - ((QGraphicsRectItem*) m_visualTip)->setPen(QPen(Qt::transparent)); + QPolygon polygon; + polygon << QPoint(clip->rect().x(), clip->rect().y() + clip->rect().height() / 2 - size * 2); + polygon << QPoint(clip->rect().x() + size * 2, clip->rect().y() + clip->rect().height() / 2 ); + polygon << QPoint(clip->rect().x(), clip->rect().y() + clip->rect().height() / 2 + size * 2); + polygon << QPoint(clip->rect().x(), clip->rect().y() + clip->rect().height() / 2 - size * 2); + + m_visualTip = new QGraphicsPolygonItem(polygon); + ((QGraphicsPolygonItem*) m_visualTip)->setBrush(m_tipColor); + ((QGraphicsPolygonItem*) m_visualTip)->setPen(m_tipPen); m_visualTip->setZValue (100); m_animation = new QGraphicsItemAnimation; m_animation->setItem(m_visualTip); @@ -187,9 +197,16 @@ } else if (opMode == RESIZEEND) { if (m_visualTip == NULL) { - m_visualTip = new QGraphicsRectItem(clip->rect().x() + clip->rect().width() - size, clip->rect().y(), size, clip->rect().height()); - ((QGraphicsRectItem*) m_visualTip)->setBrush(m_tipColor); - ((QGraphicsRectItem*) m_visualTip)->setPen(QPen(Qt::transparent)); + QPolygon polygon; + polygon << QPoint(clip->rect().x() + clip->rect().width(), clip->rect().y() + clip->rect().height() / 2 - size * 2); + polygon << QPoint(clip->rect().x() + clip->rect().width() - size * 2, clip->rect().y() + clip->rect().height() / 2 ); + polygon << QPoint(clip->rect().x() + clip->rect().width(), clip->rect().y() + clip->rect().height() / 2 + size * 2); + polygon << QPoint(clip->rect().x() + clip->rect().width(), clip->rect().y() + clip->rect().height() / 2 - size * 2); + + m_visualTip = new QGraphicsPolygonItem(polygon); + ((QGraphicsPolygonItem*) m_visualTip)->setBrush(m_tipColor); + ((QGraphicsPolygonItem*) m_visualTip)->setPen(m_tipPen); + m_visualTip->setZValue (100); m_animation = new QGraphicsItemAnimation; m_animation->setItem(m_visualTip); @@ -210,7 +227,7 @@ if (m_visualTip == NULL) { m_visualTip = new QGraphicsEllipseItem(clip->rect().x() + clip->fadeIn() * m_scale - size, clip->rect().y() - 8, size * 2, 16); ((QGraphicsEllipseItem*) m_visualTip)->setBrush(m_tipColor); - ((QGraphicsEllipseItem*) m_visualTip)->setPen(QPen(Qt::transparent)); + ((QGraphicsEllipseItem*) m_visualTip)->setPen(m_tipPen); m_visualTip->setZValue (100); m_animation = new QGraphicsItemAnimation; m_animation->setItem(m_visualTip); @@ -231,7 +248,7 @@ if (m_visualTip == NULL) { m_visualTip = new QGraphicsEllipseItem(clip->rect().x() + clip->rect().width() - clip->fadeOut() * m_scale - size, clip->rect().y() - 8, size*2, 16); ((QGraphicsEllipseItem*) m_visualTip)->setBrush(m_tipColor); - ((QGraphicsEllipseItem*) m_visualTip)->setPen(QPen(Qt::transparent)); + ((QGraphicsEllipseItem*) m_visualTip)->setPen(m_tipPen); m_visualTip->setZValue (100); m_animation = new QGraphicsItemAnimation; m_animation->setItem(m_visualTip); Modified: branches/KDE4/src/customtrackview.h =================================================================== --- branches/KDE4/src/customtrackview.h 2008-03-02 18:37:51 UTC (rev 1980) +++ branches/KDE4/src/customtrackview.h 2008-03-02 19:35:24 UTC (rev 1981) @@ -91,6 +91,7 @@ QGraphicsItemAnimation *m_animation; QTimeLine *m_animationTimer; QColor m_tipColor; + QPen m_tipPen; double m_scale; int m_clickPoint; QList <int> m_snapPoints; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |