package cz.nkp.differ.gui.windows;
import java.io.File;
import org.vaadin.easyuploads.MultiFileUpload;
import com.vaadin.ui.Window;
import cz.nkp.differ.DifferApplication;
import cz.nkp.differ.exceptions.ImageDifferException;
import cz.nkp.differ.gui.components.UserFilesWidget;
import cz.nkp.differ.model.Image;
@SuppressWarnings("serial")
public class UploadFilesWindow extends Window {
private MainDifferWindow mainWindow;
public UploadFilesWindow(final MainDifferWindow window) {
this.mainWindow = window;
setCaption("Upload Files");
setModal(true);
setDraggable(false);
setResizable(false);
center();
setWidth("25%");
upload = new MultiFileUpload() {
@Override
protected void handleFile(File file, String fileName,
String mimeType, long length) {
DifferApplication app = (DifferApplication) DifferApplication.getCurrentApplication();
try {
Image image = DifferApplication.getImageManager().uploadImage(app.getLoggedUser(), file, fileName);
for (UserFilesWidget widget : mainWindow.getUserFilesWidgets()) {
widget.refresh();
}
} catch (ImageDifferException ide) {
window.showNotification("Error when uploading file.", "<br/>" + ide.getMessage(), Window.Notification.TYPE_ERROR_MESSAGE);
}
}
};
addComponent(upload);
}
MultiFileUpload upload;
}