Playlist save / session work
This commit is contained in:
parent
889d32cc90
commit
ee7436221e
@ -1813,8 +1813,10 @@ class DbDialog(QDialog):
|
|||||||
self.musicmuster.visible_playlist_tab().insert_header(
|
self.musicmuster.visible_playlist_tab().insert_header(
|
||||||
self.session, note=self.ui.txtNote.text())
|
self.session, note=self.ui.txtNote.text())
|
||||||
|
|
||||||
# Save to database (which will also commit changes)
|
# TODO: this shouldn't be needed as insert_track() saves
|
||||||
self.musicmuster.visible_playlist_tab().save_playlist(self.session)
|
# playlist
|
||||||
|
# # Save to database (which will also commit changes)
|
||||||
|
# self.musicmuster.visible_playlist_tab().save_playlist(self.session)
|
||||||
# Clear note field and select search text to make it easier for
|
# Clear note field and select search text to make it easier for
|
||||||
# next search
|
# next search
|
||||||
self.ui.txtNote.clear()
|
self.ui.txtNote.clear()
|
||||||
|
|||||||
@ -566,7 +566,7 @@ class PlaylistTab(QTableWidget):
|
|||||||
|
|
||||||
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, self._update_start_end_times)
|
||||||
|
|
||||||
def insert_track(self, session: scoped_session, track: Tracks,
|
def insert_track(self, session: scoped_session, track: Tracks,
|
||||||
note: str = "", repaint: bool = True) -> None:
|
note: str = "", repaint: bool = True) -> None:
|
||||||
@ -606,8 +606,11 @@ class PlaylistTab(QTableWidget):
|
|||||||
plr = PlaylistRows(session, self.playlist_id, track.id,
|
plr = PlaylistRows(session, self.playlist_id, track.id,
|
||||||
row_number, note)
|
row_number, note)
|
||||||
self.insert_row(session, plr)
|
self.insert_row(session, plr)
|
||||||
|
session.flush()
|
||||||
|
|
||||||
# Let display update, then save playlist
|
# Let display update, then save playlist
|
||||||
QTimer.singleShot(0, lambda: self.save_playlist(session))
|
# TODO: QTimer.singleShot(0, lambda: self.save_playlist(session))
|
||||||
|
self.save_playlist(session)
|
||||||
|
|
||||||
def play_ended(self) -> None:
|
def play_ended(self) -> None:
|
||||||
"""
|
"""
|
||||||
@ -1086,7 +1089,7 @@ class PlaylistTab(QTableWidget):
|
|||||||
self.save_playlist(session)
|
self.save_playlist(session)
|
||||||
|
|
||||||
# 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, self._update_start_end_times)
|
||||||
|
|
||||||
def _drop_on(self, event):
|
def _drop_on(self, event):
|
||||||
"""
|
"""
|
||||||
@ -1549,6 +1552,7 @@ class PlaylistTab(QTableWidget):
|
|||||||
)
|
)
|
||||||
self._set_row_colour_unreadable(row)
|
self._set_row_colour_unreadable(row)
|
||||||
|
|
||||||
|
self._update_start_end_times()
|
||||||
self.clear_selection()
|
self.clear_selection()
|
||||||
|
|
||||||
def _run_subprocess(self, args):
|
def _run_subprocess(self, args):
|
||||||
@ -2125,9 +2129,13 @@ class PlaylistTab(QTableWidget):
|
|||||||
|
|
||||||
header_rows = []
|
header_rows = []
|
||||||
|
|
||||||
# Get section header PlaylistRows
|
# Get section header PlaylistRows. Flush session first in case
|
||||||
|
# there are pending playlist changes that affect which row
|
||||||
|
# numbers are headers.
|
||||||
|
session.flush()
|
||||||
plrs = PlaylistRows.get_section_header_rows(session, self.playlist_id)
|
plrs = PlaylistRows.get_section_header_rows(session, self.playlist_id)
|
||||||
for plr in plrs:
|
for plr in plrs:
|
||||||
|
# TODO: print(f"{plr.row_number=}")
|
||||||
if plr.note.endswith("+"):
|
if plr.note.endswith("+"):
|
||||||
header_rows.append(plr)
|
header_rows.append(plr)
|
||||||
continue
|
continue
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user