diff --git a/app/config.py b/app/config.py index 3b4fd65..c7046de 100644 --- a/app/config.py +++ b/app/config.py @@ -31,6 +31,7 @@ class Config(object): COLOUR_NORMAL_TAB = "#000000" COLOUR_NOTES_PLAYLIST = "#b8daff" COLOUR_ODD_PLAYLIST = "#f2f2f2" + COLOUR_TEMPLATE_ROW = "#FFAF68" COLOUR_UNREADABLE = "#dc3545" COLOUR_WARNING_TIMER = "#ffc107" DBFS_SILENCE = -50 diff --git a/app/musicmuster.py b/app/musicmuster.py index ba2d6d8..67c1018 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -870,7 +870,9 @@ class Window(QMainWindow): self.signals.search_songfacts_signal.connect(self.open_songfacts_browser) self.signals.search_wikipedia_signal.connect(self.open_wikipedia_browser) - def create_playlist(self, session: Session, template_id: int) -> Optional[Playlists]: + def create_playlist( + self, session: Session, template_id: int + ) -> Optional[Playlists]: """Create new playlist""" # Get a name for this new playlist @@ -894,7 +896,7 @@ class Window(QMainWindow): return None - def create_playlist_tab(self, playlist: Playlists) -> int: + def create_playlist_tab(self, playlist: Playlists, is_template: bool = False) -> int: """ Take the passed playlist, create a playlist tab and add tab to display. Return index number of tab. @@ -903,7 +905,7 @@ class Window(QMainWindow): log.debug(f"create_playlist_tab({playlist=})") # Create model and proxy model - base_model = PlaylistModel(playlist.id) + base_model = PlaylistModel(playlist.id, is_template) proxy_model = PlaylistProxyModel() proxy_model.setSourceModel(base_model) @@ -1238,7 +1240,7 @@ class Window(QMainWindow): ) # Simply load the template as a playlist. Any changes # made will persist - idx = self.create_playlist_tab(template) + idx = self.create_playlist_tab(template, is_template=True) self.playlist_section.tabPlaylist.setCurrentIndex(idx) def favourite(template_id: int, favourite: bool) -> None: @@ -1259,7 +1261,7 @@ class Window(QMainWindow): new_template = self.create_playlist(session, template_id) if new_template: - self.open_playlist(session, new_template) + self.open_playlist(session, new_template, is_template=True) def rename(template_id: int) -> Optional[str]: """rename template""" @@ -1419,10 +1421,12 @@ class Window(QMainWindow): if playlist: self.open_playlist(session, playlist) - def open_playlist(self, session: Session, playlist: Playlists) -> None: + def open_playlist( + self, session: Session, playlist: Playlists, is_template: bool = False + ) -> None: """Open passed playlist""" - idx = self.create_playlist_tab(playlist) + idx = self.create_playlist_tab(playlist, is_template) playlist.mark_open() session.commit() diff --git a/app/playlistmodel.py b/app/playlistmodel.py index dd7ab13..ed3a348 100644 --- a/app/playlistmodel.py +++ b/app/playlistmodel.py @@ -75,12 +75,14 @@ class PlaylistModel(QAbstractTableModel): def __init__( self, playlist_id: int, + is_template: bool, *args: Optional[QObject], **kwargs: Optional[QObject], ) -> None: log.debug("PlaylistModel.__init__()") self.playlist_id = playlist_id + self.is_template = is_template super().__init__(*args, **kwargs) self.playlist_rows: dict[int, RowAndTrack] = {} @@ -224,6 +226,9 @@ class PlaylistModel(QAbstractTableModel): if note_background: return QBrush(QColor(note_background)) + if self.is_template: + return QBrush(QColor(Config.COLOUR_TEMPLATE_ROW)) + return QBrush() def begin_reset_model(self, playlist_id: int) -> None: