WIP V3: fix editing headers rows

This commit is contained in:
Keith Edmunds 2023-11-08 18:34:10 +00:00
parent b3262b2ede
commit 6d648a56b7
2 changed files with 20 additions and 16 deletions

View File

@ -686,6 +686,7 @@ class PlaylistModel(QAbstractTableModel):
) )
return False return False
if plr.track_id:
if column == Col.TITLE.value or column == Col.ARTIST.value: if column == Col.TITLE.value or column == Col.ARTIST.value:
track = session.get(Tracks, plr.track_id) track = session.get(Tracks, plr.track_id)
if not track: if not track:
@ -700,6 +701,10 @@ class PlaylistModel(QAbstractTableModel):
return False return False
elif column == Col.NOTE.value: elif column == Col.NOTE.value:
plr.note = str(value) plr.note = str(value)
else:
# This is a header row
if column == HEADER_NOTES_COLUMN:
plr.note = str(value)
# Flush changes before refreshing data # Flush changes before refreshing data
session.flush() session.flush()

View File

@ -113,7 +113,7 @@ class EscapeDelegate(QStyledItemDelegate):
return True return True
elif key_event.key() == Qt.Key.Key_Escape: elif key_event.key() == Qt.Key.Key_Escape:
discard_edits = QMessageBox.question( discard_edits = QMessageBox.question(
cast(QWidget, self), "Abandon edit", "Discard changes?" cast(QWidget, self.parent()), "Abandon edit", "Discard changes?"
) )
if discard_edits == QMessageBox.StandardButton.Yes: if discard_edits == QMessageBox.StandardButton.Yes:
self.closeEditor.emit(editor) self.closeEditor.emit(editor)
@ -1064,7 +1064,6 @@ class PlaylistTab(QTableView):
header_row = False header_row = False
model = cast(PlaylistModel, self.model()) model = cast(PlaylistModel, self.model())
if model: if model:
header_row = model.is_header_row(row_number) header_row = model.is_header_row(row_number)
# current = row_number == self._get_current_track_row_number() # current = row_number == self._get_current_track_row_number()
# next_row = row_number == self._get_next_track_row_number() # next_row = row_number == self._get_next_track_row_number()