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)
|
||||
|
||||
@property
|
||||
def stricks(self):
|
||||
def stricklers(self):
|
||||
return self._stricks.copy()
|
||||
|
||||
def get(self, index):
|
||||
|
|
@ -53,10 +53,15 @@ class StricklersList(object):
|
|||
)
|
||||
self.delete(stricks)
|
||||
|
||||
def sort(self, reverse:bool = False):
|
||||
self._strick = sorted(
|
||||
self._strick,
|
||||
key = lambda st: st.name,
|
||||
@timer
|
||||
def sort(self, reverse:bool = False, key=None):
|
||||
f = lambda st: st.name
|
||||
if key is not None:
|
||||
f = key
|
||||
|
||||
self._stricks = sorted(
|
||||
self._stricks,
|
||||
key = f,
|
||||
reverse = reverse,
|
||||
)
|
||||
self._status.modified()
|
||||
|
|
|
|||
|
|
@ -114,27 +114,22 @@ class SortCommand(QUndoCommand):
|
|||
self._data = data
|
||||
self._reverse = _reverse
|
||||
|
||||
self._old = self._data.get_tab(self._tab)
|
||||
self._old = self._data.stricklers
|
||||
self._indexes = None
|
||||
|
||||
def undo(self):
|
||||
ll = self._data.get_tab(self._tab)
|
||||
self._data.sort(
|
||||
self._tab,
|
||||
key=lambda x: self._indexes[ll.index(x)]
|
||||
)
|
||||
ll = self._data.stricklers
|
||||
self._data.sort()
|
||||
|
||||
def redo(self):
|
||||
self._data.sort(
|
||||
self._tab,
|
||||
reverse=self._reverse,
|
||||
key=lambda x: x.name
|
||||
)
|
||||
if self._indexes is None:
|
||||
self._indexes = list(
|
||||
map(
|
||||
lambda p: self._old.index(p),
|
||||
self._data.get_tab(self._tab)
|
||||
self._data.stricklers
|
||||
)
|
||||
)
|
||||
self._old = None
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ class StricklersWindow(ASubMainWindow, ListedSubWindow):
|
|||
self._table['study'].delete(rows)
|
||||
|
||||
def sort(self):
|
||||
self._table['study'].sort()
|
||||
self._table['study'].sort(False)
|
||||
|
||||
def copy(self):
|
||||
print("TODO")
|
||||
|
|
|
|||
Loading…
Reference in New Issue