mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix a regression in calibre 6.0 that broke remembering the previous sort order for a column
More PyQt6 enum goodness
This commit is contained in:
parent
c9d3d132be
commit
15ed01d0e1
@ -1604,7 +1604,7 @@ class DeviceBooksModel(BooksModel): # {{{
|
||||
else:
|
||||
self.sorted_map = list(range(len(self.db)))
|
||||
self.sorted_map.sort(key=keygen, reverse=descending)
|
||||
self.sorted_on = (self.column_map[col], order)
|
||||
self.sorted_on = (self.column_map[col], not descending)
|
||||
self.sort_history.insert(0, self.sorted_on)
|
||||
if hasattr(keygen, 'db'):
|
||||
keygen.db = None
|
||||
|
@ -594,6 +594,8 @@ class BooksView(QTableView): # {{{
|
||||
self.intelligent_sort(field, order == Qt.SortOrder.AscendingOrder)
|
||||
|
||||
def intelligent_sort(self, field, ascending):
|
||||
if isinstance(ascending, Qt.SortOrder):
|
||||
ascending = ascending == Qt.SortOrder.AscendingOrder
|
||||
m = self.model()
|
||||
pname = 'previous_sort_order_' + self.__class__.__name__
|
||||
previous = gprefs.get(pname, {})
|
||||
@ -602,9 +604,9 @@ class BooksView(QTableView): # {{{
|
||||
previous[field] = ascending
|
||||
gprefs[pname] = previous
|
||||
return
|
||||
previous[m.sorted_on[0]] = Qt.SortOrder(m.sorted_on[1]).value
|
||||
previous[m.sorted_on[0]] = m.sorted_on[1]
|
||||
gprefs[pname] = previous
|
||||
self.sort_by_named_field(field, Qt.SortOrder(previous[field]))
|
||||
self.sort_by_named_field(field, previous[field])
|
||||
|
||||
def about_to_be_sorted(self, idc):
|
||||
selected_rows = [r.row() for r in self.selectionModel().selectedRows()]
|
||||
@ -618,6 +620,8 @@ class BooksView(QTableView): # {{{
|
||||
self.horizontalScrollBar().setValue(pos)
|
||||
|
||||
def sort_by_named_field(self, field, order, reset=True):
|
||||
if isinstance(order, Qt.SortOrder):
|
||||
order = order == Qt.SortOrder.AscendingOrder
|
||||
if field in self.column_map:
|
||||
idx = self.column_map.index(field)
|
||||
self.sort_by_column_and_order(idx, order)
|
||||
|
Loading…
x
Reference in New Issue
Block a user