summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
index 32adaf24..e2d55f29 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
@@ -32,6 +32,7 @@ import org.apache.thrift.TException;
import org.openslx.bwlp.thrift.iface.ImageBaseWrite;
import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
import org.openslx.bwlp.thrift.iface.ImagePermissions;
+import org.openslx.bwlp.thrift.iface.ImagePublishData;
import org.openslx.bwlp.thrift.iface.ImageSummaryRead;
import org.openslx.bwlp.thrift.iface.ImageVersionDetails;
import org.openslx.bwlp.thrift.iface.LectureSummary;
@@ -46,6 +47,7 @@ import org.openslx.dozmod.gui.helper.PopupMenu;
import org.openslx.dozmod.gui.helper.TextChangeListener;
import org.openslx.dozmod.gui.helper.UiFeedback;
import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback;
+import org.openslx.dozmod.gui.window.VmxEditorWindow.VmxChangedCallback;
import org.openslx.dozmod.gui.window.layout.ImageDetailsWindowLayout;
import org.openslx.dozmod.gui.wizard.ImageUpdateWizard;
import org.openslx.dozmod.gui.wizard.LectureWizard;
@@ -185,6 +187,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
if (safeClose()) {
LectureListWindow page = MainWindow.showPage(LectureListWindow.class);
page.filterByImageBaseId(image.imageBaseId);
+
}
}
});
@@ -205,6 +208,42 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
}, "Besitzer festlegen", image.ownerId);
}
});
+ btnEditVmx.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ QuickTimer.scheduleOnce(new Task() {
+ ImagePublishData data = null;
+ @Override
+ public void fire() {
+ data = ThriftActions.getImageData(image.imageBaseId);
+ Gui.asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ if (data == null) {
+ // TODO warn user about failure
+ return;
+ }
+ // open basic vmx editor
+ byte[] bytes;
+ if(data.machineDescription.hasArray()) {
+ bytes = data.machineDescription.array();
+ } else {
+ bytes = new byte[data.machineDescription.remaining()];
+ data.machineDescription.get(bytes);
+ }
+ String dataString = new String(bytes, java.nio.charset.StandardCharsets.UTF_8);
+ VmxEditorWindow.open(me, new VmxChangedCallback() {
+ @Override
+ public void vmxChanged(String newVmx) {
+ // TODO save it
+ }
+ }, dataString);
+ }
+ });
+ }
+ });
+ }
+ });
btnPermissions.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {