Allow multiple selected rows to be marked unplayed
This commit is contained in:
parent
c9c47c3133
commit
728feb1c8e
@ -984,8 +984,7 @@ class PlaylistTab(QTableWidget):
|
||||
|
||||
# Mark unplayed
|
||||
if self._get_row_userdata(row_number, self.PLAYED):
|
||||
self._add_context_menu("Mark unplayed",
|
||||
lambda: self._mark_unplayed(row_number))
|
||||
self._add_context_menu("Mark unplayed", self._mark_unplayed)
|
||||
|
||||
# Unmark as next
|
||||
if next_row:
|
||||
@ -1388,25 +1387,23 @@ class PlaylistTab(QTableWidget):
|
||||
and pos.y() >= rect.center().y() # noqa W503
|
||||
)
|
||||
|
||||
def _mark_unplayed(self, row_number: int) -> None:
|
||||
def _mark_unplayed(self) -> None:
|
||||
"""
|
||||
Mark passed row as unplayed in this playlist
|
||||
Mark selected rows as unplayed in this playlist
|
||||
"""
|
||||
|
||||
if row_number is None:
|
||||
return
|
||||
|
||||
_ = self._set_row_userdata(row_number, self.PLAYED, False)
|
||||
self._set_row_bold(row_number, True)
|
||||
self.clear_selection()
|
||||
|
||||
with Session() as session:
|
||||
plr = self._get_row_plr(session, row_number)
|
||||
if not plr:
|
||||
return
|
||||
plr.played = False
|
||||
for row_number in self._get_selected_rows():
|
||||
_ = self._set_row_userdata(row_number, self.PLAYED, False)
|
||||
self._set_row_bold(row_number, True)
|
||||
|
||||
plr = self._get_row_plr(session, row_number)
|
||||
if not plr:
|
||||
continue
|
||||
plr.played = False
|
||||
self._update_start_end_times(session)
|
||||
self.hide_or_show_played_tracks()
|
||||
self.clear_selection()
|
||||
self.hide_or_show_played_tracks()
|
||||
|
||||
def _move_row(self, session: scoped_session, plr: PlaylistRows,
|
||||
new_row_number: int) -> None:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user