From c34066952f5093870e465ef903845ee824572148 Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Tue, 28 Jun 2022 09:39:08 -0700 Subject: [PATCH] timelineview: update rect on height change Fixes #1950 --- app/node/output/track/tracklist.cpp | 3 +++ app/node/output/track/tracklist.h | 2 ++ app/widget/timelinewidget/view/timelineview.cpp | 2 ++ 3 files changed, 7 insertions(+) diff --git a/app/node/output/track/tracklist.cpp b/app/node/output/track/tracklist.cpp index bd8b7e813..3149d973b 100644 --- a/app/node/output/track/tracklist.cpp +++ b/app/node/output/track/tracklist.cpp @@ -81,6 +81,9 @@ void TrackList::TrackConnected(Node *node, int element) UpdateTrackIndexesFrom(cache_index); connect(track, &Track::TrackLengthChanged, this, &TrackList::UpdateTotalLength); + connect(track, &Track::TrackHeightChangedInPixels, this, [this](int height){ + emit TrackHeightChanged(static_cast(sender()), height); + }); track->set_type(type_); track->set_sequence(parent()); diff --git a/app/node/output/track/tracklist.h b/app/node/output/track/tracklist.h index 6096d0858..bfa76a30e 100644 --- a/app/node/output/track/tracklist.h +++ b/app/node/output/track/tracklist.h @@ -101,6 +101,8 @@ signals: void TrackRemoved(Track* track); + void TrackHeightChanged(Track *track, int height); + private: void UpdateTrackIndexesFrom(int index); diff --git a/app/widget/timelinewidget/view/timelineview.cpp b/app/widget/timelinewidget/view/timelineview.cpp index 7c76ba37a..35b40259e 100644 --- a/app/widget/timelinewidget/view/timelineview.cpp +++ b/app/widget/timelinewidget/view/timelineview.cpp @@ -707,12 +707,14 @@ void TimelineView::ConnectTrackList(TrackList *list) { if (connected_track_list_) { disconnect(connected_track_list_, &TrackList::TrackListChanged, this, &TimelineView::TrackListChanged); + disconnect(connected_track_list_, &TrackList::TrackHeightChanged, this, &TimelineView::TrackListChanged); } connected_track_list_ = list; if (connected_track_list_) { connect(connected_track_list_, &TrackList::TrackListChanged, this, &TimelineView::TrackListChanged); + connect(connected_track_list_, &TrackList::TrackHeightChanged, this, &TimelineView::TrackListChanged); } }