diff --git a/app/playlists.py b/app/playlists.py index 064dde6..fe5c574 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -775,14 +775,29 @@ class PlaylistTab(QTableView): if row_count < 1: return + # Don't delete current or next tracks + selected_row_numbers = self.selected_model_row_numbers() + for ts in [ + track_sequence.next, + track_sequence.current, + ]: + if ts: + if ( + ts.playlist_id == self.playlist_id + and ts.row_number in selected_row_numbers + ): + self.musicmuster.show_warning( + "Delete not allowed", "Can't delete current or next track" + ) + return + # Get confirmation plural = "s" if row_count > 1 else "" if not ask_yes_no("Delete rows", f"Really delete {row_count} row{plural}?"): return base_model = self.get_base_model() - - base_model.delete_rows(self.selected_model_row_numbers()) + base_model.delete_rows(selected_row_numbers) self.clear_selection() def get_base_model(self) -> PlaylistModel: