playlist: Change tracks when rows are activated
And make sure we update plist.current to the selected index. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
594f7991f2
commit
78647884d6
|
@ -1,4 +1,5 @@
|
|||
# Copyright 2021 (c) Anna Schumaker.
|
||||
import audio
|
||||
from gi.repository import Gtk
|
||||
from . import column
|
||||
from . import model
|
||||
|
@ -12,6 +13,7 @@ class PlaylistView(Gtk.ColumnView):
|
|||
self.set_enable_rubberband(True)
|
||||
self.set_hexpand(True)
|
||||
self.set_vexpand(True)
|
||||
self.connect("activate", self.activated)
|
||||
|
||||
self.append_column(column.TracknoColumn())
|
||||
self.append_column(column.TitleColumn())
|
||||
|
@ -23,6 +25,13 @@ class PlaylistView(Gtk.ColumnView):
|
|||
self.append_column(column.PlayCountColumn())
|
||||
self.append_column(column.LastPlayedColumn())
|
||||
|
||||
def activated(self, view, position):
|
||||
track = self.get_model().get_item(position)
|
||||
if audio.play_track(track):
|
||||
plist = self.get_playlist()
|
||||
if index := plist.get_track_index(track):
|
||||
plist.current = index
|
||||
|
||||
def get_filter_model(self): return self.get_model().get_filter_model()
|
||||
def get_playlist(self): return self.get_model().get_playlist()
|
||||
def set_playlist(self, plist): self.get_model().set_playlist(plist)
|
||||
|
|
Loading…
Reference in New Issue