diff --git a/src/calibre/gui2/actions/sort.py b/src/calibre/gui2/actions/sort.py index 9dc4ec2ad2..9cfc4c7c8c 100644 --- a/src/calibre/gui2/actions/sort.py +++ b/src/calibre/gui2/actions/sort.py @@ -57,13 +57,7 @@ class SortByAction(InterfaceAction): 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) + self.gui.library_view.resort() def location_selected(self, loc): enabled = loc == 'library' diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index 592d93c1cb..48d345e03c 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -600,6 +600,10 @@ class BooksView(QTableView): # {{{ except Exception: idx = -1 self.set_sort_indicator(idx, ascending) + + def resort(self): + with self.preserve_state(preserve_vpos=False, require_selected_ids=False): + self._model.resort(reset=True) # }}} # Ondevice column {{{