Return True/False on set_next_row

This commit is contained in:
Keith Edmunds 2024-06-03 20:29:50 +01:00
parent 1ee9a1ae22
commit a46b9a3d6f

View File

@ -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: