diff --git a/app/musicmuster.py b/app/musicmuster.py index b5634fb..ce19dfc 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -949,6 +949,18 @@ class Window(QMainWindow, Ui_MainWindow): if self.playing: self.stop_playing() + def update_current_track(self, track): + """Update current track with passed details""" + + self.current_track = TrackData(track) + self.update_headers() + + def update_next_track(self, track): + """Update next track with passed details""" + + self.next_track = TrackData(track) + self.update_headers() + def update_headers(self) -> None: """ Update last / current / next track headers diff --git a/app/playlists.py b/app/playlists.py index 2550cbc..8761a70 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -432,10 +432,17 @@ class PlaylistTab(QTableWidget): if track_id: track = session.get(Tracks, track_id) if track: + update_current = row == self._get_current_track_row() + update_next = row == self._get_next_track_row() if self.edit_cell_type == "title": track.title = new_text elif self.edit_cell_type == "artist": track.artist = new_text + if update_current: + self.musicmuster.update_current_track(track) + elif update_next: + self.musicmuster.update_next_track(track) + # Headers will be incorrect if the edited track is # previous / current / next TODO: this will require # the stored data in musicmuster to be updated,