#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;
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(){
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);
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);
}
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);
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);
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);