playlist: Scroll to the current track if "new" isn't on the playlist
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
580358a88e
commit
845de3957b
|
@ -42,15 +42,20 @@ class PlaylistView(Gtk.ColumnView):
|
|||
def clear_selection(self):
|
||||
self.get_model().unselect_all()
|
||||
|
||||
def track_changed(self, player, old, new):
|
||||
def scroll_to(self, track):
|
||||
selection = self.get_model()
|
||||
adjustment = self.get_vadjustment()
|
||||
for i in range(selection.get_n_items()):
|
||||
if selection.get_item(i) == new:
|
||||
if selection.get_item(i) == track:
|
||||
selection.select_item(i, True)
|
||||
pos = max(i - 5, 0) * adjustment.get_upper()
|
||||
adjustment.set_value(pos / selection.get_n_items())
|
||||
return
|
||||
return True
|
||||
return False
|
||||
|
||||
def track_changed(self, player, old, new):
|
||||
if not self.scroll_to(new):
|
||||
self.scroll_to(self.get_playlist().get_current_track())
|
||||
|
||||
def get_filter_model(self): return self.get_model().get_filter_model()
|
||||
def get_playlist(self): return self.get_model().get_playlist()
|
||||
|
|
Loading…
Reference in New Issue