diff --git a/emmental/tracklist/trackview.py b/emmental/tracklist/trackview.py index 81aa37e..5cca588 100644 --- a/emmental/tracklist/trackview.py +++ b/emmental/tracklist/trackview.py @@ -81,13 +81,9 @@ class TrackView(Gtk.ScrolledWindow): def scroll_to_track(self, track: db.tracks.Track) -> None: """Scroll to the requested Track.""" - # This is a workaround until the ColumnView has better scrolling - # support, which seems to be targeted for Gtk 4.10. - adjustment = self._scrollwin.get_vadjustment() - for (i, t) in enumerate(self._selection): - if t == track: - pos = max(i - 3, 0) * adjustment.get_upper() - adjustment.set_value(pos / self._selection.get_n_items()) + for i in range(self._selection.props.n_items): + if self._selection[i] == track: + self._columnview.scroll_to(i, None, Gtk.ListScrollFlags.NONE) @GObject.Property(type=Gio.ListModel) def columns(self) -> Gio.ListModel: