mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 18:54:09 -04:00
Have the sort and resort actions work in all views
This commit is contained in:
parent
6c0d3efca7
commit
103659f267
@ -44,20 +44,14 @@ class SortByAction(InterfaceAction):
|
|||||||
self.gui.addAction(ac)
|
self.gui.addAction(ac)
|
||||||
return 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')
|
c('reapply_sort_action', _('Re-apply current sort'), _('Re-apply the current sort'), self.reapply_sort, 'f5')
|
||||||
|
|
||||||
def reverse_sort(self):
|
def reverse_sort(self):
|
||||||
lv = self.gui.library_view
|
self.gui.current_view().reverse_sort()
|
||||||
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):
|
def reapply_sort(self):
|
||||||
self.gui.library_view.resort()
|
self.gui.current_view().resort()
|
||||||
|
|
||||||
def location_selected(self, loc):
|
def location_selected(self, loc):
|
||||||
enabled = loc == 'library'
|
enabled = loc == 'library'
|
||||||
|
@ -604,6 +604,15 @@ class BooksView(QTableView): # {{{
|
|||||||
def resort(self):
|
def resort(self):
|
||||||
with self.preserve_state(preserve_vpos=False, require_selected_ids=False):
|
with self.preserve_state(preserve_vpos=False, require_selected_ids=False):
|
||||||
self._model.resort(reset=True)
|
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 {{{
|
# Ondevice column {{{
|
||||||
@ -1411,4 +1420,12 @@ class DeviceBooksView(BooksView): # {{{
|
|||||||
self._model.set_editable(editable)
|
self._model.set_editable(editable)
|
||||||
self.drag_allowed = supports_backloading
|
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…
x
Reference in New Issue
Block a user