This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new eb632a807c Fix undo/redo in workflows, fixes #6028 (#6030)
eb632a807c is described below
commit eb632a807c669694c96e09ffb6e9b7d9aa61158c
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Tue Nov 18 14:05:42 2025 +0100
Fix undo/redo in workflows, fixes #6028 (#6030)
---
.../org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java | 6 ++++++
.../hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java | 4 +++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
index 627f44c857..2c81284f9b 100644
---
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
+++
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
@@ -641,6 +641,7 @@ public class HopGuiWorkflowGraph extends HopGuiAbstractGraph
//
case WORKFLOW_HOP_ICON:
WorkflowHopMeta hop = (WorkflowHopMeta) areaOwner.getOwner();
+ WorkflowHopMeta originalHop = hop.clone();
if (hop.getFromAction().isEvaluation()) {
if (hop.isUnconditional()) {
hop.setUnconditional(false);
@@ -652,6 +653,11 @@ public class HopGuiWorkflowGraph extends
HopGuiAbstractGraph
hop.setUnconditional(true);
}
}
+ hopGui.undoDelegate.addUndoChange(
+ workflowMeta,
+ new WorkflowHopMeta[] {originalHop},
+ new WorkflowHopMeta[] {hop},
+ new int[] {workflowMeta.indexOfWorkflowHop(hop)});
updateGui();
}
break;
diff --git
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java
index a21a0bf59f..7409b17134 100644
---
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java
+++
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java
@@ -113,6 +113,8 @@ public class HopGuiWorkflowUndoDelegate {
ActionMeta from =
workflowMeta.findAction(hopMeta.getFromAction().getName());
ActionMeta to =
workflowMeta.findAction(hopMeta.getToAction().getName());
WorkflowHopMeta newHopMeta = new WorkflowHopMeta(from, to);
+ newHopMeta.setEvaluation(hopMeta.isEvaluation());
+ newHopMeta.setUnconditional(hopMeta.isUnconditional());
workflowMeta.addWorkflowHop(idx, newHopMeta);
}
break;
@@ -293,7 +295,7 @@ public class HopGuiWorkflowUndoDelegate {
//
// CHANGE POSITION
//
- case PositionTransform:
+ case PositionAction:
for (int i = 0; i < changeAction.getCurrentIndex().length; i++) {
// Find & change the location of the transform:
ActionMeta action =
workflowMeta.getAction(changeAction.getCurrentIndex()[i]);