OSDN Git Service

画面でプロファイル構築時にffmpegオプションをコンフィグからでなく画面設定から読むように変更
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / gui / FfmpegParamPanel.java
index b97a791..f97e295 100644 (file)
@@ -1,5 +1,6 @@
 package yukihane.inqubus.gui;
 
+import java.io.File;
 import javax.swing.BorderFactory;
 import javax.swing.GroupLayout;
 import javax.swing.GroupLayout.Alignment;
@@ -9,8 +10,10 @@ import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import javax.swing.LayoutStyle.ComponentPlacement;
+import org.apache.commons.lang.StringUtils;
 import saccubus.FFmpegSelectedItem;
 import saccubus.OptionComboBoxModel;
+import yukihane.inqubus.Config;
 
 /**
  *
@@ -32,6 +35,20 @@ class FfmpegParamPanel extends JPanel {
     final JTextField fldFfmpegOptionResizeHeight = new JTextField();
     final JCheckBox cbFfmpegOptionKeepAspect = new JCheckBox("アスペクト比を維持");
 
+    void init(Config p) {
+        final String fof = p.getFfmpegOptionFile();
+        mdlFfmpegOption.reload(StringUtils.isNotEmpty(fof) ? new File(fof) : null);
+        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());
+    }
+
     FfmpegParamPanel() {
         final JLabel lblFfmpegOptionExtension = new JLabel("出力動画の拡張子");
         final JLabel lblFfmpegOptionMain = new JLabel("メインオプション");
@@ -86,36 +103,29 @@ class FfmpegParamPanel extends JPanel {
         glFfmpegParamOption.setVerticalGroup(
             glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
             .addGroup(glFfmpegParamOption.createSequentialGroup()
-                .addContainerGap()
                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionExtension)
                     .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionMain)
                     .addComponent(fldFfmpegOptionMain, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionIn)
                     .addComponent(fldFfmpegOptionIn, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionOut)
                     .addComponent(fldFfmpegOptionOut, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionAvfilter)
                     .addComponent(fldFfmpegOptionAv, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(cbFfmpegOptionResize)
                     .addComponent(lblFfmpegOptionResizeWidth)
                     .addComponent(fldFfmpegOptionResizeWidth, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                     .addComponent(lblFfmpegOptionResizeHeight)
                     .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
                 .addComponent(cbFfmpegOptionKeepAspect)
-                .addContainerGap())
+            )
         );