From dba7daf0f260911a7e9a3d5c5991b48d5fe4ea60 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2021 16:30:01 +0530 Subject: [PATCH] pyqt6: setSortIndicator() and setCheckState() --- src/calibre/gui2/dialogs/check_library.py | 12 +++++++----- src/calibre/gui2/library/views.py | 3 ++- src/calibre/gui2/store/search/search.py | 9 ++++++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/calibre/gui2/dialogs/check_library.py b/src/calibre/gui2/dialogs/check_library.py index d4265aaad1..1328d541fc 100644 --- a/src/calibre/gui2/dialogs/check_library.py +++ b/src/calibre/gui2/dialogs/check_library.py @@ -266,25 +266,25 @@ def builder(tree, checker, check): tl.setData(1, Qt.ItemDataRole.UserRole, self.is_fixable) tl.setText(1, _('(fixable)')) tl.setFlags(Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsUserCheckable) - tl.setCheckState(1, False) + tl.setCheckState(1, Qt.CheckState.Unchecked) else: tl.setData(1, Qt.ItemDataRole.UserRole, self.is_deletable) tl.setData(2, Qt.ItemDataRole.UserRole, self.is_deletable) tl.setText(1, _('(deletable)')) tl.setFlags(Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsUserCheckable) - tl.setCheckState(1, False) + tl.setCheckState(1, Qt.CheckState.Unchecked) if attr == 'extra_covers': tl.setData(2, Qt.ItemDataRole.UserRole, self.is_deletable) tl.setText(2, _('(deletable)')) tl.setFlags(Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsUserCheckable) - tl.setCheckState(2, False) + tl.setCheckState(2, Qt.CheckState.Unchecked) self.top_level_items[attr] = tl for problem in list_: it = Item() if checkable: it.setFlags(Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsUserCheckable) - it.setCheckState(2, False) + it.setCheckState(2, Qt.CheckState.Unchecked) it.setData(2, Qt.ItemDataRole.UserRole, self.is_deletable) else: it.setFlags(Qt.ItemFlag.ItemIsEnabled) @@ -318,6 +318,8 @@ def item_expanded_or_collapsed(self, item): def item_changed(self, item, column): def set_delete_boxes(node, col, to_what): + if isinstance(to_what, bool): + to_what = Qt.CheckState.Checked if to_what else Qt.CheckState.Unchecked self.log.blockSignals(True) if col: node.setCheckState(col, to_what) @@ -357,7 +359,7 @@ def any_fix_checked(): set_delete_boxes(item, column, item.checkState(column)) if column == 2: self.log.blockSignals(True) - item.setCheckState(1, False) + item.setCheckState(1, Qt.CheckState.Unchecked) self.log.blockSignals(False) else: item.setCheckState(column, Qt.CheckState.Unchecked) diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index 689a32857b..c115443373 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -1483,6 +1483,7 @@ def resort(self): def reverse_sort(self): h = self.horizontalHeader() - h.setSortIndicator(h.sortIndicatorSection(), 1 - int(h.sortIndicatorOrder())) + h.setSortIndicator( + h.sortIndicatorSection(), Qt.SortOrder.AscendingOrder if h.sortIndicatorOrder() == Qt.SortOrder.DescendingOrder else Qt.SortOrder.DescendingOrder) # }}} diff --git a/src/calibre/gui2/store/search/search.py b/src/calibre/gui2/store/search/search.py index 61622fd006..ba5536329e 100644 --- a/src/calibre/gui2/store/search/search.py +++ b/src/calibre/gui2/store/search/search.py @@ -250,7 +250,7 @@ def save_state(self): self.config['store_splitter_state'] = bytearray(self.store_splitter.saveState()) self.config['results_view_column_width'] = [self.results_view.columnWidth(i) for i in range(self.results_view.model().columnCount())] self.config['sort_col'] = self.results_view.model().sort_col - self.config['sort_order'] = self.results_view.model().sort_order + self.config['sort_order'] = self.results_view.model().sort_order.value self.config['open_external'] = self.open_external.isChecked() store_check = {} @@ -285,8 +285,11 @@ def restore_state(self): self.store_checks[n].setChecked(store_check[n]) self.results_view.model().sort_col = self.config.get('sort_col', 2) - self.results_view.model().sort_order = self.config.get('sort_order', Qt.SortOrder.AscendingOrder) - self.results_view.header().setSortIndicator(self.results_view.model().sort_col, self.results_view.model().sort_order) + so = self.config.get('sort_order', Qt.SortOrder.AscendingOrder) + if isinstance(so, int): + so = Qt.SortOrder(so) + self.results_view.model().sort_order = so + self.results_view.header().setSortIndicator(self.results_view.model().sort_col, so) def load_settings(self): # Seconds