diff --git a/app/widget/nodeparamview/nodeparamview.cpp b/app/widget/nodeparamview/nodeparamview.cpp index 251e37074..2aba90ed7 100644 --- a/app/widget/nodeparamview/nodeparamview.cpp +++ b/app/widget/nodeparamview/nodeparamview.cpp @@ -155,11 +155,6 @@ NodeParamView::NodeParamView(bool create_keyframe_view, QWidget *parent) : &QApplication::focusChanged, this, &NodeParamView::FocusChanged); - - ctx_update_timer_ = new QTimer(this); - ctx_update_timer_->setInterval(1); - ctx_update_timer_->setSingleShot(true); - connect(ctx_update_timer_, &QTimer::timeout, this, &NodeParamView::UpdateContexts); } NodeParamView::~NodeParamView() @@ -298,8 +293,7 @@ void NodeParamView::SetContexts(const QVector &contexts) { // Setting contexts is expensive, so we queue it here to prevent multiple calls in a short timespan contexts_ = contexts; - ctx_update_timer_->stop(); - ctx_update_timer_->start(); + UpdateContexts(); } void NodeParamView::resizeEvent(QResizeEvent *event) diff --git a/app/widget/nodeparamview/nodeparamview.h b/app/widget/nodeparamview/nodeparamview.h index bbb5603c4..9a9207cb7 100644 --- a/app/widget/nodeparamview/nodeparamview.h +++ b/app/widget/nodeparamview/nodeparamview.h @@ -135,8 +135,6 @@ private: QVector contexts_; QVector current_contexts_; - QTimer *ctx_update_timer_; - private slots: void UpdateGlobalScrollBar(); diff --git a/app/widget/timelinewidget/timelinewidget.cpp b/app/widget/timelinewidget/timelinewidget.cpp index 39850defc..07c3fe52c 100644 --- a/app/widget/timelinewidget/timelinewidget.cpp +++ b/app/widget/timelinewidget/timelinewidget.cpp @@ -185,6 +185,14 @@ TimelineWidget::TimelineWidget(QWidget *parent) : connect(Core::instance(), &Core::ToolChanged, this, &TimelineWidget::ToolChanged); connect(Core::instance(), &Core::AddableObjectChanged, this, &TimelineWidget::AddableObjectChanged); + + signal_block_change_timer_ = new QTimer(this); + signal_block_change_timer_->setInterval(1); + signal_block_change_timer_->setSingleShot(true); + connect(signal_block_change_timer_, &QTimer::timeout, this, [this]{ + signal_block_change_timer_->stop(); + emit BlockSelectionChanged(selected_blocks_); + }); } TimelineWidget::~TimelineWidget() @@ -1163,7 +1171,8 @@ void TimelineWidget::SetScrollZoomsByDefaultOnAllViews(bool e) void TimelineWidget::SignalBlockSelectionChange() { - emit BlockSelectionChanged(selected_blocks_); + signal_block_change_timer_->stop(); + signal_block_change_timer_->start(); } void TimelineWidget::AddGhost(TimelineViewGhostItem *ghost) @@ -1336,7 +1345,7 @@ void TimelineWidget::SignalSelectedBlocks(QVector input, bool filter) selected_blocks_.append(input); - emit SignalBlockSelectionChange(); + SignalBlockSelectionChange(); } void TimelineWidget::SignalDeselectedBlocks(const QVector &deselected_blocks) @@ -1349,7 +1358,7 @@ void TimelineWidget::SignalDeselectedBlocks(const QVector &deselected_b selected_blocks_.removeOne(b); } - emit SignalBlockSelectionChange(); + SignalBlockSelectionChange(); } void TimelineWidget::SignalDeselectedAllBlocks() diff --git a/app/widget/timelinewidget/timelinewidget.h b/app/widget/timelinewidget/timelinewidget.h index f746b545b..a79195252 100644 --- a/app/widget/timelinewidget/timelinewidget.h +++ b/app/widget/timelinewidget/timelinewidget.h @@ -322,6 +322,8 @@ private: MultiUndoCommand *subtitle_show_command_; + QTimer *signal_block_change_timer_; + class SetSplitterSizesCommand : public UndoCommand { public: