summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-08 11:55:21 +0200
committerJonathan Bauer2015-08-08 11:55:21 +0200
commit11242c9559db7778b6ba66905b01227ad096162d (patch)
treecbe2852891baa4e504d0dfff53592d673eb2eb27 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
parent[client] Implement progress bar for uploads in main window (diff)
downloadtutor-module-11242c9559db7778b6ba66905b01227ad096162d.tar.gz
tutor-module-11242c9559db7778b6ba66905b01227ad096162d.tar.xz
tutor-module-11242c9559db7778b6ba66905b01227ad096162d.zip
[client] imagedetails stuff
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.java73
1 files changed, 64 insertions, 9 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 be2ff02c..f8baddb7 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
@@ -1,8 +1,11 @@
package org.openslx.dozmod.gui.window;
+import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
@@ -11,13 +14,26 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
import javax.swing.JMenuItem;
+import javax.swing.JTextField;
+import javax.swing.RowFilter;
+import javax.swing.UIManager;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+import javax.swing.event.ListDataEvent;
+import javax.swing.event.ListDataListener;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
import org.openslx.bwlp.thrift.iface.ImagePermissions;
import org.openslx.bwlp.thrift.iface.ImageVersionDetails;
import org.openslx.bwlp.thrift.iface.OperatingSystem;
+import org.openslx.bwlp.thrift.iface.ShareMode;
import org.openslx.bwlp.thrift.iface.Virtualizer;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.MainWindow;
@@ -47,6 +63,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout {
public ImageDetailsWindow(Frame modalParent) {
super(modalParent);
setFocusable(true);
+ btnSaveChanges.setEnabled(false);
// ESC closes this window
addKeyListener(new KeyAdapter() {
@@ -57,16 +74,8 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout {
}
}
});
- // Close button closes window
- btnClose.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- dispose();
- }
- });
// nothing to save at first since nothing changed
- btnSaveChanges.setEnabled(false);
btnSaveChanges.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -74,6 +83,14 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout {
// TODO do save
}
});
+ // Close button closes window
+ btnClose.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ dispose();
+ }
+ });
+
// Setup popup menu for the right panel
final PopupMenu pop = new PopupMenu(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -211,8 +228,46 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout {
makeEditable(ImagePerms.canEdit(image));
pack();
MainWindow.centerShell(this);
+
+ // final step, add listen
+ // the document stuff
+ final DocumentListener docListener = new DocumentListener() {
+ @Override
+ public void removeUpdate(DocumentEvent e) { changedUpdate(e); }
+ @Override
+ public void insertUpdate(DocumentEvent e) { changedUpdate(e); }
+ @Override
+ public void changedUpdate(DocumentEvent e) {
+
+ btnSaveChanges.setEnabled(
+ txtDescription.getText() != image.getDescription()
+ // TODO TAGS
+ );
+ }
+ };
+ txtDescription.getDocument().addDocumentListener(docListener);
+ txtTags.getDocument().addDocumentListener(docListener);
+
+ // Comboboxes
+ final ItemListener comboItemListener = new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ if (e.getStateChange() == ItemEvent.SELECTED) {
+ // get new selected object
+ // the ugly:
+ OperatingSystem newOs = cboOperatingSystem.getItemAt(cboOperatingSystem.getSelectedIndex());
+ ShareMode newShareMode = cboShareMode.getItemAt(cboShareMode.getSelectedIndex());
+ // change occured, make the save button active
+ btnSaveChanges.setEnabled(
+ newOs != null && newOs.getOsId() != image.getOsId()
+ || newShareMode != null && newShareMode.equals(image.shareMode));
+ }
+ }
+ };
+ cboOperatingSystem.addItemListener(comboItemListener);
+ cboShareMode.addItemListener(comboItemListener);
+ // finally do show it
setVisible(true);
- // refreshList();
}
/**