Allow to upload multiple images at once from file upload

Change-Id: Ic35bac60812a7a3662a10ab3f0c1df89b6227e2d
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByFileSelection.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByFileSelection.java
index 69a0ad4..b202cd0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByFileSelection.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByFileSelection.java
@@ -29,6 +29,7 @@
     FormPanel form = new FormPanel();
     FileUpload upload = new FileUpload();
     upload.setName("Select Image");
+    upload.getElement().setAttribute("multiple", "multiple");
     upload.getElement().setAttribute("onChange", "imagareSubmit(event)");
     form.add(upload);
 
@@ -37,19 +38,22 @@
 
   private static native void init0() /*-{
     $wnd.imagareSubmit = function submit(event) {
-      var f = event.target.files[0];
-      if (f) {
-        var r = new FileReader();
-        r.onload = function(e) {
-          if (f.type.match('image/.*')) {
-            @com.googlesource.gerrit.plugins.imagare.client.ImageUploader::stageImage(Ljava/lang/String;Ljava/lang/String;)(e.target.result, f.name);
-          } else {
-            $wnd.Gerrit.showError('no image file');
+      for(var i = 0; i < event.target.files.length; i++) {
+        var f = event.target.files[i];
+        if (f) {
+          if (!f.type.match('image/.*')) {
+            $wnd.Gerrit.showError('no image file: ' + f.name);
           }
+
+          var r = new FileReader();
+          r.file = f;
+          r.onload = function(e) {
+            @com.googlesource.gerrit.plugins.imagare.client.ImageUploader::stageImage(Ljava/lang/String;Ljava/lang/String;)(e.target.result, this.file.name);
+          }
+          r.readAsDataURL(f);
+        } else {
+          $wnd.Gerrit.showError('Failed to load file: ' + f.name);
         }
-        r.readAsDataURL(f);
-      } else {
-        $wnd.Gerrit.showError('Failed to load file.');
       }
     }
   }-*/;