Compare commits

..

No commits in common. "ca1b11b5458b594b7c37955e35401997e5835834" and "4a83e9af86af89bff0819313137cc378ccfcd861" have entirely different histories.

2 changed files with 10 additions and 21 deletions

View File

@ -224,7 +224,7 @@ class Window(QMainWindow, Ui_MainWindow):
Close tab unless it holds the curren or next track Close tab unless it holds the curren or next track
""" """
if hasattr(self.tabPlaylist.widget(index), 'playlist_id'): if hasattr(self.tabPlaylist.widget(index), 'playlist'):
if self.tabPlaylist.widget(index) == ( if self.tabPlaylist.widget(index) == (
self.current_track_playlist_tab): self.current_track_playlist_tab):
self.statusbar.showMessage( self.statusbar.showMessage(

View File

@ -329,8 +329,6 @@ class PlaylistTab(QTableWidget):
# Put an item in COL_USERDATA for later # Put an item in COL_USERDATA for later
item: QTableWidgetItem = QTableWidgetItem() item: QTableWidgetItem = QTableWidgetItem()
# Add row metadata
item.setData(self.ROW_METADATA, 0)
self.setItem(row, self.COL_USERDATA, item) self.setItem(row, self.COL_USERDATA, item)
# Add track details to columns # Add track details to columns
@ -1084,19 +1082,11 @@ class PlaylistTab(QTableWidget):
note = Notes.get_by_id(session, note_id) note = Notes.get_by_id(session, note_id)
return note return note
def _get_played_track_rows(self) -> List[int]: def _get_played_track_rows(self) -> Optional[List[int]]:
"""Return rows marked as played, or None""" """Return rows marked as played, or None"""
return self._meta_search(RowMeta.PLAYED, one=False) return self._meta_search(RowMeta.PLAYED, one=False)
def _get_unplayed_track_rows(self) -> Optional[List[int]]:
"""Return rows marked as unplayed, or None"""
unplayed_rows: Set[int] = set(self._meta_notset(RowMeta.PLAYED))
notes_rows: Set[int] = set(self._get_notes_rows())
return list(unplayed_rows - notes_rows)
def _get_row_start_time(self, row: int) -> Optional[datetime]: def _get_row_start_time(self, row: int) -> Optional[datetime]:
try: try:
if self.item(row, self.COL_START_TIME): if self.item(row, self.COL_START_TIME):
@ -1242,8 +1232,7 @@ class PlaylistTab(QTableWidget):
matches = [] matches = []
for row in range(self.rowCount()): for row in range(self.rowCount()):
row_meta = self._meta_get(row) if self._meta_get(row):
if row_meta is not None:
if not self._meta_get(row) & (1 << metadata): if not self._meta_get(row) & (1 << metadata):
matches.append(row) matches.append(row)
@ -1366,15 +1355,15 @@ class PlaylistTab(QTableWidget):
# Need to allow multiple rows to be selected # Need to allow multiple rows to be selected
self.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection) self.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
notes_rows: List[int] = self._get_notes_rows()
self.clearSelection() self.clearSelection()
if played: played_rows: List[int] = self._get_played_track_rows()
rows = self. _get_played_track_rows() for row in range(self.rowCount()):
else: if row in notes_rows:
rows = self._get_unplayed_track_rows() continue
if row in played_rows == played:
for row in rows: self.selectRow(row)
self.selectRow(row)
# Reset extended selection # Reset extended selection
self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection) self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)