mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-31 14:33:54 -04:00
Edit book: Reports: Fix sorting by name of CSS rules
This commit is contained in:
parent
ecf422e450
commit
3b094d798c
@ -1018,12 +1018,14 @@ class CSSRulesModel(QAbstractItemModel):
|
||||
return 1
|
||||
|
||||
def data(self, index, role=Qt.ItemDataRole.DisplayRole):
|
||||
if index.column() != 0:
|
||||
return
|
||||
if role == SORT_ROLE:
|
||||
entry = self.index_to_entry(index)
|
||||
if isinstance(entry, CSSEntry):
|
||||
return entry.count if self.sort_on_count else entry.sort_key
|
||||
return entry.count if self.sort_on_count else QByteArray(entry.sort_key)
|
||||
if isinstance(entry, CSSFileMatch):
|
||||
return len(entry.locations) if self.sort_on_count else entry.sort_key
|
||||
return len(entry.locations) if self.sort_on_count else QByteArray(entry.sort_key)
|
||||
if isinstance(entry, MatchLocation):
|
||||
return entry.sourceline
|
||||
elif role == Qt.ItemDataRole.DisplayRole:
|
||||
@ -1099,6 +1101,7 @@ class CSSWidget(QWidget):
|
||||
e.setClearButtonEnabled(True)
|
||||
self.model = m = self.MODEL(self)
|
||||
self.proxy = p = self.PROXY(self)
|
||||
m.sort_on_count = self.read_state('sort-on-counts', True)
|
||||
p.setSourceModel(m)
|
||||
self.view = f = QTreeView(self)
|
||||
f.setAlternatingRowColors(True)
|
||||
@ -1111,10 +1114,10 @@ class CSSWidget(QWidget):
|
||||
l.addLayout(h)
|
||||
h.addWidget(QLabel(_('Sort by:')))
|
||||
self.counts_button = b = QRadioButton(_('&Counts'), self)
|
||||
b.setChecked(self.read_state('sort-on-counts', True))
|
||||
b.setChecked(m.sort_on_count)
|
||||
h.addWidget(b)
|
||||
self.name_button = b = QRadioButton(_('&Name'), self)
|
||||
b.setChecked(not self.read_state('sort-on-counts', True))
|
||||
b.setChecked(not m.sort_on_count)
|
||||
h.addWidget(b)
|
||||
b.toggled.connect(self.resort)
|
||||
h.addStrut(20)
|
||||
@ -1241,9 +1244,9 @@ class ClassesModel(CSSRulesModel):
|
||||
if role == SORT_ROLE:
|
||||
entry = self.index_to_entry(index)
|
||||
if isinstance(entry, ClassEntry):
|
||||
return entry.num_of_matches if self.sort_on_count else entry.sort_key
|
||||
return entry.num_of_matches if self.sort_on_count else QByteArray(entry.sort_key)
|
||||
if isinstance(entry, ClassFileMatch):
|
||||
return len(entry.class_elements) if self.sort_on_count else entry.sort_key
|
||||
return len(entry.class_elements) if self.sort_on_count else QByteArray(entry.sort_key)
|
||||
if isinstance(entry, ClassElement):
|
||||
return entry.line_number
|
||||
if isinstance(entry, CSSRule):
|
||||
|
Loading…
x
Reference in New Issue
Block a user