- if (item && event->buttons() == Qt::NoButton) {
- AbstractClipItem *clip = (AbstractClipItem*) item;
- opMode = clip->operationMode(mapToScene(event->pos()), m_scale);
- double size = 8;
-
- if (opMode == m_moveOpMode) {
- QGraphicsView::mouseMoveEvent(event);
- return;
- } else {
- if (m_visualTip) {
- if (m_animation) delete m_animation;
- m_animation = NULL;
- m_animationTimer->stop();
- delete m_visualTip;
- m_visualTip = NULL;
- }
- }
- m_moveOpMode = opMode;
-
- if (opMode == MOVE) {
- setCursor(Qt::OpenHandCursor);
- } else if (opMode == RESIZESTART) {
- setCursor(KCursor("left_side", Qt::SizeHorCursor));
- kDebug() << "******** RESIZE CLIP START;Ā WIDTH: " << size;
- if (m_visualTip == NULL) {
- QPolygon polygon;
- polygon << QPoint((int)clip->rect().x(), (int)(clip->rect().y() + clip->rect().height() / 2 - size * 2));
- polygon << QPoint((int)(clip->rect().x() + size * 2), (int)(clip->rect().y() + clip->rect().height() / 2));
- polygon << QPoint((int)clip->rect().x(), (int)(clip->rect().y() + clip->rect().height() / 2 + size * 2));
- polygon << QPoint((int)clip->rect().x(), (int)(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);
- m_animation->setTimeLine(m_animationTimer);
- m_visualTip->setPos(0, 0);
- double scale = 2.0;
- m_animation->setScaleAt(.5, scale, 1);
- m_animation->setPosAt(.5, QPointF(clip->rect().x() - clip->rect().x() * scale, 0));
- scale = 1.0;
- m_animation->setScaleAt(1, scale, 1);
- m_animation->setPosAt(1, QPointF(clip->rect().x() - clip->rect().x() * scale, 0));
- scene()->addItem(m_visualTip);
- m_animationTimer->start();
- }
- } else if (opMode == RESIZEEND) {
- setCursor(KCursor("right_side", Qt::SizeHorCursor));
- if (m_visualTip == NULL) {
- QPolygon polygon;
- polygon << QPoint((int)(clip->rect().x() + clip->rect().width()), (int)(clip->rect().y() + clip->rect().height() / 2 - size * 2));
- polygon << QPoint((int)(clip->rect().x() + clip->rect().width() - size * 2), (int)(clip->rect().y() + clip->rect().height() / 2));
- polygon << QPoint((int)(clip->rect().x() + clip->rect().width()), (int)(clip->rect().y() + clip->rect().height() / 2 + size * 2));
- polygon << QPoint((int)(clip->rect().x() + clip->rect().width()), (int)(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);
- m_animation->setTimeLine(m_animationTimer);
- m_visualTip->setPos(0, 0);
- double scale = 2.0;
- m_animation->setScaleAt(.5, scale, 1);
- m_animation->setPosAt(.5, QPointF(clip->rect().x() - clip->rect().x() * scale - clip->rect().width(), 0));
- scale = 1.0;
- m_animation->setScaleAt(1, scale, 1);
- m_animation->setPosAt(1, QPointF(clip->rect().x() - clip->rect().x() * scale, 0));
- scene()->addItem(m_visualTip);
- m_animationTimer->start();
- }
- } else if (opMode == FADEIN) {
- if (m_visualTip == NULL) {
- ClipItem *item = (ClipItem *) clip;
- m_visualTip = new QGraphicsEllipseItem(item->rect().x() + item->fadeIn() * m_scale - size, item->rect().y() - 8, size * 2, 16);
- ((QGraphicsEllipseItem*) m_visualTip)->setBrush(m_tipColor);
- ((QGraphicsEllipseItem*) m_visualTip)->setPen(m_tipPen);
- m_visualTip->setZValue(100);
- m_animation = new QGraphicsItemAnimation;
- m_animation->setItem(m_visualTip);
- m_animation->setTimeLine(m_animationTimer);
- m_visualTip->setPos(0, 0);
- double scale = 2.0;
- m_animation->setScaleAt(.5, scale, scale);
- m_animation->setPosAt(.5, QPointF(item->rect().x() - item->rect().x() * scale - item->fadeIn() * m_scale, item->rect().y() - item->rect().y() * scale));
- scale = 1.0;
- m_animation->setScaleAt(1, scale, scale);
- m_animation->setPosAt(1, QPointF(item->rect().x() - item->rect().x() * scale, item->rect().y() - item->rect().y() * scale));
- scene()->addItem(m_visualTip);
- m_animationTimer->start();
- }
- setCursor(Qt::PointingHandCursor);
- } else if (opMode == FADEOUT) {
- if (m_visualTip == NULL) {
- ClipItem *item = (ClipItem *) clip;
- m_visualTip = new QGraphicsEllipseItem(item->rect().x() + item->rect().width() - item->fadeOut() * m_scale - size, item->rect().y() - 8, size*2, 16);
- ((QGraphicsEllipseItem*) m_visualTip)->setBrush(m_tipColor);
- ((QGraphicsEllipseItem*) m_visualTip)->setPen(m_tipPen);
- m_visualTip->setZValue(100);
- m_animation = new QGraphicsItemAnimation;
- m_animation->setItem(m_visualTip);
- m_animation->setTimeLine(m_animationTimer);
- m_visualTip->setPos(0, 0);
- double scale = 2.0;
- m_animation->setScaleAt(.5, scale, scale);
- m_animation->setPosAt(.5, QPointF(item->rect().x() - item->rect().x() * scale - item->rect().width() + item->fadeOut() * m_scale, item->rect().y() - item->rect().y() * scale));
- scale = 1.0;
- m_animation->setScaleAt(1, scale, scale);
- m_animation->setPosAt(1, QPointF(item->rect().x() - item->rect().x() * scale, item->rect().y() - item->rect().y() * scale));
- scene()->addItem(m_visualTip);
- m_animationTimer->start();
- }
- setCursor(Qt::PointingHandCursor);
- } else if (opMode == TRANSITIONSTART) {
- if (m_visualTip == NULL) {
- m_visualTip = new QGraphicsEllipseItem(-5, -5 , 10, 10);
- ((QGraphicsEllipseItem*) m_visualTip)->setBrush(m_tipColor);
- ((QGraphicsEllipseItem*) m_visualTip)->setPen(m_tipPen);
- m_visualTip->setZValue(100);
- m_animation = new QGraphicsItemAnimation;
- m_animation->setItem(m_visualTip);
- m_animation->setTimeLine(m_animationTimer);
- m_visualTip->setPos(clip->rect().x() + 10, clip->rect().y() + clip->rect().height() / 2 + 12);
- double scale = 2.0;
- m_animation->setScaleAt(.5, scale, scale);
- scale = 1.0;
- m_animation->setScaleAt(1, scale, scale);
- scene()->addItem(m_visualTip);
- m_animationTimer->start();
- }
- setCursor(Qt::PointingHandCursor);
- } else if (opMode == TRANSITIONEND) {
- if (m_visualTip == NULL) {
- m_visualTip = new QGraphicsEllipseItem(-5, -5 , 10, 10);
- ((QGraphicsEllipseItem*) m_visualTip)->setBrush(m_tipColor);
- ((QGraphicsEllipseItem*) m_visualTip)->setPen(m_tipPen);
- m_visualTip->setZValue(100);
- m_animation = new QGraphicsItemAnimation;
- m_animation->setItem(m_visualTip);
- m_animation->setTimeLine(m_animationTimer);
- m_visualTip->setPos(clip->rect().x() + clip->rect().width() - 10 , clip->rect().y() + clip->rect().height() / 2 + 12);
- double scale = 2.0;
- m_animation->setScaleAt(.5, scale, scale);
- scale = 1.0;
- m_animation->setScaleAt(1, scale, scale);
- scene()->addItem(m_visualTip);
- m_animationTimer->start();
- }
- setCursor(Qt::PointingHandCursor);
- }
- } else if (opMode == MOVEGUIDE) {
- m_moveOpMode = opMode;
- setCursor(Qt::SplitHCursor);