From 6eade26bc8e7b83e6f1cf9658209118c121bcbe7 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Thu, 19 Nov 2020 17:50:42 +1100 Subject: [PATCH] timeline: force update after timeline actions This is actually relatively efficient since Qt will ignore multiple update requests leading up to an update and only update once. Fixes #1374 --- app/widget/timelinewidget/timelinewidget.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/widget/timelinewidget/timelinewidget.cpp b/app/widget/timelinewidget/timelinewidget.cpp index a574f7a0c..efe18c50f 100644 --- a/app/widget/timelinewidget/timelinewidget.cpp +++ b/app/widget/timelinewidget/timelinewidget.cpp @@ -813,11 +813,13 @@ void TimelineWidget::ViewMousePressed(TimelineViewMouseEvent *event) if (GetConnectedNode() && active_tool_ != nullptr) { active_tool_->MousePress(event); + UpdateViewports(); } if (event->GetButton() != Qt::LeftButton) { // Suspend tool immediately if the cursor isn't the primary button active_tool_->MouseRelease(event); + UpdateViewports(); active_tool_ = nullptr; } } @@ -827,12 +829,14 @@ void TimelineWidget::ViewMouseMoved(TimelineViewMouseEvent *event) if (GetConnectedNode()) { if (active_tool_) { active_tool_->MouseMove(event); + UpdateViewports(); } else { // Mouse is not down, attempt a hover event TimelineTool* hover_tool = GetActiveTool(); if (hover_tool) { hover_tool->HoverMove(event); + UpdateViewports(); } } } @@ -842,6 +846,7 @@ void TimelineWidget::ViewMouseReleased(TimelineViewMouseEvent *event) { if (GetConnectedNode() && active_tool_ != nullptr) { active_tool_->MouseRelease(event); + UpdateViewports(); active_tool_ = nullptr; } } @@ -850,27 +855,32 @@ void TimelineWidget::ViewMouseDoubleClicked(TimelineViewMouseEvent *event) { if (GetConnectedNode()) { GetActiveTool()->MouseDoubleClick(event); + UpdateViewports(); } } void TimelineWidget::ViewDragEntered(TimelineViewMouseEvent *event) { import_tool_->DragEnter(event); + UpdateViewports(); } void TimelineWidget::ViewDragMoved(TimelineViewMouseEvent *event) { import_tool_->DragMove(event); + UpdateViewports(); } void TimelineWidget::ViewDragLeft(QDragLeaveEvent *event) { import_tool_->DragLeave(event); + UpdateViewports(); } void TimelineWidget::ViewDragDropped(TimelineViewMouseEvent *event) { import_tool_->DragDrop(event); + UpdateViewports(); } void TimelineWidget::AddBlock(Block *block, TrackReference track)