X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=MooMenu.java;h=ab055a9a1959046e361f0f16b219b6596023070d;hb=ffc69c8cc2cc9cdfe3841c77c1e680dee2225c63;hp=892e7658a93343943721748edf1af73a189d4303;hpb=8de46b00b4e2df79a5b45111bcb981880fca21cf;p=moosique.git diff --git a/MooMenu.java b/MooMenu.java index 892e765..ab055a9 100644 --- a/MooMenu.java +++ b/MooMenu.java @@ -139,6 +139,7 @@ public class MooMenu extends JMenuBar implements ActionListener { if(command == "New") { Moosique.clearSequence(); } else if (command == "Open...") { + // Shows a file chooser. If shown previously, starts in the current directory. if (directory != null) { chooser = new JFileChooser(directory); } else { @@ -146,13 +147,17 @@ public class MooMenu extends JMenuBar implements ActionListener { } chooser.addChoosableFileFilter(new MidiFileFilter()); int returnVal = chooser.showOpenDialog(this); - if(returnVal == JFileChooser.APPROVE_OPTION && isMidiFile(chooser.getSelectedFile())) { + + // Stores the current directory and loads the selected file. + File file = chooser.getSelectedFile(); + if(returnVal == JFileChooser.APPROVE_OPTION && isMidiFile(file)) { directory = chooser.getSelectedFile().getParentFile(); Moosique.load(chooser.getSelectedFile().getAbsolutePath()); } } else if (command == "Save") { Moosique.save(); } else if (command == "Save as...") { + // Shows a file chooser. If shown previously, starts in the current directory. if (directory != null) { chooser = new JFileChooser(directory); } else { @@ -160,9 +165,12 @@ public class MooMenu extends JMenuBar implements ActionListener { } chooser.addChoosableFileFilter(new MidiFileFilter()); int returnVal = chooser.showSaveDialog(this); - if(returnVal == JFileChooser.APPROVE_OPTION && isMidiFile(chooser.getSelectedFile())) { - directory = chooser.getSelectedFile().getParentFile(); - Moosique.saveAs(chooser.getSelectedFile().getAbsolutePath()); + + // Stores the current directory and loads the selected file. + File file = chooser.getSelectedFile(); + if(returnVal == JFileChooser.APPROVE_OPTION && isMidiFile(file)) { + directory = file.getParentFile(); + Moosique.saveAs(file.getAbsolutePath()); } } else if (command == "Exit") { Moosique.quit();