Keep track of selected rows in model

This commit is contained in:
Keith Edmunds 2025-03-14 13:22:12 +00:00
parent 9e07e73167
commit b520178e3a
2 changed files with 11 additions and 0 deletions

View File

@ -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.

View File

@ -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: