OSDN Git Service

画面でプロファイル構築時にffmpegオプションをコンフィグからでなく画面設定から読むように変更
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / gui / FfmpegParamPanel.java
index d21d0ed..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("メインオプション");
@@ -46,28 +63,28 @@ class FfmpegParamPanel extends JPanel {
         final JPanel pnlFfmpegParamOption = new JPanel();
         pnlFfmpegParamOption.setBorder(BorderFactory.createEtchedBorder());
 
-        GroupLayout gl_pnlFfmpegParamOption = new GroupLayout(pnlFfmpegParamOption);
-        pnlFfmpegParamOption.setLayout(gl_pnlFfmpegParamOption);
-        gl_pnlFfmpegParamOption.setHorizontalGroup(
-            gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
-            .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
-                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
-                    .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
+        final GroupLayout glFfmpegParamOption = new GroupLayout(pnlFfmpegParamOption);
+        pnlFfmpegParamOption.setLayout(glFfmpegParamOption);
+        glFfmpegParamOption.setHorizontalGroup(
+            glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
+            .addGroup(glFfmpegParamOption.createSequentialGroup()
+                .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
+                    .addGroup(glFfmpegParamOption.createSequentialGroup()
                         .addContainerGap()
-                        .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
+                        .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
                             .addComponent(lblFfmpegOptionAvfilter)
                             .addComponent(lblFfmpegOptionExtension)
                             .addComponent(lblFfmpegOptionMain)
                             .addComponent(lblFfmpegOptionIn)
                             .addComponent(lblFfmpegOptionOut))
                         .addPreferredGap(ComponentPlacement.RELATED)
-                        .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
+                        .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
                             .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, 51, GroupLayout.PREFERRED_SIZE)
                             .addComponent(fldFfmpegOptionMain, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
                             .addComponent(fldFfmpegOptionIn, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
                             .addComponent(fldFfmpegOptionOut, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
                             .addComponent(fldFfmpegOptionAv, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)))
-                    .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
+                    .addGroup(glFfmpegParamOption.createSequentialGroup()
                         .addGap(12, 12, 12)
                         .addComponent(cbFfmpegOptionResize)
                         .addPreferredGap(ComponentPlacement.UNRELATED)
@@ -78,62 +95,55 @@ class FfmpegParamPanel extends JPanel {
                         .addComponent(lblFfmpegOptionResizeHeight)
                         .addPreferredGap(ComponentPlacement.RELATED)
                         .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, 48, GroupLayout.PREFERRED_SIZE))
-                    .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
+                    .addGroup(glFfmpegParamOption.createSequentialGroup()
                         .addGap(33, 33, 33)
                         .addComponent(cbFfmpegOptionKeepAspect)))
                 .addContainerGap())
         );
-        gl_pnlFfmpegParamOption.setVerticalGroup(
-            gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
-            .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+        glFfmpegParamOption.setVerticalGroup(
+            glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
+            .addGroup(glFfmpegParamOption.createSequentialGroup()
+                .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionExtension)
                     .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
-                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionMain)
                     .addComponent(fldFfmpegOptionMain, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
-                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionIn)
                     .addComponent(fldFfmpegOptionIn, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
-                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionOut)
                     .addComponent(fldFfmpegOptionOut, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
-                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
                     .addComponent(lblFfmpegOptionAvfilter)
                     .addComponent(fldFfmpegOptionAv, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(ComponentPlacement.RELATED)
-                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                .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())
+            )
         );
 
 
 
-        GroupLayout gl_pnlFfmpegParam = new GroupLayout(this);
-        setLayout(gl_pnlFfmpegParam);
-        gl_pnlFfmpegParam.setHorizontalGroup(
-            gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
-            .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
+        final GroupLayout glFfmpegParam = new GroupLayout(this);
+        setLayout(glFfmpegParam);
+        glFfmpegParam.setHorizontalGroup(
+            glFfmpegParam.createParallelGroup(Alignment.LEADING)
+            .addGroup(glFfmpegParam.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
+                .addGroup(glFfmpegParam.createParallelGroup(Alignment.LEADING)
                     .addComponent(pnlFfmpegParamOption, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                     .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                 .addContainerGap())
         );
-        gl_pnlFfmpegParam.setVerticalGroup(
-            gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
-            .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
+        glFfmpegParam.setVerticalGroup(
+            glFfmpegParam.createParallelGroup(Alignment.LEADING)
+            .addGroup(glFfmpegParam.createSequentialGroup()
                 .addContainerGap()
                 .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                 .addPreferredGap(ComponentPlacement.RELATED)