correctly set descending order (except for "sort by text")

This commit is contained in:
2023-02-03 00:57:26 +01:00
parent cf4fbad5e7
commit ab1d0d524e

View File

@ -72,19 +72,20 @@ class DictListWidget(QListWidget):
i.set_alarm(state)
def set_sort_key(self, sk):
def set_sort_key(self, sk, reverse=True):
DictListItem.set_sort_key(sk)
if sk is None:
self.setSortingEnabled(False)
else:
self.setSortingEnabled(True)
self.sortItems()
order = Qt.DescendingOrder if reverse else Qt.AscendingOrder
self.sortItems(order)
def enable_sort_by_insertion_order(self):
# map order in dict to indices
mapping = enumerate(reversed(self.items.values()))
mapping = enumerate(self.items.values())
mapping = {item.text(): index for index, item in mapping}
def unsort(x):
@ -95,7 +96,11 @@ class DictListWidget(QListWidget):
def enable_sort_by_text(self):
self.set_sort_key(lambda x: x.text())
self.set_sort_key(lambda x: x.text(), reverse=False)
def enable_sort_by_timestamp(self):
self.set_sort_key(lambda x: (x.timestamps.max(), x.text()))
def disable_sorting(self):