+
+ private void loadConfig() {
+ final Config p = Config.INSTANCE;
+
+ /*
+ * ネットワーク - アカウント
+ */
+ fldMail.setText(p.getId());
+ fldPassword.setText(p.getPassword());
+
+ /*
+ * ネットワーク - プロキシ
+ */
+ cbProxyUse.setSelected(p.getProxyUse());
+ fldProxyHost.setText(p.getProxyHost());
+ fldProxyPort.setText(p.getProxyPort());
+
+ /*
+ * ファイル - 動画
+ */
+ fldVideoDir.setText(p.getVideoDir());
+ fldVideoFileNamePattern.setText(p.getVideoFileNamePattern());
+ cbVideoLocal.setSelected(p.getVideoUseLocal());
+
+ /*
+ * ファイル - コメント
+ */
+ fldCommentDir.setText(p.getCommentDir());
+ fldCommentFileNamePattern.setText(p.getCommentFileNamePattern());
+ cbCommentLocal.setSelected(p.getCommentUseLocal());
+
+ /*
+ * ファイル - 変換動画
+ */
+ fldOutputDir.setText(p.getOutputDir());
+ fldOutputFileNamePattern.setText(p.getOutputFileNamePattern());
+ cbOutputEnable.setSelected(p.getOutputEnable());
+ cbOutputCommentOverlay.setSelected(p.getOutputCommentOverlay());
+ cbOutputDisplayProgress.setSelected(p.getOutputDisplayProgress());
+
+ /**
+ * コメント
+ */
+ cbCommentSizeAuto.setSelected(p.getCommentSizeAutosize());
+ fldCommentSizeManual.setText(p.getCommentSizeManual());
+ cbCommentMinSizeAuto.setSelected(p.getCommentMinSizeAutosize());
+ fldCommentSizeManual.setText(p.getCommentMinSizeManual());
+ cbCommentDisplaySizeDefault.setSelected(p.getCommentDisplaySizeDefault());
+ fldCommentDisplaySizeManual.setText(p.getCommentDisplaySizeManual());
+
+ /**
+ * コメント - 高度な設定
+ */
+ fldFontPath.setText(p.getFontPath());
+ fldFontIndex.setText(p.getFontIndex());
+ // TODO 影の種類はコンボボックス
+ cbFontSizeArrangeDisable.setSelected(p.getFontSizeArrangeDisable());
+ cbCommentOpaque.setSelected(p.getCommentOpaque());
+
+ /*
+ * ffmpeg - ファイルパス
+ */
+ fldFfmpegPath.setText(p.getFfmpegPath());
+ fldFfmpegDllPath.setText(p.getFfmpegDllPath());
+
+ /*
+ * ffmpeg - ffmpegパラメータ
+ */
+ rbFfmpegOptionFile.setSelected(!p.getFfmpegParamInputDirect());
+ rbFfmpegOptionDirectInput.setSelected(p.getFfmpegParamInputDirect());
+ // TODO cmbFfmpegOptionFile
+ fldFfmpegOptionExtension.setText(p.getFfmpegExtension());
+ fldFfmpegOptionMain.setText(p.getFfmpegMainOption());
+ fldFfmpegOptionIn.setText(p.getFfmpegInOption());
+ fldFfmpegOptionOut.setText(p.getFfmpegOutOption());
+ fldFfmpegOptionAv.setText(p.getFfmpegAvOption());
+ cbFfmpegOptionResize.setSelected(p.getFfmpegResizeEnable());
+ fldFfmpegOptionResizeWidth.setText(p.getFfmpegResizeWidth());
+ fldFfmpegOptionResizeHeight.setText(p.getFfmpegResizeHeight());
+ cbFfmpegOptionKeepAspect.setSelected(p.getFfmpegKeepAspect());
+
+ /*
+ * NG 設定
+ */
+ final List<String> ngWords = p.getNgWords();
+ for (String s : ngWords) {
+ mdlNgWord.addElement(s);
+ }
+ final List<String> ngIds = p.getNgIds();
+ for (String s : ngIds) {
+ mdlNgId.addElement(s);
+ }
+ }
+ private void saveConfig() {
+ final Config p = Config.INSTANCE;
+
+ /*
+ * ネットワーク - アカウント
+ */
+
+ p.setId(fldMail.getText());
+ p.setPassword(fldPassword.getText());
+
+ /*
+ * ネットワーク - プロキシ
+ */
+ p.setProxyUse(cbProxyUse.isSelected());
+ p.setProxyHost(fldProxyHost.getText());
+ p.setProxyPort(fldProxyPort.getText());
+
+ /*
+ * ファイル - 動画
+ */
+ p.setVideoDir(fldVideoDir.getText());
+ p.setVideoFileNamePattern(fldVideoFileNamePattern.getText());
+ p.setVideoUseLocal(cbVideoLocal.isSelected());
+
+ /*
+ * ファイル - コメント
+ */
+ p.setCommentDir(fldCommentDir.getText());
+ p.setCommentFileNamePattern(fldCommentFileNamePattern.getText());
+ p.setCommentUseLocal(cbCommentLocal.isSelected());
+
+ /*
+ * ファイル - 変換動画
+ */
+ p.setOutputDir(fldOutputDir.getText());
+ p.setOutputFileNamePattern(fldOutputFileNamePattern.getText());
+ p.setOutputEnable(cbOutputEnable.isSelected());
+ p.setOutputCommentOverlay(cbOutputCommentOverlay.isSelected());
+ p.setOutputDisplayProgress(cbOutputDisplayProgress.isSelected());
+
+ /**
+ * コメント
+ */
+ p.setCommentSizeAutosize(cbCommentSizeAuto.isSelected());
+ p.setCommentSizeManual(fldCommentSizeManual.getText());
+ p.setCommentMinSizeAutosize(cbCommentMinSizeAuto.isSelected());
+ p.setCommentMinSizeManual(fldCommentSizeManual.getText());
+ p.setCommentDisplaySizeDefault(cbCommentDisplaySizeDefault.isSelected());
+ p.setCommentDisplaySizeManual(fldCommentDisplaySizeManual.getText());
+
+ /**
+ * コメント - 高度な設定
+ */
+ p.setFontPath(fldFontPath.getText());
+ p.setFontIndex(fldFontIndex.getText());
+ // TODO 影の種類はコンボボックス
+ p.setFontSizeArrangeDisable(cbFontSizeArrangeDisable.isSelected());
+ p.setCommentOpaque(cbCommentOpaque.isSelected());
+
+ /*
+ * ffmpeg - ファイルパス
+ */
+ p.setFfmpegPath(fldFfmpegPath.getText());
+ p.setFfmpegDllPath(fldFfmpegDllPath.getText());
+
+ /*
+ * ffmpeg - ffmpegパラメータ
+ */
+ p.setFfmpegParamInputDirect(rbFfmpegOptionDirectInput.isSelected());
+ // TODO cmbFfmpegOptionFile
+ p.setFfmpegExtension(fldFfmpegOptionExtension.getText());
+ p.setFfmpegMainOption(fldFfmpegOptionMain.getText());
+ p.setFfmpegInOption(fldFfmpegOptionIn.getText());
+ p.setFfmpegOutOption(fldFfmpegOptionOut.getText());
+ p.setFfmpegAvOption(fldFfmpegOptionAv.getText());
+ p.setFfmpegResizeEnable(cbFfmpegOptionResize.isSelected());
+ p.setFfmpegResizeWidth(fldFfmpegOptionResizeWidth.getText());
+ p.setFfmpegResizeHeight(fldFfmpegOptionResizeHeight.getText());
+ p.setFfmpegKeepAspect(cbFfmpegOptionKeepAspect.isSelected());
+
+ /*
+ * NG 設定
+ */
+ p.setNgWords(Arrays.asList((String[]) mdlNgWord.toArray()));
+ p.setNgIds(Arrays.asList((String[])mdlNgId.toArray()));
+
+ }