diff --git a/app/playlistmodel.py b/app/playlistmodel.py index edc8e37..5a5e356 100644 --- a/app/playlistmodel.py +++ b/app/playlistmodel.py @@ -1227,9 +1227,11 @@ class PlaylistModel(QAbstractTableModel): return True - def set_next_row(self, row_number: Optional[int]) -> None: + def set_next_row(self, row_number: Optional[int]) -> bool: """ Set row_number as next track. If row_number is None, clear next track. + + Return True if successful else False. """ log.debug(f"set_next_row({row_number=})") @@ -1239,7 +1241,7 @@ class PlaylistModel(QAbstractTableModel): if track_sequence.next: track_sequence.next = None else: - return + return True else: # Get plrid of row try: @@ -1250,14 +1252,14 @@ class PlaylistModel(QAbstractTableModel): f"{self.playlist_id=}" "IndexError" ) - return + return False if prd.track_id is None or prd.plr_rownum is None: log.error( f"playlistmodel.set_next_track({row_number=}, " "No track / row number " f"{self.playlist_id=}, {prd.track_id=}, {prd.plr_rownum=}" ) - return + return False old_next_row: Optional[int] = None if track_sequence.next: @@ -1269,7 +1271,7 @@ class PlaylistModel(QAbstractTableModel): self.invalidate_row(row_number) except ValueError as e: log.error(f"Error creating MainTrackManager({prd=}): ({str(e)})") - return + return False self.signals.search_wikipedia_signal.emit( self.playlist_rows[row_number].title @@ -1281,6 +1283,8 @@ class PlaylistModel(QAbstractTableModel): self.signals.next_track_changed_signal.emit() self.update_track_times() + return True + def setData( self, index: QModelIndex, @@ -1686,7 +1690,7 @@ class PlaylistProxyModel(QSortFilterProxyModel): def rescan_track(self, row_number: int) -> None: return self.source_model.rescan_track(row_number) - def set_next_row(self, row_number: Optional[int]) -> None: + def set_next_row(self, row_number: Optional[int]) -> bool: return self.source_model.set_next_row(row_number) def sort_by_artist(self, row_numbers: List[int]) -> None: