From 551a574eac04d740edb7cf32a89f3e73b7966a33 Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Thu, 23 Nov 2023 04:44:36 +0000 Subject: [PATCH] WIP V3: move unplayed rows --- app/musicmuster.py | 11 ++++------- app/playlistmodel.py | 13 ++++++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/musicmuster.py b/app/musicmuster.py index 13eea0f..21393ed 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -973,13 +973,10 @@ class Window(QMainWindow, Ui_MainWindow): Move unplayed rows to another playlist """ - playlist_id = self.active_tab().playlist_id - with Session() as session: - unplayed_plrs = PlaylistRows.get_unplayed_rows(session, playlist_id) - if helpers.ask_yes_no( - "Move tracks", f"Move {len(unplayed_plrs)} tracks:" " Are you sure?" - ): - self.move_playlist_rows(session, unplayed_plrs) + unplayed_rows = self.active_model().get_unplayed_rows() + if not unplayed_rows: + return + self.move_playlist_rows(unplayed_rows) def new_from_template(self) -> None: """Create new playlist from template""" diff --git a/app/playlistmodel.py b/app/playlistmodel.py index 79b4bae..89150e6 100644 --- a/app/playlistmodel.py +++ b/app/playlistmodel.py @@ -297,11 +297,7 @@ class PlaylistModel(QAbstractTableModel): # Find next track # Get all unplayed track rows next_row = None - unplayed_rows = [ - a.plr_rownum - for a in PlaylistRows.get_unplayed_rows(session, self.playlist_id) - ] - + unplayed_rows = self.get_unplayed_rows() if unplayed_rows: try: # Find next row after current track @@ -542,6 +538,13 @@ class PlaylistModel(QAbstractTableModel): return self.playlist_rows[row_number] + def get_unplayed_rows(self) -> List[int]: + """ + Return a list of unplayed row numbers + """ + + return [a.plr_rownum for a in self.playlist_rows.values() if not a.played] + def headerData( self, section: int,