From 78647884d64168d1cfcfd961fe0f7c5f28c1bd12 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Sat, 20 Nov 2021 17:12:52 -0500 Subject: [PATCH] playlist: Change tracks when rows are activated And make sure we update plist.current to the selected index. Signed-off-by: Anna Schumaker --- playlist/view.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/playlist/view.py b/playlist/view.py index 5b0fd39..acb7171 100644 --- a/playlist/view.py +++ b/playlist/view.py @@ -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)