Stricklers: Fix sort command.

mesh
Pierre-Antoine Rouby 2023-05-16 16:48:19 +02:00
parent 113fafac50
commit 66691d68f8
3 changed files with 15 additions and 15 deletions

View File

@ -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()

View File

@ -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

View File

@ -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")