mirror of
git://github.com/kovidgoyal/calibre.git
synced 2025-12-30 19:26:06 +01:00
Have the sort and resort actions work in all views
This commit is contained in:
parent
dd7a28abb2
commit
bfbccea138
2 changed files with 20 additions and 9 deletions
|
|
@ -44,20 +44,14 @@ def c(attr, title, tooltip, callback, keys=()):
|
|||
self.gui.addAction(ac)
|
||||
return ac
|
||||
|
||||
c('reverse_sort_action', _('Reverse current sort'), _('Reverse the current sort order'), self.reverse_sort)
|
||||
c('reverse_sort_action', _('Reverse current sort'), _('Reverse the current sort order'), self.reverse_sort, 'shift+f5')
|
||||
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)
|
||||
self.gui.current_view().reverse_sort()
|
||||
|
||||
def reapply_sort(self):
|
||||
self.gui.library_view.resort()
|
||||
self.gui.current_view().resort()
|
||||
|
||||
def location_selected(self, loc):
|
||||
enabled = loc == 'library'
|
||||
|
|
|
|||
|
|
@ -604,6 +604,15 @@ def multisort(self, fields, reset=True, only_if_different=False):
|
|||
def resort(self):
|
||||
with self.preserve_state(preserve_vpos=False, require_selected_ids=False):
|
||||
self._model.resort(reset=True)
|
||||
|
||||
def reverse_sort(self):
|
||||
with self.preserve_state(preserve_vpos=False, require_selected_ids=False):
|
||||
m = self.model()
|
||||
try:
|
||||
sort_col, order = m.sorted_on
|
||||
except TypeError:
|
||||
sort_col, order = 'date', True
|
||||
self.sort_by_named_field(sort_col, not order)
|
||||
# }}}
|
||||
|
||||
# Ondevice column {{{
|
||||
|
|
@ -1411,4 +1420,12 @@ def set_editable(self, editable, supports_backloading):
|
|||
self._model.set_editable(editable)
|
||||
self.drag_allowed = supports_backloading
|
||||
|
||||
def resort(self):
|
||||
h = self.horizontalHeader()
|
||||
self.model().sort(h.sortIndicatorSection(), h.sortIndicatorOrder())
|
||||
|
||||
def reverse_sort(self):
|
||||
h = self.horizontalHeader()
|
||||
h.setSortIndicator(h.sortIndicatorSection(), 1 - int(h.sortIndicatorOrder()))
|
||||
|
||||
# }}}
|
||||
|
|
|
|||
Loading…
Reference in a new issue