{
#if QT_VERSION >= 0x040600
if (m_closeAnimation) return;
- m_closeAnimation = new QPropertyAnimation(this, "geometry");
+ setEnabled(false);
+ m_closeAnimation = new QPropertyAnimation(this, "rect");
connect(m_closeAnimation, SIGNAL(finished()), this, SLOT(deleteLater()));
m_closeAnimation->setDuration(200);
QRectF r = rect();
if (durationDiff > GenTime()) {
QList <QGraphicsItem *> collisionList = collidingItems(Qt::IntersectsItemBoundingRect);
for (int i = 0; i < collisionList.size(); ++i) {
+ if (!collisionList.at(i)->isEnabled()) continue;
QGraphicsItem *item = collisionList.at(i);
if (item->type() == type() && item->pos().x() > pos().x()) {
kDebug() << "///////// COLLISION DETECTED!!!!!!!!!";
int offset = 0;
if (!items.isEmpty()) {
for (int i = 0; i < items.count(); i++) {
+ if (!items.at(i)->isEnabled()) continue;
if (items.at(i)->type() == type()) {
// Collision!
QPointF otherPos = items.at(i)->pos();
QList<QGraphicsItem*> subitems = scene()->items(sceneShape, Qt::IntersectsItemShape);
subitems.removeAll(this);
for (int j = 0; j < subitems.count(); j++) {
+ if (!subitems.at(j)->isEnabled()) continue;
if (subitems.at(j)->type() == type()) {
// move was not successful, revert to previous pos
m_info.startPos = GenTime((int) pos().x(), m_fps);
QList<QGraphicsItem *> selection = m_scene->items(rect);
if (item) selection.removeAll(item);
for (int i = 0; i < selection.count(); i++) {
+ if (!selection.at(i)->isEnabled()) continue;
if (selection.at(i)->type() == AVWIDGET) {
ClipItem *clip = static_cast<ClipItem *>(selection.at(i));
if (clip->startPos() < info.startPos) {
QList<QGraphicsItem *> selection = m_scene->items(rect);
selection.removeAll(item);
for (int i = 0; i < selection.count(); i++) {
+ if (!selection.at(i)->isEnabled()) continue;
if (selection.at(i)->type() == TRANSITIONWIDGET) {
Transition *tr = static_cast<Transition *>(selection.at(i));
if (tr->startPos() < info.startPos) {
if (m_dragItem == item) m_dragItem = NULL;
#if QT_VERSION >= 0x040600
// animate item deletion
- if (refresh) item->closeAnimation();
+ item->closeAnimation();
+ /*if (refresh) item->closeAnimation();
else {
// no refresh, means we have several operations chained, we need to delete clip immediatly
// so that it does not get in the way of the other
delete item;
item = NULL;
- }
+ }*/
#else
delete item;
item = NULL;
QList<QGraphicsItem *> list = scene()->items(QPointF(framepos - 1, track * m_tracksHeight + m_tracksHeight / 2));
ClipItem *clip = NULL;
for (int i = 0; i < list.size(); i++) {
+ if (!list.at(i)->isEnabled()) continue;
if (list.at(i)->type() == AVWIDGET) {
ClipItem *test = static_cast <ClipItem *>(list.at(i));
if (test->endPos() == pos) clip = test;
QList<QGraphicsItem *> list = scene()->items(QPointF(pos.frames(m_document->fps()), track * m_tracksHeight + m_tracksHeight / 2));
ClipItem *clip = NULL;
for (int i = 0; i < list.size(); i++) {
+ if (!list.at(i)->isEnabled()) continue;
if (list.at(i)->type() == AVWIDGET) {
ClipItem *test = static_cast <ClipItem *>(list.at(i));
if (test->startPos() == pos) clip = test;
QList<QGraphicsItem *> list = scene()->items(p);
ClipItem *clip = NULL;
for (int i = 0; i < list.size(); i++) {
+ if (!list.at(i)->isEnabled()) continue;
if (list.at(i)->type() == AVWIDGET) {
clip = static_cast <ClipItem *>(list.at(i));
break;
QList<QGraphicsItem *> list = scene()->items(p);
Transition *clip = NULL;
for (int i = 0; i < list.size(); i++) {
+ if (!list.at(i)->isEnabled()) continue;
if (list.at(i)->type() == TRANSITIONWIDGET) {
clip = static_cast <Transition *>(list.at(i));
break;
QList<QGraphicsItem *> list = scene()->items(p);
Transition *clip = NULL;
for (int i = 0; i < list.size(); i++) {
+ if (!list.at(i)->isEnabled()) continue;
if (list.at(i)->type() == TRANSITIONWIDGET) {
Transition *test = static_cast <Transition *>(list.at(i));
if (test->endPos() == pos) clip = test;
QList<QGraphicsItem *> list = scene()->items(p);
Transition *clip = NULL;
for (int i = 0; i < list.size(); ++i) {
+ if (!list.at(i)->isEnabled()) continue;
if (list.at(i)->type() == TRANSITIONWIDGET) {
Transition *test = static_cast <Transition *>(list.at(i));
if (test->startPos() == pos) clip = test;