diff --git a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotController.java b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotController.java index fc79edaba4..21ef50f53d 100644 --- a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotController.java +++ b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotController.java @@ -771,6 +771,7 @@ public void saveSnapshot(ActionEvent actionEvent) { List snapshotItems = snapshot.getSnapshotData().getSnapshotItems(); SnapshotData snapshotData = new SnapshotData(); snapshotData.setSnapshotItems(snapshotItems); + snapshotData.setUniqueId(snapshot.getSnapshotNode().getUniqueId()); this.snapshot.setSnapshotData(snapshotData); Node snapshotNode = Node.builder() @@ -819,6 +820,7 @@ private List configurationToSnapshotItems(List configPvs private void updateLoadedSnapshot(TableEntry rowValue, VType newValue) { + snapshotDataDirty.set(true); snapshot.getSnapshotData().getSnapshotItems().stream() .filter(item -> item.getConfigPv().equals(rowValue.getConfigPv())) .findFirst() @@ -892,6 +894,7 @@ private void showLoggingError(String cause) { */ public void loadSnapshot(Node snapshotNode) { disabledUi.set(true); + storedValueColumn.editableProperty().set(snapshotNode.getNodeType().equals(NodeType.SNAPSHOT)); JobManager.schedule("Load snapshot items", monitor -> { try { this.snapshot = getSnapshotFromService(snapshotNode);