diff --git a/uk/ac/sanger/artemis/components/Splash.java b/uk/ac/sanger/artemis/components/Splash.java index 0ca20bdb4eeb335c2cd3ac87b7a46349b84c35f2..2ca6525e3a34e887da804bdd1f323e94fd1b4425 100644 --- a/uk/ac/sanger/artemis/components/Splash.java +++ b/uk/ac/sanger/artemis/components/Splash.java @@ -616,6 +616,7 @@ abstract public class Splash extends JFrame { public void actionPerformed(ActionEvent event) { + Options.getOptions().setProperty("artemis.user.dir.prompt","yes"); setWorkingDirectory(); } }; @@ -710,6 +711,10 @@ abstract public class Splash extends JFrame Options.getOptions().getProperty("artemis.user.dir") != null) wdir.setText( Options.getOptions().getProperty("artemis.user.dir") ); + if( Options.getOptions().getProperty("artemis.user.dir.prompt") != null && + !Options.getOptions().getPropertyTruthValue("artemis.user.dir.prompt") ) + return; + Box bdown = Box.createVerticalBox(); Box bacross = Box.createHorizontalBox(); JButton browse = new JButton("Browse..."); @@ -729,11 +734,19 @@ abstract public class Splash extends JFrame bdown.add(bacross); bacross = Box.createHorizontalBox(); - JCheckBox saveDir = new JCheckBox("Save between sessions"); + JCheckBox saveDir = new JCheckBox("Save between sessions", false); bacross.add(saveDir); bacross.add(Box.createHorizontalGlue()); - bdown.add(bacross); - + bdown.add(bacross); + + + bacross = Box.createHorizontalBox(); + JCheckBox hide = new JCheckBox("Do not show this prompt again", false); + bacross.add(hide); + bacross.add(Box.createHorizontalGlue()); + bdown.add(bacross); + + Object[] possibleValues = { "OK" }; JOptionPane.showOptionDialog(null, bdown, @@ -742,6 +755,13 @@ abstract public class Splash extends JFrame JOptionPane.QUESTION_MESSAGE,null, possibleValues, possibleValues[0]); + if(hide.isSelected() || + Options.getOptions().getProperty("artemis.user.dir.prompt") != null ) + { + Options.getOptions().setProperty("artemis.user.dir.prompt", + Boolean.toString(!hide.isSelected())); + } + if( (new File(wdir.getText().trim())).exists() ) { System.setProperty("user.dir", wdir.getText().trim()); @@ -752,7 +772,8 @@ abstract public class Splash extends JFrame protected static void exitApp() { - if(save_wd_properties || save_display_name || save_systematic_names) + if(save_wd_properties || save_display_name || save_systematic_names || + Options.getOptions().getProperty("artemis.user.dir.prompt") != null) saveProperties(); System.exit(0); } @@ -769,7 +790,6 @@ abstract public class Splash extends JFrame String prop = uhome+fs+".artemis_options"; writeProperties(prop); - } /** @@ -797,6 +817,12 @@ abstract public class Splash extends JFrame line = addEscapeChars("artemis.user.dir="+System.getProperty("user.dir")); save_wd_properties = false; } + + if(line.startsWith("artemis.user.dir.prompt")) + { + line = addEscapeChars("artemis.user.dir.prompt="+ + Options.getOptions().getProperty("artemis.user.dir.prompt")); + } if(line.startsWith("display_name_qualifiers") && save_display_name) { @@ -827,6 +853,13 @@ abstract public class Splash extends JFrame addEscapeChars("artemis.user.dir="+System.getProperty("user.dir"))); bufferedwriter.newLine(); } + + if(Options.getOptions().getProperty("artemis.user.dir.prompt") != null) + { + bufferedwriter.write("artemis.user.dir.prompt="+ + Options.getOptions().getProperty("artemis.user.dir.prompt")); + bufferedwriter.newLine(); + } if(save_display_name) {