Put mark/move on context menu
This commit is contained in:
parent
eaac2ef4ca
commit
417bff8663
@ -461,7 +461,7 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
self.actionImport.triggered.connect(self.import_track)
|
self.actionImport.triggered.connect(self.import_track)
|
||||||
self.actionInsertSectionHeader.triggered.connect(self.insert_header)
|
self.actionInsertSectionHeader.triggered.connect(self.insert_header)
|
||||||
self.actionInsertTrack.triggered.connect(self.insert_track)
|
self.actionInsertTrack.triggered.connect(self.insert_track)
|
||||||
self.actionMark_for_moving.triggered.connect(self.cut_rows)
|
self.actionMark_for_moving.triggered.connect(self.mark_rows_for_moving)
|
||||||
self.actionMoveSelected.triggered.connect(self.move_selected)
|
self.actionMoveSelected.triggered.connect(self.move_selected)
|
||||||
self.actionNew_from_template.triggered.connect(self.new_from_template)
|
self.actionNew_from_template.triggered.connect(self.new_from_template)
|
||||||
self.actionNewPlaylist.triggered.connect(self.create_and_show_playlist)
|
self.actionNewPlaylist.triggered.connect(self.create_and_show_playlist)
|
||||||
@ -565,18 +565,6 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
log.debug(f"create_playlist_tab() returned: {idx=}")
|
log.debug(f"create_playlist_tab() returned: {idx=}")
|
||||||
return idx
|
return idx
|
||||||
|
|
||||||
def cut_rows(self) -> None:
|
|
||||||
"""
|
|
||||||
Cut rows ready for pasting.
|
|
||||||
"""
|
|
||||||
|
|
||||||
# Save the selected PlaylistRows items ready for a later
|
|
||||||
# paste
|
|
||||||
self.move_source_rows = self.active_tab().get_selected_rows()
|
|
||||||
self.move_source_model = self.active_proxy_model()
|
|
||||||
|
|
||||||
log.debug(f"cut_rows(): {self.move_source_rows=} {self.move_source_model=}")
|
|
||||||
|
|
||||||
def debug(self):
|
def debug(self):
|
||||||
"""Invoke debugger"""
|
"""Invoke debugger"""
|
||||||
|
|
||||||
@ -930,6 +918,18 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
self.signals.search_wikipedia_signal.emit(track_info.title)
|
self.signals.search_wikipedia_signal.emit(track_info.title)
|
||||||
|
|
||||||
|
def mark_rows_for_moving(self) -> None:
|
||||||
|
"""
|
||||||
|
Cut rows ready for pasting.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Save the selected PlaylistRows items ready for a later
|
||||||
|
# paste
|
||||||
|
self.move_source_rows = self.active_tab().get_selected_rows()
|
||||||
|
self.move_source_model = self.active_proxy_model()
|
||||||
|
|
||||||
|
log.debug(f"mark_rows_for_moving(): {self.move_source_rows=} {self.move_source_model=}")
|
||||||
|
|
||||||
def move_playlist_rows(self, row_numbers: List[int]) -> None:
|
def move_playlist_rows(self, row_numbers: List[int]) -> None:
|
||||||
"""
|
"""
|
||||||
Move passed playlist rows to another playlist
|
Move passed playlist rows to another playlist
|
||||||
|
|||||||
@ -483,6 +483,13 @@ class PlaylistTab(QTableView):
|
|||||||
self._add_context_menu(
|
self._add_context_menu(
|
||||||
"Rescan track", lambda: self._rescan(model_row_number)
|
"Rescan track", lambda: self._rescan(model_row_number)
|
||||||
)
|
)
|
||||||
|
self._add_context_menu(
|
||||||
|
"Mark for moving", lambda: self._mark_for_moving()
|
||||||
|
)
|
||||||
|
if self.musicmuster.move_source_rows:
|
||||||
|
self._add_context_menu(
|
||||||
|
"Move selected rows here", lambda: self._move_selected_rows()
|
||||||
|
)
|
||||||
|
|
||||||
# ----------------------
|
# ----------------------
|
||||||
self.menu.addSeparator()
|
self.menu.addSeparator()
|
||||||
@ -740,6 +747,20 @@ class PlaylistTab(QTableView):
|
|||||||
self.source_model.mark_unplayed(row_numbers)
|
self.source_model.mark_unplayed(row_numbers)
|
||||||
self.clear_selection()
|
self.clear_selection()
|
||||||
|
|
||||||
|
def _mark_for_moving(self) -> None:
|
||||||
|
"""
|
||||||
|
Mark selected rows for pasting
|
||||||
|
"""
|
||||||
|
|
||||||
|
self.musicmuster.mark_rows_for_moving()
|
||||||
|
|
||||||
|
def _move_selected_rows(self) -> None:
|
||||||
|
"""
|
||||||
|
Move selected rows here
|
||||||
|
"""
|
||||||
|
|
||||||
|
self.musicmuster.paste_rows()
|
||||||
|
|
||||||
def _open_in_audacity(self, row_number: int) -> None:
|
def _open_in_audacity(self, row_number: int) -> None:
|
||||||
"""
|
"""
|
||||||
Open track in passed row in Audacity
|
Open track in passed row in Audacity
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user