altoslib: Add non-persistent 'last logdir' preference
authorKeith Packard <keithp@keithp.com>
Fri, 10 May 2013 04:04:11 +0000 (21:04 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 10 May 2013 04:04:11 +0000 (21:04 -0700)
This is used to record the last directory for reading or writing log
files so that the UI can pop back to the same place next time.

Signed-off-by: Keith Packard <keithp@keithp.com>
altoslib/AltosPreferences.java

index 392497ef6909de1324a26d62d47db3aba8b1624e..088ca3d7589c7507c1e17afb090158043737a218 100644 (file)
@@ -62,6 +62,9 @@ public class AltosPreferences {
        /* Log directory */
        public static File logdir;
 
+       /* Last log directory - use this next time we open or save something */
+       public static File last_logdir;
+
        /* Map directory -- hangs of logdir */
        public static File mapdir;
 
@@ -198,6 +201,24 @@ public class AltosPreferences {
                }
        }
 
+       public static File last_logdir() {
+               synchronized (backend) {
+                       if (last_logdir == null)
+                               last_logdir = logdir;
+                       return last_logdir;
+               }
+       }
+
+       public static void set_last_logdir(File file) {
+               synchronized(backend) {
+                       if (file != null && !file.isDirectory())
+                               file = file.getParentFile();
+                       if (file == null)
+                               file = new File(".");
+                       last_logdir = file;
+               }
+       }
+
        public static File mapdir() {
                synchronized (backend) {
                        return mapdir;