+++ /dev/null
-package tim.prune.gui;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.File;
-import java.util.ArrayList;
-
-import tim.prune.App;
-import tim.prune.UpdateMessageBroker;
-import tim.prune.config.Config;
-import tim.prune.data.RecentFile;
-import tim.prune.load.BabelLoadFromFile;
-
-/**
- * Class to act as a trigger when a menu item for a recent file is clicked
- */
-public class RecentFileTrigger implements ActionListener
-{
- private App _app = null;
- private int _index = 0;
-
-
- /**
- * Constructor
- * @param inApp App object
- * @param inIndex menu index from 0
- */
- public RecentFileTrigger(App inApp, int inIndex)
- {
- _app = inApp;
- _index = inIndex;
- }
-
- /**
- * React to click on menu item
- */
- public void actionPerformed(ActionEvent arg0)
- {
- RecentFile rf = Config.getRecentFileList().getFile(_index);
- if (rf != null && rf.isValid())
- {
- if (rf.isRegularLoad())
- {
- // Trigger a regular file load
- ArrayList<File> dataFiles = new ArrayList<File>();
- dataFiles.add(rf.getFile());
- _app.loadDataFiles(dataFiles);
- }
- else
- {
- // Trigger a load via gpsbabel
- new BabelLoadFromFile(_app).beginWithFile(rf.getFile());
- }
- }
- else
- {
- _app.showErrorMessage("function.open", "error.load.noread");
- Config.getRecentFileList().verifyAll(); // Called on a file which no longer exists
- UpdateMessageBroker.informSubscribers();
- }
- }
-}