diff --git a/app/playlistmodel.py b/app/playlistmodel.py index 46eb5e4..c35e028 100644 --- a/app/playlistmodel.py +++ b/app/playlistmodel.py @@ -1426,6 +1426,14 @@ class PlaylistModel(QAbstractTableModel): return True + def set_selected_rows(self, selected_rows: list[int]) -> None: + """ + Keep track of which rows are selected in the view + """ + + self.selected_rows = [self.playlist_rows[a] for a in selected_rows] + import pdb; pdb.set_trace() + def set_next_row(self, row_number: Optional[int]) -> None: """ Set row_number as next track. If row_number is None, clear next track. diff --git a/app/playlists.py b/app/playlists.py index 67c4db9..321c383 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -456,11 +456,14 @@ class PlaylistTab(QTableView): self, selected: QItemSelection, deselected: QItemSelection ) -> None: """ + Tell model which rows are selected. + Toggle drag behaviour according to whether rows are selected """ selected_rows = self.get_selected_rows() self.musicmuster.current.selected_rows = selected_rows + self.get_base_model().set_selected_rows(selected_rows) # If no rows are selected, we have nothing to do if len(selected_rows) == 0: