Commit 66691d68 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

Stricklers: Fix sort command.

Showing with 15 additions and 15 deletions
+15 -15
......@@ -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")
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment