diff --git a/app/playlistmodel.py b/app/playlistmodel.py index 2daeb0d..1e36770 100644 --- a/app/playlistmodel.py +++ b/app/playlistmodel.py @@ -685,9 +685,9 @@ class PlaylistModel(QAbstractTableModel): proposed_row_number: Optional[int], track_id: Optional[int] = None, note: Optional[str] = None, - ) -> PlaylistRows: + ) -> None: """ - Insert a track row. + Insert a row. """ new_row_number = self._get_new_row_number(proposed_row_number) @@ -704,9 +704,7 @@ class PlaylistModel(QAbstractTableModel): super().endInsertRows() self.row_order_changed(self.playlist_id) - self.invalidate_rows(list(range(plr.plr_rownum, len(self.playlist_rows)))) - - return plr + self.invalidate_rows(list(range(new_row_number, len(self.playlist_rows)))) def invalidate_row(self, modified_row: int) -> None: """ diff --git a/app/playlists.py b/app/playlists.py index b31f526..7ab8876 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -482,9 +482,13 @@ class PlaylistTab(QTableView): # # # ########## Internally called functions ########## - def _add_track(self, row_number: int) -> None: + def _add_track(self) -> None: """Add a track to a section header making it a normal track row""" + row_number = self.get_selected_row_number() + if not row_number: + return + with Session() as session: dlg = TrackSelectDialog( session=session, @@ -534,7 +538,7 @@ class PlaylistTab(QTableView): # Add track to section header (ie, make this a track row) # TODO if header_row: - self._add_context_menu("Add a track", lambda: print("Add a track")) + self._add_context_menu("Add a track", lambda: self._add_track()) # # ---------------------- self.menu.addSeparator() @@ -542,7 +546,8 @@ class PlaylistTab(QTableView): # Mark unplayed if track_row and model.is_unplayed_row(row_number): self._add_context_menu( - "Mark unplayed", lambda: self._mark_as_unplayed(self.get_selected_rows()) + "Mark unplayed", + lambda: self._mark_as_unplayed(self.get_selected_rows()), ) # Unmark as next @@ -583,7 +588,9 @@ class PlaylistTab(QTableView): # Track path TODO if track_row: - self._add_context_menu("Copy track path", lambda: self._copy_path(row_number)) + self._add_context_menu( + "Copy track path", lambda: self._copy_path(row_number) + ) def _calculate_end_time( self, start: Optional[datetime], duration: int