diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/AdjustTerra.java b/src/main/java/osm/jp/gpx/matchtime/gui/AdjustTerra.java index 2c761fb..07d6b15 100644 --- a/src/main/java/osm/jp/gpx/matchtime/gui/AdjustTerra.java +++ b/src/main/java/osm/jp/gpx/matchtime/gui/AdjustTerra.java @@ -1,6 +1,5 @@ package osm.jp.gpx.matchtime.gui; -import osm.jp.gpx.matchtime.gui.restamp.RestampDialog; import java.awt.*; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -8,13 +7,9 @@ import java.text.SimpleDateFormat; import java.util.ResourceBundle; import java.util.TimeZone; -import java.util.logging.Level; -import java.util.logging.Logger; import javax.swing.*; import javax.swing.event.DocumentEvent; import osm.jp.gpx.*; -import osm.jp.gpx.matchtime.gui.restamp.CardImageFile; -import osm.jp.gpx.matchtime.gui.restamp.CardSourceFolder; /** * 本プログラムのメインクラス @@ -79,13 +74,6 @@ if (object == miAbout) { miAbout_Action(event); } - else if (object == miRestamp) { - try { - miRestamp_Action(event); - } catch (IOException ex) { - Logger.getLogger(AdjustTerra.class.getName()).log(Level.SEVERE, null, ex); - } - } else if (object == miExit) { miExit_Action(event); } @@ -388,10 +376,6 @@ (new AboutDialog(this, true)).setVisible(true); } - void miRestamp_Action(java.awt.event.ActionEvent event) throws IOException { - (new RestampDialog(this, false)).setVisible(true); - } - void miExit_Action(java.awt.event.ActionEvent event) { // Action from Exit Create and show as modal //(new hayashi.yuu.tools.gui.QuitDialog(this, true)).setVisible(true); diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/CardImageFile.java b/src/main/java/osm/jp/gpx/matchtime/gui/CardImageFile.java new file mode 100644 index 0000000..bedf12b --- /dev/null +++ b/src/main/java/osm/jp/gpx/matchtime/gui/CardImageFile.java @@ -0,0 +1,85 @@ +package osm.jp.gpx.matchtime.gui; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.Window; +import javax.swing.BoxLayout; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTabbedPane; +import static osm.jp.gpx.matchtime.gui.AdjustTerra.i18n; + +/** + * [基準画像(開始/終了)]選択パネル + * @author haya4 + */ +public class CardImageFile extends Card implements PanelAction { + private static final long serialVersionUID = 1L; + ParameterPanelImageFile arg_baseTimeImg; + ParameterPanelTime arg_basetime; + + /** + * コンストラクタ + * @param tabbe parent panel + * @param arg_basetime // 開始画像の基準時刻: + * @param owner + * @param text + * @param pre + * @param next + */ + public CardImageFile( + JTabbedPane tabbe, + ParameterPanelTime arg_basetime, + Window owner, + String text, + int pre, int next + ) { + super(tabbe, text, pre, next); + arg_basetime.setOwner(owner); + this.arg_baseTimeImg = arg_basetime.getImageFile(); + this.arg_basetime = arg_basetime; + + JPanel argsPanel = new JPanel(); + argsPanel.setLayout(new BoxLayout(argsPanel, BoxLayout.PAGE_AXIS)); + argsPanel.add(packLine(new JLabel(i18n.getString("label.200")), new JPanel())); + argsPanel.add(arg_baseTimeImg); + + JPanel separater = new JPanel(); + separater.setMinimumSize(new Dimension(40, 20)); + argsPanel.add(separater); + + argsPanel.add(packLine(new JLabel(i18n.getString("label.300")), new JPanel())); + argsPanel.add(arg_basetime); + + // ラジオボタン: 「EXIF日時を基準にする」 + if (arg_basetime.exifBase != null) { + argsPanel.add(arg_basetime.exifBase); + } + + // ラジオボタン: 「File更新日時を基準にする」 + if (arg_basetime.fupdateBase != null) { + argsPanel.add(arg_basetime.fupdateBase); + } + + JPanel space = new JPanel(); + space.setMinimumSize(new Dimension(40, 20)); + space.setMaximumSize(new Dimension(40, Short.MAX_VALUE)); + argsPanel.add(space); + + this.mainPanel.add(argsPanel, BorderLayout.CENTER); + } + + /** + * 入力条件が満たされているかどうか + * @return + */ + @Override + public boolean isEnable() { + return (arg_baseTimeImg.isEnable() && arg_basetime.isEnable()); + } + + @Override + public void openAction() { + ; // 何もしない + } +} diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/CardSourceFolder.java b/src/main/java/osm/jp/gpx/matchtime/gui/CardSourceFolder.java new file mode 100644 index 0000000..a7ee4c5 --- /dev/null +++ b/src/main/java/osm/jp/gpx/matchtime/gui/CardSourceFolder.java @@ -0,0 +1,48 @@ +package osm.jp.gpx.matchtime.gui; + +import java.awt.BorderLayout; +import javax.swing.BoxLayout; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTabbedPane; + +import static osm.jp.gpx.matchtime.gui.AdjustTerra.i18n; + +/** + * [対象フォルダ]設定パネル + * @author yuu + */ +public class CardSourceFolder extends Card implements PanelAction { + private static final long serialVersionUID = -5496892696559069841L; + ParameterPanelFolder arg_srcFolder; // 対象フォルダ + + /** + * コンストラクタ + * @param tabbe parent panel + * @param arg_srcFolder 対象フォルダ + */ + public CardSourceFolder(JTabbedPane tabbe, ParameterPanelFolder arg_srcFolder) { + super(tabbe, AdjustTerra.i18n.getString("tab.100"), -1, 1); + this.arg_srcFolder = arg_srcFolder; + this.mainPanel.add(new JLabel(i18n.getString("label.100")), BorderLayout.NORTH); + + JPanel argsPanel = new JPanel(); // パラメータ設定パネル (上部) + argsPanel.setLayout(new BoxLayout(argsPanel, BoxLayout.Y_AXIS)); + argsPanel.add(arg_srcFolder); + this.mainPanel.add(argsPanel, BorderLayout.CENTER); + } + + /** + * 入力条件が満たされているかどうか + * @return + */ + @Override + public boolean isEnable() { + return this.arg_srcFolder.isEnable(); + } + + @Override + public void openAction() { + ; // 何もしない + } +} diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/restamp/CardImageFile.java b/src/main/java/osm/jp/gpx/matchtime/gui/restamp/CardImageFile.java deleted file mode 100644 index 9ebcd0a..0000000 --- a/src/main/java/osm/jp/gpx/matchtime/gui/restamp/CardImageFile.java +++ /dev/null @@ -1,89 +0,0 @@ -package osm.jp.gpx.matchtime.gui.restamp; - -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.Window; -import javax.swing.BoxLayout; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTabbedPane; -import static osm.jp.gpx.matchtime.gui.AdjustTerra.i18n; -import osm.jp.gpx.matchtime.gui.Card; -import osm.jp.gpx.matchtime.gui.PanelAction; -import osm.jp.gpx.matchtime.gui.ParameterPanelImageFile; -import osm.jp.gpx.matchtime.gui.ParameterPanelTime; - -/** - * [基準画像(開始/終了)]選択パネル - * @author haya4 - */ -public class CardImageFile extends Card implements PanelAction { - private static final long serialVersionUID = 1L; - ParameterPanelImageFile arg_baseTimeImg; - ParameterPanelTime arg_basetime; - - /** - * コンストラクタ - * @param tabbe parent panel - * @param arg_basetime // 開始画像の基準時刻: - * @param owner - * @param text - * @param pre - * @param next - */ - public CardImageFile( - JTabbedPane tabbe, - ParameterPanelTime arg_basetime, - Window owner, - String text, - int pre, int next - ) { - super(tabbe, text, pre, next); - arg_basetime.setOwner(owner); - this.arg_baseTimeImg = arg_basetime.getImageFile(); - this.arg_basetime = arg_basetime; - - JPanel argsPanel = new JPanel(); - argsPanel.setLayout(new BoxLayout(argsPanel, BoxLayout.PAGE_AXIS)); - argsPanel.add(packLine(new JLabel(i18n.getString("label.200")), new JPanel())); - argsPanel.add(arg_baseTimeImg); - - JPanel separater = new JPanel(); - separater.setMinimumSize(new Dimension(40, 20)); - argsPanel.add(separater); - - argsPanel.add(packLine(new JLabel(i18n.getString("label.300")), new JPanel())); - argsPanel.add(arg_basetime); - - // ラジオボタン: 「EXIF日時を基準にする」 - if (arg_basetime.exifBase != null) { - argsPanel.add(arg_basetime.exifBase); - } - - // ラジオボタン: 「File更新日時を基準にする」 - if (arg_basetime.fupdateBase != null) { - argsPanel.add(arg_basetime.fupdateBase); - } - - JPanel space = new JPanel(); - space.setMinimumSize(new Dimension(40, 20)); - space.setMaximumSize(new Dimension(40, Short.MAX_VALUE)); - argsPanel.add(space); - - this.mainPanel.add(argsPanel, BorderLayout.CENTER); - } - - /** - * 入力条件が満たされているかどうか - * @return - */ - @Override - public boolean isEnable() { - return (arg_baseTimeImg.isEnable() && arg_basetime.isEnable()); - } - - @Override - public void openAction() { - ; // 何もしない - } -} diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/restamp/CardSourceFolder.java b/src/main/java/osm/jp/gpx/matchtime/gui/restamp/CardSourceFolder.java deleted file mode 100644 index bc967bd..0000000 --- a/src/main/java/osm/jp/gpx/matchtime/gui/restamp/CardSourceFolder.java +++ /dev/null @@ -1,51 +0,0 @@ -package osm.jp.gpx.matchtime.gui.restamp; - -import java.awt.BorderLayout; -import javax.swing.BoxLayout; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTabbedPane; -import osm.jp.gpx.matchtime.gui.AdjustTerra; -import static osm.jp.gpx.matchtime.gui.AdjustTerra.i18n; -import osm.jp.gpx.matchtime.gui.Card; -import osm.jp.gpx.matchtime.gui.PanelAction; -import osm.jp.gpx.matchtime.gui.ParameterPanelFolder; - -/** - * [対象フォルダ]設定パネル - * @author yuu - */ -public class CardSourceFolder extends Card implements PanelAction { - private static final long serialVersionUID = -5496892696559069841L; - ParameterPanelFolder arg_srcFolder; // 対象フォルダ - - /** - * コンストラクタ - * @param tabbe parent panel - * @param arg_srcFolder 対象フォルダ - */ - public CardSourceFolder(JTabbedPane tabbe, ParameterPanelFolder arg_srcFolder) { - super(tabbe, AdjustTerra.i18n.getString("tab.100"), -1, 1); - this.arg_srcFolder = arg_srcFolder; - this.mainPanel.add(new JLabel(i18n.getString("label.100")), BorderLayout.NORTH); - - JPanel argsPanel = new JPanel(); // パラメータ設定パネル (上部) - argsPanel.setLayout(new BoxLayout(argsPanel, BoxLayout.Y_AXIS)); - argsPanel.add(arg_srcFolder); - this.mainPanel.add(argsPanel, BorderLayout.CENTER); - } - - /** - * 入力条件が満たされているかどうか - * @return - */ - @Override - public boolean isEnable() { - return this.arg_srcFolder.isEnable(); - } - - @Override - public void openAction() { - ; // 何もしない - } -} diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/restamp/RestampDialog.java b/src/main/java/osm/jp/gpx/matchtime/gui/restamp/RestampDialog.java index 110bfac..1ffccc4 100644 --- a/src/main/java/osm/jp/gpx/matchtime/gui/restamp/RestampDialog.java +++ b/src/main/java/osm/jp/gpx/matchtime/gui/restamp/RestampDialog.java @@ -6,6 +6,8 @@ import osm.jp.gpx.AppParameters; import osm.jp.gpx.matchtime.gui.AdjustTerra; import osm.jp.gpx.matchtime.gui.Card; +import osm.jp.gpx.matchtime.gui.CardImageFile; +import osm.jp.gpx.matchtime.gui.CardSourceFolder; import osm.jp.gpx.matchtime.gui.ParameterPanelFolder; import osm.jp.gpx.matchtime.gui.ParameterPanelImageFile; import static osm.jp.gpx.matchtime.gui.AdjustTerra.i18n;