3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
6 import java.util.ArrayList;
9 import tim.prune.UpdateMessageBroker;
10 import tim.prune.config.Config;
11 import tim.prune.data.RecentFile;
12 import tim.prune.load.BabelLoadFromFile;
15 * Class to act as a trigger when a menu item for a recent file is clicked
17 public class RecentFileTrigger implements ActionListener
19 private App _app = null;
20 private int _index = 0;
25 * @param inApp App object
26 * @param inIndex menu index from 0
28 public RecentFileTrigger(App inApp, int inIndex)
35 * React to click on menu item
37 public void actionPerformed(ActionEvent arg0)
39 RecentFile rf = Config.getRecentFileList().getFile(_index);
40 if (rf != null && rf.isValid())
42 if (rf.isRegularLoad())
44 // Trigger a regular file load
45 ArrayList<File> dataFiles = new ArrayList<File>();
46 dataFiles.add(rf.getFile());
47 _app.loadDataFiles(dataFiles);
51 // Trigger a load via gpsbabel
52 new BabelLoadFromFile(_app).beginWithFile(rf.getFile());
57 _app.showErrorMessage("function.open", "error.load.noread");
58 Config.getRecentFileList().verifyAll(); // Called on a file which no longer exists
59 UpdateMessageBroker.informSubscribers();