+++ /dev/null
-package tim.prune.data;
-
-import java.io.File;
-
-/**
- * Simple class to represent an entry in the recently-used files list
- */
-public class RecentFile
-{
- private boolean _regularLoad = true; // false for load via gpsbabel
- private File _file = null;
-
- /**
- * Constructor
- * @param inFile file
- * @param inRegular true for regular load, false for gpsbabel load
- */
- public RecentFile(File inFile, boolean inRegular)
- {
- _file = inFile;
- _regularLoad = inRegular;
- }
-
- /**
- * Constructor
- * @param inDesc String from config
- */
- public RecentFile(String inDesc)
- {
- if (inDesc != null && inDesc.length() > 3)
- {
- _regularLoad = (inDesc.charAt(0) != 'g');
- _file = new File(inDesc.substring(1));
- }
- }
-
- /**
- * @return file object
- */
- public File getFile() {
- return _file;
- }
-
- /**
- * @return true for regular load, false for gpsbabel load
- */
- public boolean isRegularLoad() {
- return _regularLoad;
- }
-
- /**
- * @return true if file (still) exists
- */
- public boolean isValid() {
- return _file != null && _file.exists() && _file.isFile();
- }
-
- /**
- * @return string to save in config
- */
- public String getConfigString()
- {
- if (!isValid()) return "";
- return (_regularLoad?"r":"g") + _file.getAbsolutePath();
- }
-
- /**
- * Check for equality
- * @param inOther other RecentFile object
- * @return true if they both refer to the same file
- */
- public boolean isSameFile(RecentFile inOther)
- {
- return inOther != null && isValid() && inOther.isValid()
- && (_file.equals(inOther._file) || _file.getAbsolutePath().equals(inOther._file.getAbsolutePath()));
- // Note that the file.equals should be sufficient but sometimes it returns false even if the absolute paths are identical
- }
-}