mirror of https://gitlab.com/pamhyr/pamhyr2
geometry: Fix sort undo command.
parent
51b9b3e1e4
commit
ea483e4d1e
|
|
@ -284,6 +284,7 @@ class Reach:
|
|||
reverse=is_reversed
|
||||
)
|
||||
|
||||
@trace
|
||||
@timer
|
||||
def sort_with_indexes(self, indexes: list):
|
||||
if len(self._profiles) != len(indexes):
|
||||
|
|
|
|||
|
|
@ -61,26 +61,25 @@ class DelCommand(QUndoCommand):
|
|||
self._reach.delete([self._index])
|
||||
|
||||
class SortCommand(QUndoCommand):
|
||||
@timer
|
||||
def __init__(self, reach, old, new):
|
||||
def __init__(self, reach, _reverse):
|
||||
QUndoCommand.__init__(self)
|
||||
|
||||
self._reach = reach
|
||||
self._reverse = _reverse
|
||||
|
||||
old = self._reach.profiles
|
||||
self._reach.sort(self._reverse)
|
||||
new = self._reach.profiles
|
||||
|
||||
self._indexes = list(
|
||||
map(
|
||||
lambda p: old.index(p),
|
||||
new
|
||||
)
|
||||
)
|
||||
self._rindexes = list(
|
||||
map(
|
||||
lambda p: new.index(p),
|
||||
old
|
||||
)
|
||||
)
|
||||
|
||||
def undo(self):
|
||||
self._reach.sort_with_indexes(self._indexes)
|
||||
|
||||
def redo(self):
|
||||
self._reach.sort_with_indexes(self._rindexes)
|
||||
self._reach.sort(self._reverse)
|
||||
|
|
|
|||
|
|
@ -103,7 +103,6 @@ class PandasModelEditable(QAbstractTableModel):
|
|||
value
|
||||
)
|
||||
)
|
||||
self._reach.profile(index.row()).name = value
|
||||
|
||||
if index.column() == 1:
|
||||
self._undo_stack.push(
|
||||
|
|
@ -113,7 +112,6 @@ class PandasModelEditable(QAbstractTableModel):
|
|||
value
|
||||
)
|
||||
)
|
||||
self._reach.profile(index.row()).kp = value
|
||||
|
||||
self.dataChanged.emit(index, index)
|
||||
self.layoutChanged.emit()
|
||||
|
|
@ -160,10 +158,15 @@ class PandasModelEditable(QAbstractTableModel):
|
|||
self.endRemoveRows()
|
||||
self.layoutChanged.emit()
|
||||
|
||||
@trace
|
||||
def sort_profiles(self, _reverse):
|
||||
self.layoutAboutToBeChanged.emit()
|
||||
|
||||
self._reach.sort(_reverse)
|
||||
self._undo_stack.push(
|
||||
SortCommand(
|
||||
self._reach, _reverse
|
||||
)
|
||||
)
|
||||
|
||||
self.layoutAboutToBeChanged.emit()
|
||||
self.layoutChanged.emit()
|
||||
|
|
|
|||
Loading…
Reference in New Issue