diff --git a/pdex/src/processing/mode/experimental/DebugEditor.java b/pdex/src/processing/mode/experimental/DebugEditor.java index 05bd0256f..7fa971325 100755 --- a/pdex/src/processing/mode/experimental/DebugEditor.java +++ b/pdex/src/processing/mode/experimental/DebugEditor.java @@ -1085,23 +1085,21 @@ public class DebugEditor extends JavaEditor implements ActionListener { return ta; } - private boolean wasSaved; - + /** * Grab current contents of the sketch window, advance the console, stop any * other running sketches, auto-save the user's code... not in that order. */ @Override public void prepareRun() { - wasSaved = false; autoSave(); super.prepareRun(); - if (wasSaved) - statusTimedNotice("Saved. Running...", 5); - else - statusTimedNotice("Not saved. Running...", 5); } + /** + * Displays a JDialog prompting the user to save when the user hits + * run/present/etc. + */ protected void autoSave() { if (!ExperimentalMode.autoSaveEnabled) return; @@ -1122,11 +1120,14 @@ public class DebugEditor extends JavaEditor implements ActionListener { true); Container container = autoSaveDialog.getContentPane(); - JPanel panel = new JPanel(); - panel.setBorder(BorderFactory.createEmptyBorder(4, 0, 2, 2)); - panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS)); + JPanel panelMain = new JPanel(); + panelMain.setBorder(BorderFactory.createEmptyBorder(4, 0, + 2, 2)); + panelMain.setLayout(new BoxLayout(panelMain, + BoxLayout.PAGE_AXIS)); - JPanel panel1 = new JPanel(new FlowLayout(FlowLayout.LEFT)); + JPanel panelLabel = new JPanel(new FlowLayout( + FlowLayout.LEFT)); JLabel label = new JLabel( " There are unsaved" + " changes in your sketch.
" @@ -1134,19 +1135,19 @@ public class DebugEditor extends JavaEditor implements ActionListener { + " running? "); label.setFont(new Font(label.getFont().getName(), Font.PLAIN, label.getFont().getSize() + 1)); - panel1.add(label); - panel.add(panel1); + panelLabel.add(label); + panelMain.add(panelLabel); final JCheckBox dontRedisplay = new JCheckBox( "Remember this decision"); - panel1 = new JPanel(new FlowLayout(FlowLayout.CENTER, 8, 2)); - JButton button = new JButton("Save and Run"); - button.addActionListener(new ActionListener() { + JPanel panelButtons = new JPanel(new FlowLayout( + FlowLayout.CENTER, 8, 2)); + JButton btnRunSave = new JButton("Save and Run"); + btnRunSave.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - if (handleSave(true)) - wasSaved = true; + handleSave(true); if (dontRedisplay.isSelected()) { ExperimentalMode.autoSavePromptEnabled = !dontRedisplay .isSelected(); @@ -1156,9 +1157,9 @@ public class DebugEditor extends JavaEditor implements ActionListener { autoSaveDialog.dispose(); } }); - panel1.add(button); - button = new JButton("Run, Don't Save"); - button.addActionListener(new ActionListener() { + panelButtons.add(btnRunSave); + JButton btnRunNoSave = new JButton("Run, Don't Save"); + btnRunNoSave.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -1171,15 +1172,16 @@ public class DebugEditor extends JavaEditor implements ActionListener { autoSaveDialog.dispose(); } }); - panel1.add(button); - panel.add(panel1); + panelButtons.add(btnRunNoSave); + panelMain.add(panelButtons); - panel1 = new JPanel(); - panel1.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); - panel1.add(dontRedisplay); - panel.add(panel1); + JPanel panelCheck = new JPanel(); + panelCheck + .setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); + panelCheck.add(dontRedisplay); + panelMain.add(panelCheck); - container.add(panel); + container.add(panelMain); autoSaveDialog.setResizable(false); autoSaveDialog.pack(); @@ -1188,39 +1190,13 @@ public class DebugEditor extends JavaEditor implements ActionListener { autoSaveDialog.setVisible(true); } else if (ExperimentalMode.defaultAutoSaveEnabled) - if (handleSave(true)) - wasSaved = true; + handleSave(true); } } catch (Exception e) { statusError(e); } - } - - /** - * Shows a notice message in the editor status bar for a certain duration of - * time. - * - * @param msg - * @param secs - */ - public void statusTimedNotice(final String msg, final int secs) { - SwingWorker s = new SwingWorker() { - - @Override - protected Void doInBackground() throws Exception { - statusNotice(msg); - try { - Thread.sleep(secs * 1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - statusEmpty(); - return null; - } - }; - s.execute(); - } + } /** * Access variable inspector window.