From b450796df592334e9db4ba3743ea1b2feb64f3b2 Mon Sep 17 00:00:00 2001 From: Dylan Jeannin Date: Mon, 11 May 2026 16:14:35 +0200 Subject: [PATCH] stab window InitialCond AdisTS (undo / redo / add / delete / save / load), all should work correctly --- src/View/InitialConditionsAdisTS/Table.py | 2 ++ src/View/InitialConditionsAdisTS/Window.py | 20 ++++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/View/InitialConditionsAdisTS/Table.py b/src/View/InitialConditionsAdisTS/Table.py index b84beed1..005b8161 100644 --- a/src/View/InitialConditionsAdisTS/Table.py +++ b/src/View/InitialConditionsAdisTS/Table.py @@ -245,8 +245,10 @@ class InitialConditionTableModel(PamhyrTableModel): def undo(self): self._undo.undo() + self._setup_lst() self.layoutChanged.emit() def redo(self): self._undo.redo() + self._setup_lst() self.layoutChanged.emit() diff --git a/src/View/InitialConditionsAdisTS/Window.py b/src/View/InitialConditionsAdisTS/Window.py index 2f7ddacc..a38ad0ff 100644 --- a/src/View/InitialConditionsAdisTS/Window.py +++ b/src/View/InitialConditionsAdisTS/Window.py @@ -273,11 +273,27 @@ class InitialConditionsAdisTSWindow(PamhyrWindow): self._update() def _undo(self): - self._table.undo() + undo_stack = self._undo_stack + if undo_stack is None or not undo_stack.canUndo(): + return + + if isinstance(undo_stack.command(undo_stack.index() - 1), SetCommand): + self._table.undo() + else: + self._table_spec.undo() + self._update() def _redo(self): - self._table.redo() + undo_stack = self._undo_stack + if undo_stack is None or not undo_stack.canRedo(): + return + + if isinstance(undo_stack.command(undo_stack.index()), SetCommand): + self._table.redo() + else: + self._table_spec.redo() + self._update() def add(self):