package comeon.ui.add;
import com.google.common.io.Resources;
import comeon.templates.Templates;
import comeon.ui.UI;
import javax.swing.*;
import java.io.File;
public final class AddMediaDialog extends JOptionPane {
private static final long serialVersionUID = 1L;
private static final ImageIcon ICON = new ImageIcon(Resources.getResource("comeon/ui/addmedia_huge.png"));
private final AddModel model;
private final AddController controller;
private final JDialog dialog;
private final AddMediaPanel mediaPanel;
public AddMediaDialog(final Templates templates) {
this(templates, new File[0]);
}
public AddMediaDialog(final Templates templates, final File[] preselectedFiles) {
super(null, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, ICON);
this.controller = new AddController(templates);
this.model = new AddModel();
this.controller.registerModel(model);
this.mediaPanel = new AddMediaPanel(controller);
this.controller.registerView(mediaPanel);
this.setMessage(this.mediaPanel);
this.dialog = this.createDialog(UI.findInstance(), UI.BUNDLE.getString("action.addmedia.title"));
this.dialog.setIconImages(UI.ICON_IMAGES);
this.model.setMediaFiles(preselectedFiles);
}
public int showDialog() {
this.dialog.setVisible(true);
return (Integer) this.getValue();
}
public AddModel getModel() {
return model;
}
}