Merge branch 'master' into move-serialization
This commit is contained in:
@@ -206,7 +206,7 @@ void SeekableWidget::mouseMoveEvent(QMouseEvent *event)
|
||||
if (HandMove(event)) {
|
||||
return;
|
||||
} else if (selection_manager_.IsRubberBanding()) {
|
||||
selection_manager_.RubberBandMove(event);
|
||||
selection_manager_.RubberBandMove(event->pos());
|
||||
viewport()->update();
|
||||
} else if (selection_manager_.IsDragging()) {
|
||||
selection_manager_.DragMove(event);
|
||||
@@ -228,6 +228,11 @@ void SeekableWidget::mouseMoveEvent(QMouseEvent *event)
|
||||
ClearResizeHandle();
|
||||
}
|
||||
}
|
||||
|
||||
if (event->buttons()) {
|
||||
// Signal cursor pos in case we should scroll to catch up to it
|
||||
emit DragMoved(event->pos().x(), event->pos().y());
|
||||
}
|
||||
}
|
||||
|
||||
void SeekableWidget::mouseReleaseEvent(QMouseEvent *event)
|
||||
@@ -413,6 +418,15 @@ void SeekableWidget::SelectionManagerDeselectEvent(void *obj)
|
||||
viewport()->update();
|
||||
}
|
||||
|
||||
void SeekableWidget::CatchUpScrollEvent()
|
||||
{
|
||||
super::CatchUpScrollEvent();
|
||||
|
||||
if (this->selection_manager_.IsRubberBanding()) {
|
||||
this->selection_manager_.RubberBandMove(this->viewport()->mapFromGlobal(QCursor::pos()));
|
||||
}
|
||||
}
|
||||
|
||||
void SeekableWidget::DrawPlayhead(QPainter *p, int x, int y)
|
||||
{
|
||||
int half_width = playhead_width_ / 2;
|
||||
|
||||
@@ -77,6 +77,8 @@ public:
|
||||
virtual void SelectionManagerSelectEvent(void *obj) override;
|
||||
virtual void SelectionManagerDeselectEvent(void *obj) override;
|
||||
|
||||
virtual void CatchUpScrollEvent() override;
|
||||
|
||||
public slots:
|
||||
void SetScroll(int i)
|
||||
{
|
||||
@@ -86,6 +88,8 @@ public slots:
|
||||
virtual void TimebaseChangedEvent(const rational &) override;
|
||||
|
||||
signals:
|
||||
void DragMoved(int x, int y);
|
||||
|
||||
void DragReleased();
|
||||
|
||||
protected:
|
||||
|
||||
Reference in New Issue
Block a user