mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Only show the delete selected button if more than one item is selected
This commit is contained in:
parent
a7ad9e87d2
commit
4a24987fee
@ -236,6 +236,7 @@ class BrowsePanel(QWidget):
|
||||
|
||||
current_result_changed = pyqtSignal(object)
|
||||
open_annotation = pyqtSignal(object, object, object)
|
||||
selection_changed = pyqtSignal()
|
||||
|
||||
def __init__(self, parent):
|
||||
QWidget.__init__(self, parent)
|
||||
@ -272,10 +273,15 @@ class BrowsePanel(QWidget):
|
||||
l.addWidget(rs)
|
||||
|
||||
self.results_list = rl = ResultsList(self)
|
||||
rl.itemSelectionChanged.connect(self.selection_changed)
|
||||
rl.current_result_changed.connect(self.current_result_changed)
|
||||
rl.open_annotation.connect(self.open_annotation)
|
||||
l.addWidget(rl)
|
||||
|
||||
@property
|
||||
def num_of_selected_items(self):
|
||||
return len(self.results_list.selectionModel().selectedIndexes())
|
||||
|
||||
def re_initialize(self):
|
||||
db = current_db()
|
||||
self.search_box.setFocus(Qt.OtherFocusReason)
|
||||
@ -554,6 +560,7 @@ class AnnotationsBrowser(Dialog):
|
||||
|
||||
self.browse_panel = bp = BrowsePanel(self)
|
||||
bp.open_annotation.connect(self.do_open_annotation)
|
||||
bp.selection_changed.connect(self.selection_changed)
|
||||
s.addWidget(bp)
|
||||
|
||||
self.details_panel = dp = DetailsPanel(self)
|
||||
@ -567,10 +574,14 @@ class AnnotationsBrowser(Dialog):
|
||||
h = QHBoxLayout()
|
||||
l.addLayout(h)
|
||||
h.addWidget(us), h.addStretch(10), h.addWidget(self.bb)
|
||||
self.delete_button = b = self.bb.addButton(_('Delete selected'), self.bb.ActionRole)
|
||||
self.delete_button = b = self.bb.addButton(_('Delete all selected'), self.bb.ActionRole)
|
||||
b.setToolTip(_('Delete the selected annotations'))
|
||||
b.setIcon(QIcon(I('trash.png')))
|
||||
b.clicked.connect(self.delete_selected)
|
||||
self.selection_changed()
|
||||
|
||||
def selection_changed(self):
|
||||
self.delete_button.setVisible(self.browse_panel.num_of_selected_items > 1)
|
||||
|
||||
def delete_selected(self):
|
||||
ids = frozenset(self.browse_panel.selected_annot_ids)
|
||||
|
Loading…
x
Reference in New Issue
Block a user