mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
Add the ability to sort the library view by a specific named column (field). Useful for sorting by fields that are not visible.
This commit is contained in:
parent
0cc37216b4
commit
4a2faf83d8
@ -314,6 +314,13 @@ class BooksModel(QAbstractTableModel): # {{{
|
||||
if not isinstance(order, bool):
|
||||
order = order == Qt.AscendingOrder
|
||||
label = self.column_map[col]
|
||||
self._sort(label, order, reset)
|
||||
|
||||
def sort_by_named_column(self, field, order, reset=True):
|
||||
if field in self.db.field_metadata.keys():
|
||||
self._sort(field, order, reset)
|
||||
|
||||
def _sort(self, label, order, reset):
|
||||
self.db.sort(label, order)
|
||||
if reset:
|
||||
self.reset()
|
||||
|
@ -236,6 +236,16 @@ class BooksView(QTableView): # {{{
|
||||
sm.select(idx, sm.Select|sm.Rows)
|
||||
self.scroll_to_row(indices[0].row())
|
||||
self.selected_ids = []
|
||||
|
||||
def sort_by_named_column(self, field, order, reset=True):
|
||||
if field in self.column_map:
|
||||
idx = self.column_map.index(field)
|
||||
if order:
|
||||
self.sortByColumn(idx, Qt.AscendingOrder)
|
||||
else:
|
||||
self.sortByColumn(idx, Qt.DescendingOrder)
|
||||
else:
|
||||
self._model.sort_by_named_column(field, order, reset)
|
||||
# }}}
|
||||
|
||||
# Ondevice column {{{
|
||||
|
Loading…
x
Reference in New Issue
Block a user