Remove inapplicable right-click menu items
This commit is contained in:
parent
9dfc5e50cc
commit
d2e2144148
@ -172,24 +172,31 @@ class PlaylistTab(QTableWidget):
|
||||
if item is not None:
|
||||
row = item.row()
|
||||
DEBUG(f"playlist.eventFilter(): Right-click on row {row}")
|
||||
current = row == self._meta_get_current()
|
||||
next = row == self._meta_get_next()
|
||||
self.menu = QMenu(self)
|
||||
act_info = self.menu.addAction('Info')
|
||||
act_info.triggered.connect(lambda: self._info_row(row))
|
||||
self.menu.addSeparator()
|
||||
if row not in self._meta_get_notes():
|
||||
act_setnext = self.menu.addAction("Set next")
|
||||
act_setnext.triggered.connect(lambda: self._set_next(row))
|
||||
if not current and not next:
|
||||
act_setnext = self.menu.addAction("Set next")
|
||||
act_setnext.triggered.connect(
|
||||
lambda: self._set_next(row))
|
||||
act_copypath = self.menu.addAction("Copy track path")
|
||||
act_copypath.triggered.connect(
|
||||
lambda: self._copy_path(row))
|
||||
act_rescan = self.menu.addAction("Rescan track")
|
||||
act_rescan.triggered.connect(lambda: self._rescan(row))
|
||||
act_audacity = self.menu.addAction(
|
||||
"Open track in Audacity")
|
||||
act_audacity.triggered.connect(lambda: self._audacity(row))
|
||||
if not current:
|
||||
act_rescan = self.menu.addAction("Rescan track")
|
||||
act_rescan.triggered.connect(lambda: self._rescan(row))
|
||||
act_audacity = self.menu.addAction(
|
||||
"Open track in Audacity")
|
||||
act_audacity.triggered.connect(
|
||||
lambda: self._audacity(row))
|
||||
if not current and not next:
|
||||
self.menu.addSeparator()
|
||||
act_delete = self.menu.addAction('Delete')
|
||||
act_delete.triggered.connect(self._delete_rows)
|
||||
act_delete = self.menu.addAction('Delete')
|
||||
act_delete.triggered.connect(self._delete_rows)
|
||||
|
||||
return super(PlaylistTab, self).eventFilter(source, event)
|
||||
|
||||
@ -653,22 +660,14 @@ class PlaylistTab(QTableWidget):
|
||||
|
||||
with Session() as session:
|
||||
for row in rows:
|
||||
if row == self._meta_get_current():
|
||||
show_warning("Silly", "Can't delete playing track")
|
||||
return
|
||||
elif row == self._meta_get_next():
|
||||
show_warning("Safety", "Can't delete next track")
|
||||
return
|
||||
|
||||
title = self.item(row, self.COL_TITLE).text()
|
||||
|
||||
msg = QMessageBox(self)
|
||||
msg.setIcon(QMessageBox.Warning)
|
||||
msg.setText(f"Delete '{title}'?")
|
||||
msg.setStandardButtons(QMessageBox.Yes | QMessageBox.Cancel)
|
||||
msg.setDefaultButton(QMessageBox.Cancel)
|
||||
msg.setWindowTitle("Delete row")
|
||||
# Store list of notes
|
||||
# Store list of rows to delete
|
||||
if msg.exec() == QMessageBox.Yes:
|
||||
rows_to_delete.append(row)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user