while (!m_dragGuide && ct < collisionList.count()) {
if (collisionList.at(ct)->type() == AVWIDGET || collisionList.at(ct)->type() == TRANSITIONWIDGET) {
collisionClip = static_cast <AbstractClipItem *>(collisionList.at(ct));
- if (collisionClip->isItemLocked() || !collisionClip->isEnabled())
+ if (collisionClip->isItemLocked() || !collisionClip->isEnabled()) {
+ ct++;
continue;
+ }
if (collisionClip == m_dragItem) {
collisionClip = NULL;
}
if (m_dragItem) emit clipItemSelected(NULL);
m_dragItem = NULL;
}
+
#if QT_VERSION >= 0x040800
// Add shadow to dragged item, currently disabled because of painting artifacts
/*if (m_dragItem) {
m_dragItem->setGraphicsEffect(eff);
}*/
#endif
- if (m_dragItem && m_dragItem->type() == TRANSITIONWIDGET) {
+ if (m_dragItem && m_dragItem->type() == TRANSITIONWIDGET && m_dragItem->isEnabled()) {
// update transition menu action
m_autoTransition->setChecked(static_cast<Transition *>(m_dragItem)->isAutomatic());
m_autoTransition->setEnabled(true);
- } else m_autoTransition->setEnabled(false);
-
+ // A transition is selected
+ QPoint p;
+ ClipItem *transitionClip = getClipItemAt(m_dragItemInfo.startPos, m_dragItemInfo.track);
+ if (transitionClip && transitionClip->baseClip()) {
+ QString size = transitionClip->baseClip()->getProperty("frame_size");
+ double factor = transitionClip->baseClip()->getProperty("aspect_ratio").toDouble();
+ if (factor == 0) factor = 1.0;
+ p.setX((int)(size.section('x', 0, 0).toInt() * factor + 0.5));
+ p.setY(size.section('x', 1, 1).toInt());
+ }
+ emit transitionItemSelected(static_cast <Transition *>(m_dragItem), getPreviousVideoTrack(m_dragItem->track()), p);
+ } else {
+ emit transitionItemSelected(NULL);
+ m_autoTransition->setEnabled(false);
+ }
// context menu requested
if (event->button() == Qt::RightButton) {
if (!m_dragItem && !m_dragGuide) {
resetSelectionGroup(false);
m_dragItem->setSelected(true);
}
-
m_blockRefresh = false;
}
updateEffect(m_document->tracksCount() - item->track(), item->startPos(), item->selectedEffect());
emit clipItemSelected(item);
}
- if (m_dragItem && m_dragItem->type() == TRANSITIONWIDGET && m_dragItem->isSelected() && m_dragItem->isEnabled()) {
- // A transition is selected
- QPoint p;
- ClipItem *transitionClip = getClipItemAt(m_dragItemInfo.startPos, m_dragItemInfo.track);
- if (transitionClip && transitionClip->baseClip()) {
- QString size = transitionClip->baseClip()->getProperty("frame_size");
- double factor = transitionClip->baseClip()->getProperty("aspect_ratio").toDouble();
- if (factor == 0) factor = 1.0;
- p.setX((int)(size.section('x', 0, 0).toInt() * factor + 0.5));
- p.setY(size.section('x', 1, 1).toInt());
- }
- emit transitionItemSelected(static_cast <Transition *>(m_dragItem), getPreviousVideoTrack(m_dragItem->track()), p);
- } else emit transitionItemSelected(NULL);
if (m_operationMode != NONE && m_operationMode != MOVE) setDocumentModified();
m_operationMode = NONE;
}