From d663da13db60e1200535282ee1a0ea6305cad98c Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 5 Jan 2013 10:59:26 -0800 Subject: [PATCH] micropeak: Suggest filenames for saving data Uses the format '---flight-.mpd' Signed-off-by: Keith Packard --- micropeak/Makefile.am | 1 + micropeak/MicroFile.java | 45 ++++++++++++++++++++++++++++++++++++++++ micropeak/MicroSave.java | 1 + 3 files changed, 47 insertions(+) create mode 100644 micropeak/MicroFile.java diff --git a/micropeak/Makefile.am b/micropeak/Makefile.am index ea7385a7..19b23a0f 100644 --- a/micropeak/Makefile.am +++ b/micropeak/Makefile.am @@ -13,6 +13,7 @@ micropeak_JAVA= \ MicroDataPoint.java \ MicroDownload.java \ MicroExport.java \ + MicroFile.java \ MicroFrame.java \ MicroGraph.java \ MicroRaw.java \ diff --git a/micropeak/MicroFile.java b/micropeak/MicroFile.java new file mode 100644 index 00000000..13d48380 --- /dev/null +++ b/micropeak/MicroFile.java @@ -0,0 +1,45 @@ +/* + * Copyright © 2013 Keith Packard + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +package org.altusmetrum.micropeak; + +import java.io.*; +import java.util.*; +import org.altusmetrum.AltosLib.*; +import org.altusmetrum.altosuilib.*; + +public class MicroFile { + + public static File make(File directory, int year, int month, int day) { + for (int sequence = 1;; sequence++) { + String s = String.format("%04d-%02d-%02d-flight-%03d.mpd", + year, month, day, sequence); + File file = new File(directory, s); + if (!file.exists()) + return file; + } + } + + public static File make(File directory) { + Calendar cal = Calendar.getInstance(); + return make(directory, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH)); + } + + public static File make() { + return make(AltosUIPreferences.logdir()); + } +} \ No newline at end of file diff --git a/micropeak/MicroSave.java b/micropeak/MicroSave.java index 2664f170..7879ff90 100644 --- a/micropeak/MicroSave.java +++ b/micropeak/MicroSave.java @@ -102,5 +102,6 @@ public class MicroSave extends JFileChooser { setFileFilter(new FileNameExtensionFilter("MicroPeak data file", "mpd")); setCurrentDirectory(AltosUIPreferences.logdir()); + setSelectedFile(MicroFile.make()); } } -- 2.30.2