Compare commits

...

2 Commits

Author SHA1 Message Date
Keith Edmunds
dda74782b6 Keep section headers bold 2023-03-07 18:02:17 +00:00
Keith Edmunds
4af1d4906c Never hide current or next row 2023-03-07 18:02:00 +00:00

View File

@ -494,7 +494,14 @@ class PlaylistTab(QTableWidget):
return [plr for plr in plrs if plr is not None] return [plr for plr in plrs if plr is not None]
def hide_played_tracks(self, hide: bool) -> None: def hide_played_tracks(self, hide: bool) -> None:
"""Hide played tracks if hide is True else show them""" """
Hide played tracks if hide is True else show them
Never hide current or next track
"""
current_next = [self._get_current_track_row_number(),
self._get_next_track_row_number()]
with Session() as session: with Session() as session:
played = [ played = [
@ -502,6 +509,8 @@ class PlaylistTab(QTableWidget):
session, self.playlist_id) session, self.playlist_id)
] ]
for row in range(self.rowCount()): for row in range(self.rowCount()):
if row in current_next:
continue
if row in played: if row in played:
if hide: if hide:
self.hideRow(row) self.hideRow(row)
@ -533,14 +542,14 @@ class PlaylistTab(QTableWidget):
""" """
row = plr.row_number row = plr.row_number
bold = True
self.insertRow(row) self.insertRow(row)
_ = self._set_row_plr_id(row, plr.id) _ = self._set_row_plr_id(row, plr.id)
if plr.track: if plr.track:
self._update_row_track_info(session, row, plr.track) self._update_row_track_info(session, row, plr.track)
if not played: if played:
self._set_row_bold(row) bold = False
else:
_ = self._set_row_userdata(row, self.PLAYED, True) _ = self._set_row_userdata(row, self.PLAYED, True)
if plr.note is None: if plr.note is None:
plr.note = "" plr.note = ""
@ -564,6 +573,9 @@ class PlaylistTab(QTableWidget):
# Save (or clear) track_id # Save (or clear) track_id
_ = self._set_row_track_id(row, 0) _ = self._set_row_track_id(row, 0)
# Set bold as needed
self._set_row_bold(row, bold)
if update_track_times: if update_track_times:
# Queue time updates so playlist updates first # Queue time updates so playlist updates first
QTimer.singleShot(0, lambda: self._update_start_end_times()) QTimer.singleShot(0, lambda: self._update_start_end_times())