summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page
diff options
context:
space:
mode:
authorJonathan Bauer2015-07-17 13:13:12 +0200
committerJonathan Bauer2015-07-17 13:13:12 +0200
commit77f206be783ebf8983adcaad1e4d6333b2d6792d (patch)
treeedac2d871c75f16a27cd5766193b86c195fe7b97 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page
parent[client] More copypaste removed (diff)
downloadtutor-module-77f206be783ebf8983adcaad1e4d6333b2d6792d.tar.gz
tutor-module-77f206be783ebf8983adcaad1e4d6333b2d6792d.tar.xz
tutor-module-77f206be783ebf8983adcaad1e4d6333b2d6792d.zip
[client] improved ImageMetaDataPage setPageComplete logic
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java67
1 files changed, 38 insertions, 29 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java
index 395beed1..d4e47078 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java
@@ -61,20 +61,7 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
osCombo.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- final int selectionIndex = osCombo.getSelectionIndex();
- if (selectionIndex != -1) {
- uploadWizardState.selectedOs = (OperatingSystem) osCombo.getData(osCombo.getItem(selectionIndex));
- LOGGER.debug(uploadWizardState.selectedOs.toString());
-
- // complete if the description was filled
- if (!descriptionText.getText().isEmpty()) {
- setMessage("Alles fertig, clicken Sie 'Finish'.");
- setPageComplete(true);
- } else {
- setMessage("Fügen Sie eine Beschreibung hinzu.");
- setPageComplete(false);
- }
- }
+ setPageCompleteOrMessage();
}
});
@@ -85,21 +72,7 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
@Override
public void keyReleased(KeyEvent e) {
- if (!descriptionText.getText().isEmpty()) {
- uploadWizardState.description = descriptionText.getText();
- // complete if the OS was selected
- if (osCombo.getSelectionIndex() != 1) {
- setMessage("Alles fertig, clicken Sie 'Finish'.");
- setPageComplete(true);
- } else {
- setMessage("Wählen Sie das Betriebssystem aus.");
- setPageComplete(false);
- }
- } else {
- // no description text
- setMessage("Fügen Sie eine Beschreibung hinzu.");
- setPageComplete(false);
- }
+ setPageCompleteOrMessage();
}
});
// -- checkboxes for permissions --
@@ -170,4 +143,40 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
// Select no OS by default
osCombo.clearSelection();
}
+
+ /**
+ * Called by event listeners. This will set guidance message or error message
+ * and call setPageComplete(bool) accordingly.
+ */
+ private void setPageCompleteOrMessage() {
+
+ final int selectionIndex = osCombo.getSelectionIndex();
+ final String descriptionInput = descriptionText.getText();
+
+ // first check if both the combo and the description field are empty
+ if (selectionIndex == -1) {
+ if (descriptionInput.isEmpty()) {
+ // both empty, set the regular message
+ setMessage("Bitte wählen Sie das Betriebssystem aus und fügen Sie eine Beschreibung hinzu.");
+ } else {
+ // OS empty, description input present
+ setMessage("Wählen Sie das Betriebssystem aus.");
+ }
+ } else {
+ // OS selected, save it to state
+ uploadWizardState.selectedOs = (OperatingSystem) osCombo.getData(osCombo.getItem(selectionIndex));
+ LOGGER.debug(uploadWizardState.selectedOs.toString());
+ if (descriptionInput.isEmpty()) {
+ // OS set, no description
+ setMessage("Fügen Sie eine Beschreibung hinzu.");
+ } else {
+ // all set
+ setMessage("Alles fertig, clicken Sie 'Finish'.");
+ }
+ }
+ // always save the description input, even if empty.
+ uploadWizardState.description = descriptionInput;
+ // final step: check if we can continue or not
+ setPageComplete(selectionIndex != -1 && !descriptionInput.isEmpty());
+ }
}