OSDN Git Service

GUI項目の変更
authoryuuhayashi <hayashi.yuu@gmail.com>
Sat, 24 Sep 2016 16:07:51 +0000 (01:07 +0900)
committeryuuhayashi <hayashi.yuu@gmail.com>
Sat, 24 Sep 2016 16:07:51 +0000 (01:07 +0900)
AdjustTime.ini
importPicture/src/AdjustTime.ini
importPicture/src/osm/jp/gpx/AppParameters.java
importPicture/src/osm/jp/gpx/ImportPicture.java
importPicture/src/osm/jp/gpx/matchtime/gui/AdjustTime.java

index f620d49..979341a 100644 (file)
@@ -1,9 +1,11 @@
 #by AdjustTime
-#Mon Jun 27 00:09:43 JST 2016
+#Thu Jun 30 23:11:20 JST 2016
+GPX.BASETIME=EXIF_TIME
+GPX.noFirstNode=ON
 GPX.gpxSplit=ON
+IMG.TIME=2016-01-03T15\:14\:04
 GPX.REUSE=ON
-IMG.OUTPUT_FOLDER=/media/yuu/public/osm/GPXs/\u7DBE\u702C\u5E02\u5409\u5CA1_20160103
-GPX.BASETIME=2016-01-03T15\:14\:02
+IMG.BASE_FILE=S2690002.JPG
 IMG.SOURCE_FOLDER=/media/yuu/public/osm/GPXs/\u7DBE\u702C\u5E02\u5409\u5CA1_20160103
-GPX.noFirstNode=ON
-IMG.BASE_FILE=S2690001.JPG
+GPX.SOURCE_FOLDER=/media/yuu/public/osm/GPXs/\u7DBE\u702C\u5E02\u5409\u5CA1_20160103
+IMG.OUTPUT_FOLDER=/media/yuu/public/osm/GPXs/\u7DBE\u702C\u5E02\u5409\u5CA1_20160103
index 95624cc..db0677f 100644 (file)
@@ -1,5 +1,13 @@
 #by AdjustTime
-#Sun Jun 26 12:44:33 JST 2016
+GPX.BASETIME=EXIF_TIME
+IMG.OUTPUT_EXIF=true
+GPX.OUTPUT_SPEED=false
+GPX.noFirstNode=true
+IMG.OUTPUT=false
 GPX.gpxSplit=ON
-GPX.REUSE=OFF
-GPX.noFirstNode=ON
+IMG.TIME=2016-08-14T11\:45\:47
+GPX.REUSE=false
+IMG.BASE_FILE=IMG_0182.jpg
+IMG.SOURCE_FOLDER=.
+GPX.SOURCE_FOLDER=.
+IMG.OUTPUT_FOLDER=.
\ No newline at end of file
index 438b60a..a76726e 100644 (file)
@@ -38,6 +38,15 @@ public class AppParameters extends Properties {
        // 出力フォルダ:(変換した画像ファイルとGPXファイルを出力するフォルダ)
        public static String IMG_OUTPUT_FOLDER = "IMG.OUTPUT_FOLDER";
        
+       // 出力IMG: IMG出力をする  {ON | OFF}
+       public static String IMG_OUTPUT = "IMG.OUTPUT";
+       
+       // 出力IMG: EXIFを変換する
+       public static String IMG_OUTPUT_EXIF = "IMG.OUTPUT_EXIF";
+       
+       // 出力GPX: <SPEED>を上書き出力する {ON | OFF}
+       public static String GPX_OUTPUT_SPEED = "GPX.OUTPUT_SPEED";
+       
        File file;
        
        public AppParameters() throws FileNotFoundException, IOException {
@@ -95,11 +104,27 @@ public class AppParameters extends Properties {
                }
 
                //------------------------------------------------
+               // IMG出力: IMGを出力する
+               valueStr = this.getProperty(IMG_OUTPUT);
+               if (valueStr == null) {
+                       update = true;
+                       this.setProperty(IMG_OUTPUT, String.valueOf(true));
+               }
+
+               //------------------------------------------------
+               // IMG出力: EXIFを変換する
+               valueStr = this.getProperty(IMG_OUTPUT_EXIF);
+               if (valueStr == null) {
+                       update = true;
+                       this.setProperty(IMG_OUTPUT_EXIF, String.valueOf(true));
+               }
+
+               //------------------------------------------------
                // GPX出力: 時間的に間隔が開いたGPXログを別の<trkseg>セグメントに分割する。 {ON | OFF}
                valueStr = this.getProperty(GPX_GPXSPLIT);
                if (valueStr == null) {
                        update = true;
-                       this.setProperty(GPX_GPXSPLIT, "ON");           
+                       this.setProperty(GPX_GPXSPLIT, String.valueOf(true));
                }
 
                //------------------------------------------------
@@ -107,15 +132,23 @@ public class AppParameters extends Properties {
                valueStr = this.getProperty(GPX_NO_FIRST_NODE);
                if (valueStr == null) {
                        update = true;
-                       this.setProperty(GPX_NO_FIRST_NODE, "ON");              
+                       this.setProperty(GPX_NO_FIRST_NODE, String.valueOf(true));
                }
 
                //------------------------------------------------
+               // GPX出力: <SPEED>を上書き出力する {ON | OFF}
+               valueStr = this.getProperty(GPX_OUTPUT_SPEED);
+               if (valueStr == null) {
+                       update = true;
+                       this.setProperty(GPX_OUTPUT_SPEED, String.valueOf(false));
+               }
+               
+               //------------------------------------------------
                // GPX出力: 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF}
                valueStr = this.getProperty(GPX_REUSE);
                if (valueStr == null) {
                        update = true;
-                       this.setProperty(GPX_REUSE, "OFF");
+                       this.setProperty(GPX_REUSE, String.valueOf(false));
                }
 
                //------------------------------------------------
index 028b1d2..c3fa5fc 100644 (file)
@@ -92,11 +92,11 @@ public class ImportPicture extends Thread {
      *\r
      * @param argv\r
      * argv[-] = dummy\r
-     * argv[0] = 画像ファイルが格納されているディレクトリ\r
-     * argv[1] = 時刻補正の基準とする画像ファイル\r
-     * argv[2] = 基準画像ファイルの精確な撮影日時 "yyyy-MM-dd'T'HH:mm:ss"\r
-     * argv[3] = [noEXIF] EXIF情報の書き換えを行わない / EXIF情報の書き換えを行う(出力先フォルダ)\r
-     * argv[4] = 撮影位置をロギングしたGPXファイル\r
+     * argv[0] = 画像ファイルが格納されているディレクトリ          --> imgDir\r
+     * argv[1] = 時刻補正の基準とする画像ファイル                              --> baseFile\r
+     * argv[2] = 基準画像ファイルの精確な撮影日時 "yyyy-MM-dd'T'HH:mm:ss"      --> timeStr\r
+     * argv[3] = 出力先フォルダ                                                         --> outDir\r
+     * argv[4] = 撮影位置をロギングしたGPXファイル                              --> gpxDir\r
      * \r
      * @throws IOException\r
      * @throws ImageReadException \r
@@ -158,32 +158,30 @@ public class ImportPicture extends Thread {
             return;\r
         }\r
 \r
-        // \r
-        if (argv[3].toUpperCase().equals("NOEXIF")) {\r
-            obj.exif = false;\r
-            obj.outDir = null;\r
-        }\r
-        else {\r
-            obj.exif = true;\r
-            obj.outDir = new File(argv[3]);\r
-        }\r
+        // 出力ファイル\r
+        obj.outDir = new File(argv[3]);\r
 \r
         // その他のパラメータを読み取る\r
        String paramStr = obj.params.getProperty(AppParameters.GPX_GPXSPLIT);\r
-       if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) {\r
+       if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
                obj.param_GpxSplit = true;\r
        }\r
         \r
        paramStr = obj.params.getProperty(AppParameters.GPX_NO_FIRST_NODE);\r
-       if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) {\r
+       if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
                obj.param_GpxNoFirstNode = true;\r
        }\r
        \r
        paramStr = obj.params.getProperty(AppParameters.GPX_REUSE);\r
-       if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) {\r
+       if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
                obj.param_GpxReuse = true;\r
        }\r
         \r
+       paramStr = obj.params.getProperty(AppParameters.GPX_OUTPUT_SPEED);\r
+       if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
+               obj.param_GpxOutputSpeed = true;\r
+       }\r
+       \r
         // 第6引数が指定されなければ、指定されたディレクトリ内のGPXファイルすべてを対象とする\r
         if (argv.length >= 5) {\r
             obj.gpxDir = new File(argv[4]);\r
@@ -215,18 +213,20 @@ public class ImportPicture extends Thread {
             }\r
         }\r
         else {\r
-            obj.gpxFiles.add(obj.gpxDir);            \r
+            obj.gpxFiles.add(obj.gpxDir);\r
         }\r
         \r
-        System.out.println(" - param: number of gpxFiles = '"+ obj.gpxFiles.size() +"'");\r
         System.out.println(" - param: imgDir = '"+ obj.imgDir.getAbsolutePath() +"'");\r
         System.out.println(" - param: outDir = '"+ (obj.outDir == null ? "" : obj.outDir.getAbsolutePath()) +"'");\r
+        System.out.println(" - param: gpxDir = '"+ (obj.gpxDir == null ? "" : obj.gpxDir.getAbsolutePath()) +"'");\r
+        System.out.println(" - param: number of gpxFiles = '"+ obj.gpxFiles.size() +"'");\r
         System.out.println(" - param: "+ AppParameters.GPX_GPXSPLIT +"="+ obj.param_GpxSplit);\r
         System.out.println(" - param: "+ AppParameters.GPX_NO_FIRST_NODE +"="+ obj.param_GpxNoFirstNode);        \r
         System.out.println(" - param: "+ AppParameters.GPX_REUSE +"="+ obj.param_GpxReuse);        \r
         System.out.println(" - param: "+ AppParameters.GPX_BASETIME +"="+ obj.params.getProperty(AppParameters.GPX_BASETIME) );\r
-        System.out.println(" - param: EXIF convert = '"+ String.valueOf(obj.exif) +"'");\r
-        \r
+        System.out.println(" - param: "+ AppParameters.IMG_OUTPUT +"="+ obj.params.getProperty(AppParameters.IMG_OUTPUT));     \r
+        System.out.println(" - param: "+ AppParameters.IMG_OUTPUT_EXIF +"= '"+ String.valueOf(obj.exif) +"'");\r
+        System.out.println(" - param: "+ AppParameters.GPX_OUTPUT_SPEED +"="+ obj.param_GpxOutputSpeed);        \r
         obj.start();\r
         try {\r
             obj.join();                            \r
@@ -244,6 +244,7 @@ public class ImportPicture extends Thread {
        public boolean param_GpxSplit = false;\r
        public boolean param_GpxNoFirstNode = false;\r
        public boolean param_GpxReuse = false;\r
+       public boolean param_GpxOutputSpeed = false;\r
        \r
     @Override\r
     public void run() {\r
index 39878c0..6a97ebd 100644 (file)
@@ -40,7 +40,7 @@ public class AdjustTime extends JFrame
     JLabel imageLabel;         // 基準時刻画像表示
     ButtonGroup baseTimeGroup; // 基準時刻の指定グループ
     JRadioButton exifBase;             // EXIF日時を基準にする/ !(ファイル更新日時を基準にする)
-    JRadioButton fupdateBase;  // File更新日時を基準にする/ !(XIF日時を基準にする)
+    JRadioButton fupdateBase;  // File更新日時を基準にする/ !(EXIF日時を基準にする)
     JCheckBox noFirstNode;     // GPX: <trkseg>セグメントの最初の1ノードは無視する。 {ON | OFF}
     JCheckBox gpxReuse;                // 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF}
     JTextArea textArea;                // 実行結果表示領域
@@ -48,7 +48,9 @@ public class AdjustTime extends JFrame
     ParameterPanelFolder arg1_srcFolder;
     ParameterPanelImageFile arg2_baseTimeImg;
     ParameterPanel arg3_basetiome;
+    JCheckBox outputIMG;       // IMGの変換 する/しない
     JCheckBox exifON;          // EXIF 書き出しモード / !(EXIFの書き換えはしない)
+    JCheckBox gpxOutputSpeed;  // GPXに<SPEED>を書き出す
     ParameterPanelFolder arg5_outputFolder;       // EXIF 書き出しフォルダ
     ParameterPanelFolder arg4_gpxFolder;       // GPXファイル・フォルダ
     
@@ -112,9 +114,15 @@ public class AdjustTime extends JFrame
                selectImage_Action(event);
                imageView_Action(event);
             }
+            else if (object == outputIMG) {
+               outputIMG_Action(event);
+            }
             else if (object == exifON) {
                exifON_Action(event);
             }
+            else if (object == gpxOutputSpeed) {
+               gpxOutputSpeed_Action(event);
+            }
             else if (object == doButton) {
                doButton_Action(event);
             }
@@ -265,11 +273,19 @@ public class AdjustTime extends JFrame
         JPanel tmpPanel5 = new JPanel();
         tmpPanel5.setLayout(new BoxLayout(tmpPanel5, BoxLayout.Y_AXIS));
 
-        exifON = new JCheckBox("EXIFの変換をする", false);
+        outputIMG = new JCheckBox("IMGの変換をする", Boolean.parseBoolean(params.getProperty(AppParameters.IMG_OUTPUT)));
+        tmpPanel5.add(outputIMG);
+
+        arg5_outputFolder = new ParameterPanelFolder("出力フォルダ: ", params.getProperty(AppParameters.IMG_OUTPUT_FOLDER));
+        tmpPanel5.add(arg5_outputFolder);
+
+        exifON = new JCheckBox("EXIFの変換をする", Boolean.parseBoolean(params.getProperty(AppParameters.IMG_OUTPUT_EXIF)));
         tmpPanel5.add(exifON);
         
-        arg5_outputFolder = new ParameterPanelFolder("書き出しフォルダ: ", params.getProperty(AppParameters.IMG_OUTPUT_FOLDER));
-        tmpPanel5.add(arg5_outputFolder);
+        gpxOutputSpeed = new JCheckBox("出力GPXに<SPEED>を書き出す", Boolean.parseBoolean(params.getProperty(AppParameters.GPX_OUTPUT_SPEED)));
+        gpxOutputSpeed.setEnabled(false);
+        tmpPanel5.add(gpxOutputSpeed);
+        
         cards[cardNo].add(tmpPanel5, BorderLayout.CENTER);
         
         doButton = new JButton("処理実行", AdjustTime.createImageIcon("images/media_playback_start.png"));
@@ -310,6 +326,7 @@ public class AdjustTime extends JFrame
         arg2_baseTimeImg.openButton.addActionListener(lSymAction);
         doButton.addActionListener(lSymAction);
         exifON.addActionListener(lSymAction);
+        gpxOutputSpeed.addActionListener(lSymAction);
         noFirstNode.addActionListener(lSymAction);
         gpxReuse.addActionListener(lSymAction);
         //arg1Panel_4.field.addActionListener(lSymAction);
@@ -513,13 +530,27 @@ public class AdjustTime extends JFrame
     }
     
     /**
+     * checkbox[IMG変換]を変更した場合のアクション
+     *         ON ー> IMG出力フォルダのフィールドを有効にする
+     *  OFF -> IMG出力フォルダのフィールドを無効にする
+     * @param event
+     */
+    void outputIMG_Action (ActionEvent event) {
+               arg5_outputFolder.setEnabled(outputIMG.isEnabled());
+    }
+
+    /**
      * checkbox[EXIF書き出し]を変更した場合のアクション
-     *         ON ー> EXIF変換先フォルダのフィールドを有効にする
-     *  OFF -> EXIF変換先フォルダのフィールドを無効にする
      * @param event
      */
     void exifON_Action (ActionEvent event) {
-               arg5_outputFolder.setEnabled(exifON.isEnabled());
+    }
+
+    /**
+     * checkbox[GPXの<SPPED>を書き換える]を変更した場合のアクション
+     * @param event
+     */
+    void gpxOutputSpeed_Action (ActionEvent event) {
     }
 
     /**
@@ -535,12 +566,13 @@ public class AdjustTime extends JFrame
         argv[0] = arg1_srcFolder.getText();
         argv[1] = arg2_baseTimeImg.getText();
         argv[2] = arg3_basetiome.getText();
-        argv[3] = (exifON.isSelected() ? arg5_outputFolder.getText() : "noEXIF");
+        argv[3] = arg5_outputFolder.getText();
         argv[4] = arg4_gpxFolder.getText();
         
-        this.params.setProperty(AppParameters.GPX_NO_FIRST_NODE, (noFirstNode.isSelected() ? "ON" : "OFF"));
-        this.params.setProperty(AppParameters.GPX_REUSE, (gpxReuse.isSelected() ? "ON" : "OFF"));
+        this.params.setProperty(AppParameters.GPX_NO_FIRST_NODE, String.valueOf(noFirstNode.isSelected()));
+        this.params.setProperty(AppParameters.GPX_REUSE, String.valueOf(gpxReuse.isSelected()));
         this.params.setProperty(AppParameters.GPX_SOURCE_FOLDER, arg4_gpxFolder.getText());
+        
         if (exifBase.isSelected()) {
             this.params.setProperty(AppParameters.GPX_BASETIME, "EXIF_TIME");
         }
@@ -550,7 +582,10 @@ public class AdjustTime extends JFrame
         this.params.setProperty(AppParameters.IMG_SOURCE_FOLDER, arg1_srcFolder.getText());
         this.params.setProperty(AppParameters.IMG_BASE_FILE, arg2_baseTimeImg.getText());
         this.params.setProperty(AppParameters.IMG_TIME, arg3_basetiome.getText());
-        this.params.setProperty(AppParameters.IMG_OUTPUT_FOLDER, arg4_gpxFolder.getText());
+        this.params.setProperty(AppParameters.IMG_OUTPUT, String.valueOf(outputIMG.isSelected()));
+        this.params.setProperty(AppParameters.IMG_OUTPUT_FOLDER, arg5_outputFolder.getText());
+        this.params.setProperty(AppParameters.IMG_OUTPUT_EXIF, String.valueOf(exifON.isSelected()));
+        this.params.setProperty(AppParameters.GPX_OUTPUT_SPEED, String.valueOf(gpxOutputSpeed.isSelected()));
         try {
             this.params.store();
         }