track: store height in "units" rather than pixels

Fixes DPI scalability issue if a project ever moved from a display with
one DPI to another.
This commit is contained in:
itsmattkc
2020-08-22 00:23:46 +10:00
parent 48ac8ea509
commit f0928814fc
8 changed files with 63 additions and 42 deletions
@@ -84,7 +84,9 @@ void TrackView::ConnectTrackList(TrackList *list)
foreach (TrackOutput* track, list_->GetTracks()) {
TrackViewItem* item = new TrackViewItem(track);
items_.append(item);
splitter_->Insert(track->Index(), track->GetTrackHeight(), item);
splitter_->Insert(track->Index(),
track->GetTrackHeightInPixels(),
item);
}
connect(list_, &TrackList::TrackHeightChanged, splitter_, &TrackViewSplitter::SetTrackHeight);
@@ -120,12 +122,14 @@ void TrackView::ScrollbarRangeChanged(int, int max)
void TrackView::TrackHeightChanged(int index, int height)
{
list_->GetTrackAt(index)->SetTrackHeight(height);
list_->GetTrackAt(index)->SetTrackHeightInPixels(height);
}
void TrackView::InsertTrack(TrackOutput *track)
{
splitter_->Insert(track->Index(), track->GetTrackHeight(), new TrackViewItem(track));
splitter_->Insert(track->Index(),
track->GetTrackHeightInPixels(),
new TrackViewItem(track));
}
void TrackView::RemoveTrack(TrackOutput *track)