Compare commits

...

5 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
Keith Edmunds
ea5e4a2215 Fix merge error 2023-03-05 20:23:43 +00:00
Keith Edmunds
e80a74cc40 Fixup track start/end times 2023-03-05 20:21:27 +00:00
Keith Edmunds
b1841b02ea WIP playlists refactor: set header colour when removing track 2023-03-05 20:05:04 +00:00

View File

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