mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add a clear button
This commit is contained in:
parent
ce37adcef7
commit
a16c9b6807
@ -67,6 +67,11 @@ class ChooseMultiSort(Dialog):
|
||||
cl.itemChanged.connect(self.update_order_label)
|
||||
cl.model().rowsMoved.connect(self.update_order_label)
|
||||
|
||||
self.clear_button = b = self.bb.addButton(_('&Clear'), QDialogButtonBox.ButtonRole.ActionRole)
|
||||
b.setToolTip(_('Clear all selected columns'))
|
||||
b.setAutoDefault(False)
|
||||
b.clicked.connect(self.clear)
|
||||
|
||||
self.save_button = b = self.bb.addButton(_('&Save'), QDialogButtonBox.ButtonRole.ActionRole)
|
||||
b.setToolTip(_('Save this sort order for easy re-use'))
|
||||
b.clicked.connect(self.save)
|
||||
@ -79,6 +84,11 @@ class ChooseMultiSort(Dialog):
|
||||
b.setMenu(self.load_menu)
|
||||
self.load_menu.aboutToShow.connect(self.populate_load_menu)
|
||||
|
||||
def clear(self):
|
||||
for item in self.iteritems():
|
||||
item.setCheckState(Qt.CheckState.Unchecked)
|
||||
self.column_list.sortItems()
|
||||
|
||||
def item_double_clicked(self, item):
|
||||
cs = item.checkState()
|
||||
item.setCheckState(Qt.CheckState.Checked if cs == Qt.CheckState.Unchecked else Qt.CheckState.Unchecked)
|
||||
@ -163,9 +173,8 @@ class ChooseMultiSort(Dialog):
|
||||
return (cl.item(i) for i in range(cl.count()))
|
||||
|
||||
def apply_spec(self, spec):
|
||||
self.clear()
|
||||
cl = self.column_list
|
||||
for item in self.iteritems():
|
||||
item.setCheckState(Qt.CheckState.Unchecked)
|
||||
imap = {item.data(Qt.ItemDataRole.UserRole): item for item in self.iteritems()}
|
||||
for key, ascending in reversed(spec):
|
||||
item = imap.get(key)
|
||||
|
Loading…
x
Reference in New Issue
Block a user