mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add shortcuts to reverse and re-apply current sort
Fixes #1889298 [Enhancement Request: Hotkey to resort current view/reverse current sort](https://bugs.launchpad.net/calibre/+bug/1889298)
This commit is contained in:
parent
c40c538cc1
commit
f461c24fb2
@ -38,6 +38,33 @@ class SortByAction(InterfaceAction):
|
||||
self.sorted_icon = QIcon(I('ok.png'))
|
||||
self.qaction.menu().aboutToShow.connect(self.about_to_show)
|
||||
|
||||
def c(attr, title, tooltip, callback, keys=()):
|
||||
ac = self.create_action(spec=(title, None, tooltip, keys), attr=attr)
|
||||
ac.triggered.connect(callback)
|
||||
self.gui.addAction(ac)
|
||||
return ac
|
||||
|
||||
c('reverse_sort_action', _('Reverse current sort'), _('Reverse the current sort order'), self.reverse_sort)
|
||||
c('reapply_sort_action', _('Re-apply current sort'), _('Re-apply the current sort'), self.reapply_sort, 'f5')
|
||||
|
||||
def reverse_sort(self):
|
||||
lv = self.gui.library_view
|
||||
m = lv.model()
|
||||
try:
|
||||
sort_col, order = m.sorted_on
|
||||
except TypeError:
|
||||
sort_col, order = 'date', True
|
||||
lv.sort_by_named_field(sort_col, not order)
|
||||
|
||||
def reapply_sort(self):
|
||||
lv = self.gui.library_view
|
||||
m = lv.model()
|
||||
try:
|
||||
sort_col, order = m.sorted_on
|
||||
except TypeError:
|
||||
sort_col, order = 'date', True
|
||||
lv.sort_by_named_field(sort_col, order)
|
||||
|
||||
def location_selected(self, loc):
|
||||
enabled = loc == 'library'
|
||||
self.qaction.setEnabled(enabled)
|
||||
|
Loading…
x
Reference in New Issue
Block a user