RAP filechooser field reset after invalid value not correct
Change-Id: Id7506353e9fe021acfc6ea72623a64d2ecc4b90b
Reviewed-on: https://git.eclipse.org/r/46259
Reviewed-by: Judith Gull <jgu@bsiag.com>
Tested-by: Judith Gull <jgu@bsiag.com>
diff --git a/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/form/fields/filechooserfield/RwtScoutFileUploadField.java b/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/form/fields/filechooserfield/RwtScoutFileUploadField.java
index cc0e455..7de0d31 100644
--- a/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/form/fields/filechooserfield/RwtScoutFileUploadField.java
+++ b/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/form/fields/filechooserfield/RwtScoutFileUploadField.java
@@ -188,6 +188,7 @@
}
getUiField().setText(filename);
+ resetUpload();
handleUpload();
}
});
@@ -421,39 +422,50 @@
if (m_uploadListener == null) {
m_uploadListener = new P_FileUploadListener();
}
- m_uploadListener.startUpload();
m_handler.addUploadListener(m_uploadListener);
+ m_uploadListener.startUpload();
createProgressBar();
getUiBrowseButton().submit(url);
}
+ private void resetUpload() {
+ disposeHandler();
+ disposeProgressBar();
+ initializeFileUpload();
+ }
+
private boolean cancelUpload() {
- if (m_uploadedFile != null) {
- return false;
+ disposeHandler();
+ disposeBrowseButton();
+ disposeProgressBar();
+ getUiField().setText("");
+
+ initializeFileUpload();
+ createBrowseButton();
+ return true;
+ }
+
+ private void disposeBrowseButton() {
+ DropDownFileUpload uiBrowseButton = getUiBrowseButton();
+ if (uiBrowseButton != null && !uiBrowseButton.isDisposed()) {
+ uiBrowseButton.dispose();
}
+ }
+
+ private void disposeProgressBar() {
+ ProgressBar uiProgressBar = getUiProgressBar();
+ if (uiProgressBar != null && !uiProgressBar.isDisposed()) {
+ uiProgressBar.dispose();
+ }
+ }
+
+ private void disposeHandler() {
if (m_uploadListener != null) {
m_handler.removeUploadListener(m_uploadListener);
m_uploadListener.cancelUpload();
m_uploadListener = null;
}
m_handler.dispose();
-
- DropDownFileUpload uiBrowseButton = getUiBrowseButton();
- if (uiBrowseButton != null && !uiBrowseButton.isDisposed()) {
- uiBrowseButton.dispose();
- }
-
- ProgressBar uiProgressBar = getUiProgressBar();
- if (uiProgressBar != null && !uiProgressBar.isDisposed()) {
- uiProgressBar.dispose();
- }
- getUiField().setText("");
-
- initializeFileUpload();
-
- createBrowseButton();
-
- return true;
}
@Override