diff options
author | Jonathan Bauer | 2015-09-10 18:07:04 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-09-10 18:07:04 +0200 |
commit | 664b4c7c62c5b47838859b426f5a2fb4fc256b51 (patch) | |
tree | 8ddc9ef5ccd4363e4e9daf0e6ea7ca686360f4c3 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java | |
parent | [client] added "Expiring" column to versionTable and introduced FormatHelper.... (diff) | |
download | tutor-module-664b4c7c62c5b47838859b426f5a2fb4fc256b51.tar.gz tutor-module-664b4c7c62c5b47838859b426f5a2fb4fc256b51.tar.xz tutor-module-664b4c7c62c5b47838859b426f5a2fb4fc256b51.zip |
[client] ImageDetails: add listeners right from the start and fix removing the error message when all fields are valid and have NOT changed
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.java | 104 |
1 files changed, 43 insertions, 61 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 f1ca0c2a..254b8767 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 @@ -88,12 +88,12 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe * The current state of custom permissions of the image */ private Map<String, ImagePermissions> customPermissions; - + /** * The original custom permissions as fetched from the server */ private Map<String, ImagePermissions> originalCustomPermissions; - + /** * The original default permissions as fetched from the server */ @@ -106,37 +106,6 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe private JMenuItem popupItemDownload = new JMenuItem("Download"); private JMenuItem popupItemDelete = new JMenuItem("Löschen"); - private 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) { - reactToChange(); - } - }; - private final ItemListener comboItemListener = new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - if (e.getStateChange() == ItemEvent.SELECTED) { - reactToChange(); - } - } - }; - // Listener to detect changes in checkboxes - private final ActionListener checkBoxListener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - reactToChange(); - } - }; /** * Constructor * @@ -283,6 +252,44 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe makeEditable(false); // TODO finish ShareMode in server cboShareMode.setEnabled(false); + + // listen to changes + 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) { + reactToChange(); + } + }; + final ItemListener comboItemListener = new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + if (e.getStateChange() == ItemEvent.SELECTED) { + reactToChange(); + } + } + }; + final ActionListener checkBoxListener = new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + reactToChange(); + } + }; + txtTitle.getDocument().addDocumentListener(docListener); + txtDescription.getDocument().addDocumentListener(docListener); + txtTags.getDocument().addDocumentListener(docListener); + cboOperatingSystem.addItemListener(comboItemListener); + cboShareMode.addItemListener(comboItemListener); + chkIsTemplate.addActionListener(checkBoxListener); } /******************************************************************************** @@ -422,7 +429,6 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe private void fill() { if (image == null) return; - listenToChange(false); // remember default permissions if (image.defaultPermissions != null) { originalDefaultPermissions = new ImagePermissions(image.defaultPermissions); @@ -485,40 +491,16 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe // set the versions of the image to the table versionTable.setData(image.getVersions(), true); - // start listening to changes - listenToChange(true); // make fields editable is allowed makeEditable(true); // finally do show it all setVisible(true); } - /** - * Manages listeners of image details fields. Adds them if enabled is true, - * removes them otherwise. - * @param enabled whether to enable or disable the listeners. - */ - private void listenToChange(boolean enabled) { - if (enabled) { - txtTitle.getDocument().addDocumentListener(docListener); - txtDescription.getDocument().addDocumentListener(docListener); - txtTags.getDocument().addDocumentListener(docListener); - cboOperatingSystem.addItemListener(comboItemListener); - cboShareMode.addItemListener(comboItemListener); - chkIsTemplate.addActionListener(checkBoxListener); - } else { - txtTitle.getDocument().removeDocumentListener(docListener); - txtDescription.getDocument().removeDocumentListener(docListener); - txtTags.getDocument().removeDocumentListener(docListener); - cboOperatingSystem.removeItemListener(comboItemListener); - cboShareMode.removeItemListener(comboItemListener); - chkIsTemplate.removeActionListener(checkBoxListener); - } - } /** * Checks whether the user changed any fields of the image details and * enables the save button if so - * TODO TAGS! + * TODO TAGS */ private boolean reactToChange() { // disable save by default here, we will enable it at the end if all checks passed @@ -556,8 +538,8 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe || chkIsTemplate.isSelected() != image.isTemplate || !image.defaultPermissions.equals(originalDefaultPermissions) || PermsHelper.hasChanged(originalCustomPermissions, customPermissions); - if (changed) - lblError.setText(null); + + lblError.setText(null); btnSaveChanges.setEnabled(changed); return changed; } |