From eae02ac28b9f3e8c4e4524590fa92616a1519e7e Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Fri, 18 Nov 2022 10:35:51 -0800 Subject: [PATCH] prioritize dragging markers over workarea --- app/widget/timeruler/seekablewidget.cpp | 6 +++--- app/widget/timeruler/timeruler.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/widget/timeruler/seekablewidget.cpp b/app/widget/timeruler/seekablewidget.cpp index dbe67fa51..54085042f 100644 --- a/app/widget/timeruler/seekablewidget.cpp +++ b/app/widget/timeruler/seekablewidget.cpp @@ -181,6 +181,8 @@ void SeekableWidget::mousePressEvent(QMouseEvent *event) return; } else if (event->modifiers() & Qt::ControlModifier) { selection_manager_.RubberBandStart(event); + } else if (marker_editing_enabled_ && (initial = selection_manager_.MousePress(event))) { + selection_manager_.DragStart(initial, event); } else if (resize_item_) { // Handle selection, even though we won't be using it for dragging if (!(event->modifiers() & Qt::ShiftModifier)) { @@ -191,8 +193,6 @@ void SeekableWidget::mousePressEvent(QMouseEvent *event) } dragging_ = true; resize_start_ = mapToScene(event->pos()); - } else if (marker_editing_enabled_ && (initial = selection_manager_.MousePress(event))) { - selection_manager_.DragStart(initial, event); } else if (!selection_manager_.GetObjectAtPoint(event->pos()) && event->button() == Qt::LeftButton) { SeekToScenePoint(mapToScene(event->pos()).x()); dragging_ = true; @@ -219,7 +219,7 @@ void SeekableWidget::mouseMoveEvent(QMouseEvent *event) } } else { // Look for resize points - if (FindResizeHandle(event)) { + if (!selection_manager_.GetObjectAtPoint(event->pos()) && FindResizeHandle(event)) { setCursor(Qt::SizeHorCursor); } else { unsetCursor(); diff --git a/app/widget/timeruler/timeruler.cpp b/app/widget/timeruler/timeruler.cpp index 603706a82..3d3a00808 100644 --- a/app/widget/timeruler/timeruler.cpp +++ b/app/widget/timeruler/timeruler.cpp @@ -102,8 +102,8 @@ void TimeRuler::drawForeground(QPainter *p, const QRectF &rect) // Draw timeline points if connected int marker_height = TimelineMarker::GetMarkerHeight(p->fontMetrics()); - DrawMarkers(p, marker_height); DrawWorkArea(p); + DrawMarkers(p, marker_height); double width_of_frame = timebase_dbl() * GetScale(); double width_of_second = 0;