diff --git a/grum/dictlist/dictlistwidget.py b/grum/dictlist/dictlistwidget.py index 09a0990..b1af848 100644 --- a/grum/dictlist/dictlistwidget.py +++ b/grum/dictlist/dictlistwidget.py @@ -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):