/** Open the settings panel */ public boolean openSettings() { if (optionsOpen) { return false; } optionsOpen = true; final JFrame frame = new JFrame("Sleeksnap Settings"); final OptionPanel panel = new OptionPanel(this); panel.getUploaderPanel().setImageUploaders(uploaders.get(ImageUpload.class).values()); panel.getUploaderPanel().setTextUploaders(uploaders.get(TextUpload.class).values()); panel.getUploaderPanel().setURLUploaders(uploaders.get(URLUpload.class).values()); panel.getUploaderPanel().setFileUploaders(uploaders.get(FileUpload.class).values()); panel.setHistory(history); panel.doneBuilding(); frame.add(panel); frame.pack(); frame.setVisible(true); frame.setResizable(false); try { frame.setIconImage(ImageIO.read(Util.getResourceByName("/icon32x32.png"))); } catch (final IOException e1) { e1.printStackTrace(); } Util.centerFrame(frame); frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); frame.addWindowListener( new WindowAdapter() { @Override public void windowClosed(final WindowEvent e) { optionsOpen = false; LogPanelHandler.unbind(); } }); return true; }