double snappedPos = getSnapPointForPos(mappedXPos);
emit mousePosition(mappedXPos);
+ if (m_operationMode == SCROLLTIMELINE) {
+ QGraphicsView::mouseMoveEvent(event);
+ return;
+ }
+
if (event->buttons() & Qt::MidButton) return;
if (dragMode() == QGraphicsView::RubberBandDrag || (event->modifiers() == Qt::ControlModifier && m_tool != SPACERTOOL && m_operationMode != RESIZESTART && m_operationMode != RESIZEEND)) {
event->setAccepted(true);
if (event->modifiers() == Qt::ControlModifier && m_tool != SPACERTOOL && collisionList.count() == 0) {
// Pressing Ctrl + left mouse button in an empty area scrolls the timeline
setDragMode(QGraphicsView::ScrollHandDrag);
- QGraphicsView::mousePressEvent(event);
m_blockRefresh = false;
- m_operationMode = NONE;
+ m_operationMode = SCROLLTIMELINE;
+ QGraphicsView::mousePressEvent(event);
return;
}
void CustomTrackView::mouseReleaseEvent(QMouseEvent * event)
{
if (m_moveOpMode == SEEK) m_moveOpMode = NONE;
+ if (m_moveOpMode == SCROLLTIMELINE) {
+ m_moveOpMode = NONE;
+ setDragMode(QGraphicsView::NoDrag);
+ QGraphicsView::mouseReleaseEvent(event);
+ return;
+ }
if (!m_controlModifier && m_operationMode != RUBBERSELECTION) {
//event->accept();
+ setDragMode(QGraphicsView::NoDrag);
if (m_clipDrag) QGraphicsView::mouseReleaseEvent(event);
}
m_clipDrag = false;
void CustomTrackView::slotSelectAllClips()
{
- QList<QGraphicsItem *> selection = m_scene->items();
m_scene->clearSelection();
resetSelectionGroup();
- groupSelectedItems(selection);
+ QList<QGraphicsItem *> selection = m_scene->items();
+ for (int i = 0; i < selection.count(); i++) {
+ int type = selection.at(i)->type();
+ if (type == AVWIDGET || type == TRANSITIONWIDGET || type == GROUPWIDGET) {
+ selection.at(i)->setSelected(true);
+ }
+ }
+ groupSelectedItems();
}
void CustomTrackView::selectClip(bool add, bool group, int track, int pos)
const QString stopmotionMonitor("stopmotionMonitor");*/
}
-enum OPERATIONTYPE { NONE = 0, MOVE = 1, RESIZESTART = 2, RESIZEEND = 3, FADEIN = 4, FADEOUT = 5, TRANSITIONSTART = 6, TRANSITIONEND = 7, MOVEGUIDE = 8, KEYFRAME = 9, SEEK = 10, SPACER = 11, RUBBERSELECTION = 12};
+enum OPERATIONTYPE { NONE = 0, MOVE = 1, RESIZESTART = 2, RESIZEEND = 3, FADEIN = 4, FADEOUT = 5, TRANSITIONSTART = 6, TRANSITIONEND = 7, MOVEGUIDE = 8, KEYFRAME = 9, SEEK = 10, SPACER = 11, RUBBERSELECTION = 12, SCROLLTIMELINE = 13};
enum CLIPTYPE { UNKNOWN = 0, AUDIO = 1, VIDEO = 2, AV = 3, COLOR = 4, IMAGE = 5, TEXT = 6, SLIDESHOW = 7, VIRTUAL = 8, PLAYLIST = 9 };
enum PROJECTITEMTYPE { PROJECTCLIPTYPE = QTreeWidgetItem::UserType, PROJECTFOLDERTYPE, PROJECTSUBCLIPTYPE };