added possibility to enabling/disabling sorting for the list
This commit is contained in:
@ -72,4 +72,27 @@ class DictListWidget(QListWidget):
|
|||||||
i.set_alarm(state)
|
i.set_alarm(state)
|
||||||
|
|
||||||
|
|
||||||
|
def set_sort_key(self, sk):
|
||||||
|
for i in self.items.values():
|
||||||
|
i.set_sort_key(sk)
|
||||||
|
|
||||||
|
if sk is None:
|
||||||
|
self.setSortingEnabled(False)
|
||||||
|
else:
|
||||||
|
self.setSortingEnabled(True)
|
||||||
|
self.sortItems()
|
||||||
|
|
||||||
|
|
||||||
|
def disable_sorting(self):
|
||||||
|
# map order in dict to indices
|
||||||
|
mapping = enumerate(reversed(self.items.values()))
|
||||||
|
mapping = {item.text(): index for index, item in mapping}
|
||||||
|
|
||||||
|
def unsort(x):
|
||||||
|
return mapping[x.text()]
|
||||||
|
|
||||||
|
self.set_sort_key(unsort)
|
||||||
|
self.set_sort_key(None)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user