Compare commits

..

2 Commits

Author SHA1 Message Date
Keith Edmunds
2932f32771 Highlight releasing player
Work on #223
2024-02-23 12:27:50 +00:00
Keith Edmunds
0e2c8c6056 Fix delete rows bug
Fixes #225
2024-02-23 12:26:42 +00:00

View File

@ -363,12 +363,15 @@ class PlaylistModel(QAbstractTableModel):
Need to delete them in contiguous groups wrapped in beginRemoveRows / endRemoveRows
calls. To keep it simple, if inefficient, delete rows one by one.
TODO: delete in blocks
Delete from highest row back so that not yet deleted row numbers don't change.
"""
log.info(f"delete_rows({row_numbers=}")
with Session() as session:
for row_number in row_numbers:
for row_number in sorted(row_numbers, reverse=True):
log.info(f"delete_rows(), {row_number=}")
super().beginRemoveRows(QModelIndex(), row_number, row_number)
# We need to remove data from the underlying data store,
# which is the database, but we cache in
@ -579,7 +582,7 @@ class PlaylistModel(QAbstractTableModel):
for a in self.playlist_rows.values()
if not a.played and a.track_id is not None
]
log.info(f"get_unplayed_rows() returned: {result=}")
log.debug(f"get_unplayed_rows() returned: {result=}")
return result
def headerData(