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.sorted_icon = QIcon(I('ok.png'))
|
||||||
self.qaction.menu().aboutToShow.connect(self.about_to_show)
|
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):
|
def location_selected(self, loc):
|
||||||
enabled = loc == 'library'
|
enabled = loc == 'library'
|
||||||
self.qaction.setEnabled(enabled)
|
self.qaction.setEnabled(enabled)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user