mirror of https://gitlab.com/pamhyr/pamhyr2
Stricklers: Fix sort command.
parent
113fafac50
commit
66691d68f8
|
|
@ -14,7 +14,7 @@ class StricklersList(object):
|
||||||
return len(self._stricks)
|
return len(self._stricks)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def stricks(self):
|
def stricklers(self):
|
||||||
return self._stricks.copy()
|
return self._stricks.copy()
|
||||||
|
|
||||||
def get(self, index):
|
def get(self, index):
|
||||||
|
|
@ -53,10 +53,15 @@ class StricklersList(object):
|
||||||
)
|
)
|
||||||
self.delete(stricks)
|
self.delete(stricks)
|
||||||
|
|
||||||
def sort(self, reverse:bool = False):
|
@timer
|
||||||
self._strick = sorted(
|
def sort(self, reverse:bool = False, key=None):
|
||||||
self._strick,
|
f = lambda st: st.name
|
||||||
key = lambda st: st.name,
|
if key is not None:
|
||||||
|
f = key
|
||||||
|
|
||||||
|
self._stricks = sorted(
|
||||||
|
self._stricks,
|
||||||
|
key = f,
|
||||||
reverse = reverse,
|
reverse = reverse,
|
||||||
)
|
)
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
|
|
|
||||||
|
|
@ -114,27 +114,22 @@ class SortCommand(QUndoCommand):
|
||||||
self._data = data
|
self._data = data
|
||||||
self._reverse = _reverse
|
self._reverse = _reverse
|
||||||
|
|
||||||
self._old = self._data.get_tab(self._tab)
|
self._old = self._data.stricklers
|
||||||
self._indexes = None
|
self._indexes = None
|
||||||
|
|
||||||
def undo(self):
|
def undo(self):
|
||||||
ll = self._data.get_tab(self._tab)
|
ll = self._data.stricklers
|
||||||
self._data.sort(
|
self._data.sort()
|
||||||
self._tab,
|
|
||||||
key=lambda x: self._indexes[ll.index(x)]
|
|
||||||
)
|
|
||||||
|
|
||||||
def redo(self):
|
def redo(self):
|
||||||
self._data.sort(
|
self._data.sort(
|
||||||
self._tab,
|
|
||||||
reverse=self._reverse,
|
reverse=self._reverse,
|
||||||
key=lambda x: x.name
|
|
||||||
)
|
)
|
||||||
if self._indexes is None:
|
if self._indexes is None:
|
||||||
self._indexes = list(
|
self._indexes = list(
|
||||||
map(
|
map(
|
||||||
lambda p: self._old.index(p),
|
lambda p: self._old.index(p),
|
||||||
self._data.get_tab(self._tab)
|
self._data.stricklers
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
self._old = None
|
self._old = None
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,7 @@ class StricklersWindow(ASubMainWindow, ListedSubWindow):
|
||||||
self._table['study'].delete(rows)
|
self._table['study'].delete(rows)
|
||||||
|
|
||||||
def sort(self):
|
def sort(self):
|
||||||
self._table['study'].sort()
|
self._table['study'].sort(False)
|
||||||
|
|
||||||
def copy(self):
|
def copy(self):
|
||||||
print("TODO")
|
print("TODO")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue