diff --git a/app/dialogs.py b/app/dialogs.py index 4910216..026891c 100644 --- a/app/dialogs.py +++ b/app/dialogs.py @@ -54,6 +54,10 @@ class TrackSelectDialog(QDialog): height = record.f_int or 600 self.resize(width, height) + if add_to_header: + self.ui.lblNote.setVisible(False) + self.ui.txtNote.setVisible(False) + def add_selected(self) -> None: """Handle Add button""" @@ -65,18 +69,22 @@ class TrackSelectDialog(QDialog): track = item.data(Qt.ItemDataRole.UserRole) note = self.ui.txtNote.text() + track_id = None + if track: + track_id = track.id - if not note and not track: - return + if not track_id: + if note: + self.model.insert_row(self.new_row_number, track_id, note) + self.ui.txtNote.clear() + return + else: + # No note, no track + return self.ui.txtNote.clear() self.select_searchtext() - track_id = None - if track: - track_id = track.id - else: - return # Check whether track is already in playlist move_existing = False existing_prd = self.model.is_track_in_playlist(track_id) @@ -87,14 +95,16 @@ class TrackSelectDialog(QDialog): default_yes=True, ): move_existing = True - if self.add_to_header and existing_prd: # "and existing_prd" for mypy's benefit - if move_existing: + + if self.add_to_header: + if move_existing and existing_prd: # "and existing_prd" for mypy's benefit self.model.move_track_to_header(self.new_row_number, existing_prd, note) else: self.model.add_track_to_header(self.new_row_number, track_id) # Close dialog - we can only add one track to a header self.accept() else: + # Adding a new track row if move_existing and existing_prd: # "and existing_prd" for mypy's benefit self.model.move_track_add_note(self.new_row_number, existing_prd, note) else: