package saccubus;
+import java.io.IOException;
import saccubus.converter.Converter;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
-import java.io.IOException;
+import java.util.concurrent.FutureTask;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
+import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
+import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.SwingUtilities;
import nicobrowser.entity.NicoContent;
+import nicobrowser.main.Main;
+import org.apache.commons.lang.StringUtils;
import saccubus.ConvertStopFlag.State;
-import saccubus.converter.FfmpegOption;
+import saccubus.converter.classic.profile.FfmpegOption;
+import saccubus.converter.classic.profile.NgSetting;
import saccubus.net.TextProgressListener;
import saccubus.properties.BasicSetting;
import saccubus.properties.ConvertSetting;
import saccubus.properties.OutputVideoSetting;
import saccubus.util.FileDropTarget;
import saccubus.util.PopupRightClick;
+import saccubus.util.WayBackTimeParser;
+import yukihane.Util;
import yukihane.nicovideo.NicoDBFinder;
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
- *
+ *
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
- *
+ *
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
- *
+ *
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
- *
- * @author \96¢\93ü\97Í
+ *
+ * @author 未入力
* @version 1.0
*/
public class MainFrame extends JFrame {
private static final long serialVersionUID = 2564486741331062989L;
- public static final String VERSION = "1.22r NicoBrowser\8ag\92£ 1.1.1";
+ public static final String PRODUCT_NAME = "いんきゅばす";
+ public static final String VERSION = "1.7.2 (NicoBrowser" + Main.VERSION + ")";
public static final Image WinIcon = Toolkit.getDefaultToolkit().createImage(saccubus.MainFrame.class.getResource(
"icon32.png"));
+ // TODO GUIが無いためフィールドに保持.
+ private File tempDir;
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
JLabel statusBar = new JLabel();
- JTabbedPane MainTabbedPane = new JTabbedPane();
+ JTabbedPane mainTabbedPane = new JTabbedPane();
JPanel SavingInfoTabPanel = new JPanel();
JPanel FFMpegTabPanel = new JPanel();
- JPanel VideoInfoPanel = new JPanel();
- JTextField VideoID_TextField = new JTextField();
- JButton DoButton = new JButton();
- public static final String DoButtonDefString = "\95Ï\8a·";
- public static final String DoButtonStopString = "\92â\8e~";
- public static final String DoButtonWaitString = "\91Ò\8b@";
+ // メインウィンドウ
+ private JPanel videoInfoPanel = new JPanel();
+ private JPanel opPanel = new JPanel();
+ private JLabel videoIdLabel = new JLabel();
+ private JTextField videoIdField = new JTextField();
+ private JLabel wayBackLabel = new JLabel();
+ private JTextField wayBackField = new JTextField();
+ private JCheckBox reduceCommentCheckBox = new JCheckBox();
+ private JButton doButton = new JButton();
+ public static final String DoButtonDefString = "変換";
+ public static final String DoButtonStopString = "停止";
+ public static final String DoButtonWaitString = "待機";
JPanel UserInfoPanel = new JPanel();
GridBagLayout gridBagLayout3 = new GridBagLayout();
- JLabel MailAddrLabel = new JLabel();
- JTextField MailAddrField = new JTextField();
- JLabel PasswordLabel = new JLabel();
- JPasswordField PasswordField = new JPasswordField();
+ // ユーザ設定
+ JLabel mailAddressLabel = new JLabel();
+ JTextField mailAddressField = new JTextField();
+ JLabel passwordLabel = new JLabel();
+ JPasswordField passwordField = new JPasswordField();
GridBagLayout gridBagLayout4 = new GridBagLayout();
GridBagLayout gridBagLayout6 = new GridBagLayout();
ButtonGroup CommentSaveButtonGroup = new ButtonGroup();
ButtonGroup ConvSaveButtonGroup = new ButtonGroup();
+ private class FfmpegOptionCheckBoxListener implements ActionListener{
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ setFFMpegOptionCheckbox();
+ }
+ }
+ private final FfmpegOptionCheckBoxListener ffmpegOptionCheckBoxListener = new FfmpegOptionCheckBoxListener();
+
+ private void setFFMpegOptionCheckbox() {
+ boolean resizable = (resizeCheckBox.isEnabled() && resizeCheckBox.isSelected());
+ resizeWidthField.setEnabled(resizable);
+ resizeHeigitField.setEnabled(resizable);
+ adjustRatioCheckBox.setEnabled(resizable);
+
+ }
+
+ private void setNames() {
+ mainTabbedPane.setName("mainTabbedPane");
+
+ mailAddressField.setName("mailAddressField");
+ passwordField.setName("passwordField");
+
+ ffmpegPathField.setName("ffmpegPathField");
+ vhookPathField.setName("vhookPathField");
+
+ mainOptionField.setName("mainOptionField");
+ inputOptionField.setName("inputOptionField");
+ outputOptionField.setName("outputOptionField");
+
+ fontPathField.setName("fontPathField");
+ fontIndexField.setName("fontIndexField");
+ showConvVideoCheckBox.setName("showConvVideoCheckBox");
+ }
+
public MainFrame() {
+ setNames();
+
videoSaveInfoPanel = savePanel.getVideoSaveInfoPanel();
try {
}
/**
- * \83R\83\93\83|\81[\83l\83\93\83g\82Ì\8f\89\8aú\89»\81B
+ * メイン画面最上部(ID/URL, 過去ログ, 変換ボタン)のパネルを初期化します.
+ */
+ private void initVideoInfoPanel() {
+
+ videoIdLabel.setText("URL/ID");
+ wayBackLabel.setText("過去ログ");
+ videoIdField.setText("http://www.nicovideo.jp/watch/");
+ reduceCommentCheckBox.setText("旧仕様コメント数");
+
+ final GroupLayout oppLayout = new GroupLayout(opPanel);
+ opPanel.setLayout(oppLayout);
+
+ oppLayout.setHorizontalGroup(oppLayout.createSequentialGroup()
+ .addGroup(oppLayout.createParallelGroup()
+ .addComponent(videoIdLabel)
+ .addComponent(wayBackLabel))
+ .addGroup(oppLayout.createParallelGroup()
+ .addComponent(videoIdField)
+ .addGroup(oppLayout.createSequentialGroup()
+ .addComponent(wayBackField)
+ .addComponent(reduceCommentCheckBox)))
+ );
+
+ oppLayout.setVerticalGroup(oppLayout.createSequentialGroup()
+ .addGroup(oppLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(videoIdLabel)
+ .addComponent(videoIdField))
+ .addGroup(oppLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(wayBackLabel)
+ .addComponent(wayBackField)
+ .addComponent(reduceCommentCheckBox))
+ );
+
+ doButton.setText(DoButtonDefString);
+ doButton.addActionListener(new MainFrame_DoButton_actionAdapter(this));
+
+ final GroupLayout vipLayout = new GroupLayout(videoInfoPanel);
+ videoInfoPanel.setLayout(vipLayout);
+
+ vipLayout.setHorizontalGroup(vipLayout.createSequentialGroup()
+ .addComponent(opPanel).addComponent(doButton));
+
+ vipLayout.setVerticalGroup(vipLayout.createParallelGroup()
+ .addComponent(opPanel).addComponent(doButton, 10, 20, 50));
+ }
+
+ /**
+ * コンポーネントの初期化。
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
+
+ initVideoInfoPanel();
+
GridBagConstraints gridBagConstraints74 = new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
GridBagConstraints.BOTH, new Insets(0, 0, 0, 5), 0, 0);
gridBagConstraints74.gridwidth = 2;
gridBagConstraints72.gridwidth = 1;
gridBagConstraints72.gridy = 6;
ShadowKindLabel = new JLabel();
- ShadowKindLabel.setText("\89e\82Ì\8eí\97Þ");
+ ShadowKindLabel.setText("影の種類");
ShadowKindLabel.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
- GridBagConstraints gridBagConstraints71 = new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
- GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 6);
- gridBagConstraints71.fill = GridBagConstraints.BOTH;
- gridBagConstraints71.ipady = 0;
- GridBagConstraints gridBagConstraints70 = new GridBagConstraints();
- gridBagConstraints70.fill = GridBagConstraints.HORIZONTAL;
- gridBagConstraints70.gridy = 1;
- gridBagConstraints70.ipadx = 0;
- gridBagConstraints70.ipady = 0;
- gridBagConstraints70.weightx = 1.0;
- gridBagConstraints70.insets = new Insets(0, 0, 0, 0);
- gridBagConstraints70.gridx = 1;
- GridBagConstraints gridBagConstraints69 = new GridBagConstraints();
- gridBagConstraints69.gridx = 0;
- gridBagConstraints69.ipadx = 0;
- gridBagConstraints69.ipady = 0;
- gridBagConstraints69.insets = new Insets(0, 5, 0, 5);
- gridBagConstraints69.anchor = GridBagConstraints.WEST;
- gridBagConstraints69.gridy = 1;
- GridBagConstraints gridBagConstraints68 = new GridBagConstraints();
- gridBagConstraints68.fill = GridBagConstraints.BOTH;
- gridBagConstraints68.gridy = 0;
- gridBagConstraints68.ipady = 0;
- gridBagConstraints68.weightx = 1.0;
- gridBagConstraints68.insets = new Insets(0, 0, 0, 0);
- gridBagConstraints68.gridx = 1;
- GridBagConstraints gridBagConstraints67 = new GridBagConstraints();
- gridBagConstraints67.gridx = 0;
- gridBagConstraints67.ipadx = 0;
- gridBagConstraints67.ipady = 0;
- gridBagConstraints67.insets = new Insets(0, 5, 0, 5);
- gridBagConstraints67.anchor = GridBagConstraints.WEST;
- gridBagConstraints67.gridy = 0;
GridBagConstraints gridBagConstraints66 = new GridBagConstraints();
gridBagConstraints66.gridx = 0;
gridBagConstraints66.insets = new Insets(0, 5, 5, 5);
gridBagConstraints66.gridwidth = 2;
gridBagConstraints66.gridy = 1;
ViewCommentLabel = new JLabel();
- ViewCommentLabel.setText("\95\\8e¦\83R\83\81\83\93\83g\90\94");
+ ViewCommentLabel.setText("表示コメント数");
GridBagConstraints gridBagConstraints65 = new GridBagConstraints();
gridBagConstraints65.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints65.gridy = 1;
gridBagConstraints58.weightx = 1.0;
gridBagConstraints58.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints58.gridy = 0;
- GridBagConstraints gridBagConstraints57 = new GridBagConstraints();
- gridBagConstraints57.fill = GridBagConstraints.BOTH;
- gridBagConstraints57.gridy = 2;
- gridBagConstraints57.weightx = 1.0;
- gridBagConstraints57.insets = new Insets(0, 0, 5, 5);
- gridBagConstraints57.gridx = 1;
- GridBagConstraints gridBagConstraints56 = new GridBagConstraints();
- gridBagConstraints56.gridx = 0;
- gridBagConstraints56.insets = new Insets(0, 5, 5, 5);
- gridBagConstraints56.anchor = GridBagConstraints.WEST;
- gridBagConstraints56.gridy = 2;
- ExtOptionLabel = new JLabel();
- ExtOptionLabel.setText("\8fo\97Í\93®\89æ\82Ì\8ag\92£\8eq");
- GridBagConstraints gridBagConstraints55 = new GridBagConstraints();
- gridBagConstraints55.gridx = 0;
- gridBagConstraints55.fill = GridBagConstraints.HORIZONTAL;
- gridBagConstraints55.weightx = 1.0;
- gridBagConstraints55.gridwidth = 2;
- gridBagConstraints55.gridy = 1;
- GridBagConstraints gridBagConstraints54 = new GridBagConstraints(0, 2,
- 2, 1, 1.0, 0.0, GridBagConstraints.CENTER,
+
+ GridBagConstraints gridBagConstraints54 = new GridBagConstraints(0, 2, 2, 1, 1.0, 0.0, GridBagConstraints.CENTER,
GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0);
gridBagConstraints54.gridwidth = 3;
- GridBagConstraints gridBagConstraints53 = new GridBagConstraints(1, 3,
- 2, 1, 1.0, 0.0, GridBagConstraints.CENTER,
- GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0);
- gridBagConstraints53.gridy = 5;
- gridBagConstraints53.gridheight = 1;
- gridBagConstraints53.weightx = 1.0;
- gridBagConstraints53.gridwidth = 1;
- GridBagConstraints gridBagConstraints52 = new GridBagConstraints(2, 2,
- 1, 1, 1.0, 0.0, GridBagConstraints.CENTER,
- GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0);
- gridBagConstraints52.gridy = 4;
- gridBagConstraints52.gridwidth = 1;
- gridBagConstraints52.weightx = 1.0;
- gridBagConstraints52.gridx = 1;
- GridBagConstraints gridBagConstraints51 = new GridBagConstraints(2, 1,
- 1, 1, 1.0, 0.0, GridBagConstraints.CENTER,
- GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0);
- gridBagConstraints51.gridy = 3;
- gridBagConstraints51.gridwidth = 1;
- gridBagConstraints51.weightx = 1.0;
- gridBagConstraints51.gridx = 1;
- GridBagConstraints gridBagConstraints50 = new GridBagConstraints(0, 3,
- 1, 1, 0.0, 0.0, GridBagConstraints.WEST,
- GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0);
- gridBagConstraints50.gridy = 5;
- GridBagConstraints gridBagConstraints49 = new GridBagConstraints(0, 2,
- 2, 1, 0.0, 0.0, GridBagConstraints.WEST,
- GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0);
- gridBagConstraints49.gridy = 4;
- gridBagConstraints49.gridwidth = 1;
- GridBagConstraints gridBagConstraints48 = new GridBagConstraints(0, 1,
- 1, 1, 0.0, 0.0, GridBagConstraints.WEST,
- GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0);
- gridBagConstraints48.gridy = 3;
GridBagConstraints gridBagConstraints33 = new GridBagConstraints();
gridBagConstraints33.gridx = 0;
gridBagConstraints1.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints1.anchor = GridBagConstraints.NORTH;
gridBagConstraints1.weighty = 1.0;
+
this.setIconImage(WinIcon);
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
setSize(new Dimension(400, 450));
- setTitle("\82³\82«\82ã\82Î\82· " + VERSION);
+ setTitle(PRODUCT_NAME + " " + VERSION);
this.addWindowListener(new MainFrame_this_windowAdapter(this));
statusBar.setText(" ");
- jMenuFile.setText("\83t\83@\83C\83\8b");
- jMenuFileExit.setText("\8fI\97¹");
+ jMenuFile.setText("ファイル");
+ jMenuFileExit.setText("終了");
jMenuFileExit.addActionListener(new MainFrame_jMenuFileExit_ActionAdapter(
this));
- jMenuHelp.setText("\83w\83\8b\83v");
- jMenuHelpAbout.setText("\83o\81[\83W\83\87\83\93\8fî\95ñ");
+ jMenuHelp.setText("ヘルプ");
+ jMenuHelpAbout.setText("バージョン情報");
jMenuHelpAbout.addActionListener(new MainFrame_jMenuHelpAbout_ActionAdapter(
this));
- VideoInfoPanel.setLayout(gridBagLayout1);
- VideoID_TextField.setText("http://www.nicovideo.jp/watch/");
- DoButton.setText(DoButtonDefString);
- DoButton.addActionListener(new MainFrame_DoButton_actionAdapter(this));
SavingInfoTabPanel.setLayout(new GridLayout());
- UserInfoPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "\83\86\81[\83U\90Ý\92è"));
+ UserInfoPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "ユーザ設定"));
UserInfoPanel.setLayout(gridBagLayout3);
- MailAddrLabel.setText("\83\81\81[\83\8b\83A\83h\83\8c\83X");
- PasswordLabel.setText("\83p\83X\83\8f\81[\83h");
+ mailAddressLabel.setText("メールアドレス");
+ passwordLabel.setText("パスワード");
setListenerToSavePanelButton();
FFMpegTabPanel.setLayout(gridBagLayout6);
PathSettingPanel.setBorder(BorderFactory.createTitledBorder(
- BorderFactory.createEtchedBorder(), "\83v\83\8d\83O\83\89\83\80\82Ì\88Ê\92u\82Ì\90Ý\92è"));
+ BorderFactory.createEtchedBorder(), "プログラムの位置の設定"));
PathSettingPanel.setLayout(gridBagLayout7);
FFmpegPathLabel.setText("FFmpeg");
- SettingFFmpegPathButton.setText("\8eQ\8fÆ");
+ SettingFFmpegPathButton.setText("参照");
SettingFFmpegPathButton.addActionListener(new MainFrame_SettingFFmpegPathButton_actionAdapter(
this));
- VhookPathLabel.setText("\8ag\92£vhook\83\89\83C\83u\83\89\83\8a");
- SettingVhookPathButton.setText("\8eQ\8fÆ");
+ VhookPathLabel.setText("拡張vhookライブラリ");
+ SettingVhookPathButton.setText("参照");
SettingVhookPathButton.addActionListener(new MainFrame_SettingVhookPathButton_actionAdapter(
this));
VhookSettingPanel.setLayout(gridBagLayout8);
VhookSettingPanel.setBorder(BorderFactory.createTitledBorder(
- BorderFactory.createEtchedBorder(), "\8ag\92£vhook\83\89\83C\83u\83\89\83\8a\82Ì\90Ý\92è"));
+ BorderFactory.createEtchedBorder(), "拡張vhookライブラリの設定"));
FFmpegSettingPanel.setBorder(BorderFactory.createTitledBorder(
- BorderFactory.createEtchedBorder(), "FFmpeg\82Ì\90Ý\92è"));
- FFmpegSettingPanel.setLayout(gridBagLayout9);
- FontPathLabel.setText("\83t\83H\83\93\83g\83p\83X");
- SettingFontPathButton.setText("\8eQ\8fÆ");
+ BorderFactory.createEtchedBorder(), "FFmpegの設定"));
+ FFmpegSettingPanel.setLayout(gblFFmpegSettingPanel);
+ FontPathLabel.setText("フォントパス");
+ SettingFontPathButton.setText("参照");
SettingFontPathButton.addActionListener(new MainFrame_SettingFontPathButton_actionAdapter(
this));
- ShowConvVideoCheckBox.setText("\95Ï\8a·\92\86\82Ì\89æ\91\9c\82ð\95\\8e¦\82·\82é");
- InLabel.setText("\93ü\97Í\83I\83v\83V\83\87\83\93");
- OutLabel.setText("\8fo\97Í\83I\83v\83V\83\87\83\93");
- MainOptionLabel.setText("\83\81\83C\83\93\83I\83v\83V\83\87\83\93");
- FontIndexLabel.setText("\83t\83H\83\93\83g\94Ô\8d\86");
- VideoID_Label.setText("URL/ID");
- WayBackLabel.setText("\89ß\8b\8e\83\8d\83O");
- OpPanel.setLayout(new GridBagLayout());
+ showConvVideoCheckBox.setText("変換中の画像を表示する");
+
+ extOptionLabel.setText("出力動画の拡張子");
+ inputOptionLabel.setText("入力オプション");
+ outputOptionLabel.setText("出力オプション");
+ mainOptionLabel.setText("メインオプション");
+ avfilterOptionLabel.setText("avfilterオプション");
+
+ FontIndexLabel.setText("フォント番号");
BasicInfoTabPanel.setLayout(gridBagLayout12);
jMenuBar1.add(jMenuFile);
setJMenuBar(jMenuBar1);
contentPane.add(statusBar, BorderLayout.SOUTH);
- contentPane.add(MainTabbedPane, java.awt.BorderLayout.CENTER);
- contentPane.add(VideoInfoPanel, java.awt.BorderLayout.NORTH);
- UserInfoPanel.add(PasswordField, new GridBagConstraints(1, 1, 1, 1,
+ contentPane.add(mainTabbedPane, java.awt.BorderLayout.CENTER);
+ contentPane.add(videoInfoPanel, java.awt.BorderLayout.NORTH);
+ UserInfoPanel.add(passwordField, new GridBagConstraints(1, 1, 1, 1,
1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
new Insets(0, 5, 5, 5), 0, 0));
- UserInfoPanel.add(MailAddrField, new GridBagConstraints(1, 0, 1, 1,
+ UserInfoPanel.add(mailAddressField, new GridBagConstraints(1, 0, 1, 1,
1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
new Insets(0, 5, 5, 5), 0, 0));
- UserInfoPanel.add(PasswordLabel, new GridBagConstraints(0, 1, 1, 1,
+ UserInfoPanel.add(passwordLabel, new GridBagConstraints(0, 1, 1, 1,
0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE,
new Insets(0, 5, 5, 0), 0, 0));
- UserInfoPanel.add(MailAddrLabel, new GridBagConstraints(0, 0, 1, 1,
+ UserInfoPanel.add(mailAddressLabel, new GridBagConstraints(0, 0, 1, 1,
0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE,
new Insets(0, 5, 5, 0), 0, 0));
- PathSettingPanel.add(FFmpegPathField, new GridBagConstraints(0, 1, 1,
+ PathSettingPanel.add(ffmpegPathField, new GridBagConstraints(0, 1, 1,
1, 1.0, 0.0, GridBagConstraints.CENTER,
GridBagConstraints.BOTH, new Insets(0, 5, 0, 5), 0, 0));
PathSettingPanel.add(SettingFFmpegPathButton, gridBagConstraints74);
PathSettingPanel.add(FFmpegPathLabel, new GridBagConstraints(0, 0, 2,
1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE,
new Insets(0, 5, 5, 5), 0, 0));
- PathSettingPanel.add(VhookPathField, new GridBagConstraints(0, 3, 1, 1,
+ PathSettingPanel.add(vhookPathField, new GridBagConstraints(0, 3, 1, 1,
1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
new Insets(0, 5, 5, 5), 0, 0));
PathSettingPanel.add(SettingVhookPathButton, new GridBagConstraints(1,
3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0));
PathSettingPanel.add(VhookPathLabel, gridBagConstraints54);
- FFmpegSettingPanel.add(CommandLineOutOptionField, gridBagConstraints53);
- FFmpegSettingPanel.add(CommandLineInOptionField, gridBagConstraints52);
- FFmpegSettingPanel.add(MainOptionField, gridBagConstraints51);
- FFmpegSettingPanel.add(MainOptionLabel, gridBagConstraints48);
- FFmpegSettingPanel.add(InLabel, gridBagConstraints49);
- FFmpegSettingPanel.add(OutLabel, gridBagConstraints50);
- FFmpegSettingPanel.add(getFFmpegOptionComboBoxPanel(),
- gridBagConstraints55);
- FFmpegSettingPanel.add(ExtOptionLabel, gridBagConstraints56);
- FFmpegSettingPanel.add(getExtOptionField(), gridBagConstraints57);
- VideoInfoPanel.add(DoButton, gridBagConstraints71);
- VideoInfoPanel.add(OpPanel, new GridBagConstraints(0, 0, 1, 1, 1.0,
- 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
- new Insets(0, 0, 0, 0), 0, 0));
- OpPanel.add(VideoID_Label, gridBagConstraints67);
- OpPanel.add(VideoID_TextField, gridBagConstraints68);
- OpPanel.add(WayBackLabel, gridBagConstraints69);
- OpPanel.add(WayBackField, gridBagConstraints70);
-
- MainTabbedPane.add(BasicInfoTabPanel, "\8aî\96{\90Ý\92è");
- MainTabbedPane.add(SavingInfoTabPanel, "\95Û\91¶\90Ý\92è");
- MainTabbedPane.add(FFMpegTabPanel, "\93®\89æ\90Ý\92è");
- MainTabbedPane.addTab("\95Ï\8a·\90Ý\92è", null, getConvertingSettingPanel(), null);
+
+
+ final GroupLayout layout = new GroupLayout(FFmpegSettingPanel);
+ FFmpegSettingPanel.setLayout(layout);
+
+ layout.setHorizontalGroup(layout.createParallelGroup()
+ .addComponent(getFFmpegOptionComboBoxPanel())
+ .addGroup(layout.createSequentialGroup()
+ .addGroup(layout.createParallelGroup()
+ .addComponent(extOptionLabel)
+ .addComponent(mainOptionLabel)
+ .addComponent(inputOptionLabel)
+ .addComponent(outputOptionLabel)
+ .addComponent(avfilterOptionLabel)
+ )
+ .addPreferredGap(ComponentPlacement.RELATED)
+ .addGroup(layout.createParallelGroup()
+ .addComponent(extOptionField)
+ .addComponent(mainOptionField)
+ .addComponent(inputOptionField)
+ .addComponent(outputOptionField)
+ .addComponent(avfilterOptionField)
+ )
+ )
+ .addGroup(layout.createParallelGroup()
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(resizeCheckBox)
+ .addPreferredGap(ComponentPlacement.UNRELATED)
+ .addComponent(resizeWidthLabel)
+ .addPreferredGap(ComponentPlacement.RELATED)
+ .addComponent(resizeWidthField)
+ .addPreferredGap(ComponentPlacement.UNRELATED)
+ .addComponent(resizeHeightLabel)
+ .addPreferredGap(ComponentPlacement.RELATED)
+ .addComponent(resizeHeigitField)
+ )
+ )
+ .addGroup(layout.createSequentialGroup()
+ .addGap(10)
+ .addComponent(adjustRatioCheckBox))
+ .addGroup(layout.createSequentialGroup()
+ .addGap(20)
+ )
+ );
+
+ layout.setVerticalGroup(layout.createSequentialGroup()
+ .addComponent(getFFmpegOptionComboBoxPanel())
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(extOptionLabel)
+ .addComponent(extOptionField))
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(mainOptionLabel)
+ .addComponent(mainOptionField))
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(inputOptionLabel)
+ .addComponent(inputOptionField))
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(outputOptionLabel)
+ .addComponent(outputOptionField))
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(avfilterOptionLabel)
+ .addComponent(avfilterOptionField))
+ .addGroup(layout.createSequentialGroup()
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(resizeCheckBox)
+ .addComponent(resizeWidthLabel)
+ .addComponent(resizeWidthField)
+ .addComponent(resizeHeightLabel)
+ .addComponent(resizeHeigitField))
+ .addComponent(adjustRatioCheckBox)
+ )
+ );
+
+ resizeCheckBox.addActionListener(ffmpegOptionCheckBoxListener);
+ adjustRatioCheckBox.addActionListener(ffmpegOptionCheckBoxListener);
+ setFFMpegOptionCheckbox();
+
+
+
+ mainTabbedPane.add(BasicInfoTabPanel, "基本設定");
+ mainTabbedPane.add(SavingInfoTabPanel, "保存設定");
+ mainTabbedPane.add(FFMpegTabPanel, "動画設定");
+ mainTabbedPane.addTab("変換設定", null, getConvertingSettingPanel(), null);
SavingInfoTabPanel.add(savePanel);
BasicInfoTabPanel.add(UserInfoPanel, gridBagConstraints7);
BasicInfoTabPanel.add(getProxyInfoPanel(), gridBagConstraints6);
VhookSettingPanel.add(FontPathLabel, gridBagConstraints59);
- VhookSettingPanel.add(ShowConvVideoCheckBox, gridBagConstraints63);
- VhookSettingPanel.add(FontPathField, gridBagConstraints60);
- VhookSettingPanel.add(FontIndexField, gridBagConstraints62);
+ VhookSettingPanel.add(showConvVideoCheckBox, gridBagConstraints63);
+ VhookSettingPanel.add(fontPathField, gridBagConstraints60);
+ VhookSettingPanel.add(fontIndexField, gridBagConstraints62);
VhookSettingPanel.add(FontIndexLabel, gridBagConstraints61);
VhookSettingPanel.add(SettingFontPathButton, gridBagConstraints64);
VhookSettingPanel.add(getFixFontSizeCheckBox(), gridBagConstraints14);
}
/**
- * \95Û\91¶\90Ý\92è\83p\83l\83\8b\93à\82Ì\83{\83^\83\93\82É\83A\83N\83V\83\87\83\93\83\8a\83X\83i\82ð\8a\84\82è\93\96\82Ä\82é.
+ * 保存設定パネル内のボタンにアクションリスナを割り当てる.
*/
private void setListenerToSavePanelButton() {
ActionListener al;
}
private void setPopup() {
- MainOptionField.addMouseListener(new PopupRightClick(
- this.MainOptionField));
- CommandLineInOptionField.addMouseListener(new PopupRightClick(
- this.CommandLineInOptionField));
- CommandLineOutOptionField.addMouseListener(new PopupRightClick(
- this.CommandLineOutOptionField));
+ mainOptionField.addMouseListener(new PopupRightClick(
+ this.mainOptionField));
+ inputOptionField.addMouseListener(new PopupRightClick(
+ this.inputOptionField));
+ outputOptionField.addMouseListener(new PopupRightClick(
+ this.outputOptionField));
savePanel.getCommentNumField().addMouseListener(new PopupRightClick(
savePanel.getCommentNumField()));
videoSaveInfoPanel.getNibrFileField().addMouseListener(
new PopupRightClick(videoSaveInfoPanel.getNibrFileField()));
- FFmpegPathField.addMouseListener(new PopupRightClick(
- this.FFmpegPathField));
- VhookPathField.addMouseListener(new PopupRightClick(this.VhookPathField));
- VideoID_TextField.addMouseListener(new PopupRightClick(
- this.VideoID_TextField));
- ViewCommentField.addMouseListener(new PopupRightClick(
- this.ViewCommentField));
- FontPathField.addMouseListener(new PopupRightClick(this.FontPathField));
- MailAddrField.addMouseListener(new PopupRightClick(this.MailAddrField));
- PasswordField.addMouseListener(new PopupRightClick(this.PasswordField));
- WayBackField.addMouseListener(new PopupRightClick(this.WayBackField));
-
- ProxyTextField.addMouseListener(new PopupRightClick(this.ProxyTextField));
- ProxyPortTextField.addMouseListener(new PopupRightClick(
- this.ProxyPortTextField));
-
- FontIndexField.addMouseListener(new PopupRightClick(this.FontIndexField));
-
- NGWordTextField.addMouseListener(new PopupRightClick(
- this.NGWordTextField));
- NGIDTextField.addMouseListener(new PopupRightClick(this.NGIDTextField));
+ ffmpegPathField.addMouseListener(new PopupRightClick(
+ this.ffmpegPathField));
+ vhookPathField.addMouseListener(new PopupRightClick(this.vhookPathField));
+ videoIdField.addMouseListener(new PopupRightClick(
+ this.videoIdField));
+ viewCommentField.addMouseListener(new PopupRightClick(
+ this.viewCommentField));
+ fontPathField.addMouseListener(new PopupRightClick(this.fontPathField));
+ mailAddressField.addMouseListener(new PopupRightClick(this.mailAddressField));
+ passwordField.addMouseListener(new PopupRightClick(this.passwordField));
+ wayBackField.addMouseListener(new PopupRightClick(this.wayBackField));
+
+ proxyTextField.addMouseListener(new PopupRightClick(this.proxyTextField));
+ proxyPortTextField.addMouseListener(new PopupRightClick(
+ this.proxyPortTextField));
+
+ fontIndexField.addMouseListener(new PopupRightClick(this.fontIndexField));
+
+ ngWordTextField.addMouseListener(new PopupRightClick(
+ this.ngWordTextField));
+ ngIdTextField.addMouseListener(new PopupRightClick(this.ngIdTextField));
}
private void setDropTarget() {
addTarget(savePanel.getConvertedVideoSavedFileField(), false);
addTarget(savePanel.getConvertedVideoSavedFolderField(), true);
- addTarget(FFmpegPathField, false);
- addTarget(VhookPathField, false);
- addTarget(FontPathField, false);
+ addTarget(ffmpegPathField, false);
+ addTarget(vhookPathField, false);
+ addTarget(fontPathField, false);
}
/**
- * \83e\83L\83X\83g\83t\83B\81[\83\8b\83h\82É\91Î\82µ\83h\83\8d\83b\83v\82ð\8ds\82Á\82½\8fê\8d\87\82É\83t\83@\83C\83\8b\82à\82µ\82\82Í\83f\83B\83\8c\83N\83g\83\8a\82Ì\95¶\8e\9a\97ñ\82ð\90Ý\92è\82Å\82«\82é\82æ\82¤\82É\82·\82é.
- * @param c \90Ý\92è\91Î\8fÛ\82Ì\83e\83L\83X\83g\83t\83B\81[\83\8b\83h\83I\83u\83W\83F\83N\83g.
- * @param isDir \83f\83B\83\8c\83N\83g\83\8a\82ð\90Ý\92è\82·\82é\8fê\8d\87\82Ítrue, \83t\83@\83C\83\8b\82Ì\8fê\8d\87\82Ífalse.
- * @return \83h\83\8d\83b\83v\83^\81[\83Q\83b\83g(\97p\93r\96³\82µ).
+ * テキストフィールドに対しドロップを行った場合にファイルもしくはディレクトリの文字列を設定できるようにする.
+ * @param c 設定対象のテキストフィールドオブジェクト.
+ * @param isDir ディレクトリを設定する場合はtrue, ファイルの場合はfalse.
+ * @return ドロップターゲット(用途無し).
*/
private DropTarget addTarget(JTextField c, boolean isDir) {
return new DropTarget(c, DnDConstants.ACTION_COPY, new FileDropTarget(
c, isDir), true);
}
private File CurrentDir = new File(".");
- JPanel PathSettingPanel = new JPanel();
- JLabel FFmpegPathLabel = new JLabel();
- GridBagLayout gridBagLayout7 = new GridBagLayout();
- JTextField FFmpegPathField = new JTextField();
- JButton SettingFFmpegPathButton = new JButton();
- JLabel VhookPathLabel = new JLabel();
- JTextField VhookPathField = new JTextField();
- JButton SettingVhookPathButton = new JButton();
- JPanel VhookSettingPanel = new JPanel();
- GridBagLayout gridBagLayout8 = new GridBagLayout();
- JPanel FFmpegSettingPanel = new JPanel();
- GridBagLayout gridBagLayout9 = new GridBagLayout();
- JLabel FontPathLabel = new JLabel();
- JTextField FontPathField = new JTextField();
- JButton SettingFontPathButton = new JButton();
- JCheckBox ShowConvVideoCheckBox = new JCheckBox();
- JTextField CommandLineOutOptionField = new JTextField();
+ private JPanel PathSettingPanel = new JPanel();
+ private JLabel FFmpegPathLabel = new JLabel();
+ private GridBagLayout gridBagLayout7 = new GridBagLayout();
+ private JTextField ffmpegPathField = new JTextField();
+ private JButton SettingFFmpegPathButton = new JButton();
+ private JLabel VhookPathLabel = new JLabel();
+ private JTextField vhookPathField = new JTextField();
+ private JButton SettingVhookPathButton = new JButton();
+ private JPanel VhookSettingPanel = new JPanel();
+ private GridBagLayout gridBagLayout8 = new GridBagLayout();
+ private JPanel FFmpegSettingPanel = new JPanel();
+ private GridBagLayout gblFFmpegSettingPanel = new GridBagLayout();
+ private JLabel FontPathLabel = new JLabel();
+ private JTextField fontPathField = new JTextField();
+ private JButton SettingFontPathButton = new JButton();
+ private JCheckBox showConvVideoCheckBox = new JCheckBox();
private void showSaveDialog(String title, JTextField field, boolean isSave,
boolean isDir) {
}
if (code == JFileChooser.APPROVE_OPTION) {
if (isDir) {
- CurrentDir = chooser.getCurrentDirectory();
+ CurrentDir = chooser.getSelectedFile();
field.setText(CurrentDir.getAbsolutePath());
} else {
File selected = chooser.getSelectedFile();
}
/**
- * \90Ý\92è\82ð\89æ\96Ê\82É\94½\89f\82·\82é.
- * @param setting \94½\89f\82·\82é\90Ý\92è.
+ * 設定を画面に反映する.
+ * @param setting 反映する設定.
*/
private void setSetting(SProperties setting) {
- // \8aî\96{\90Ý\92è
+ // 基本設定
final BasicSetting basic = setting.getBasicSetting();
- MailAddrField.setText(basic.getMail());
- PasswordField.setText(basic.getPassword());
- // \83v\83\8d\83L\83V\8aÖ\98A
- UseProxyCheckBox.setSelected(basic.isProxyUse());
- ProxyTextField.setText(basic.getProxyHost());
+ tempDir = basic.getTempDir();
+ mailAddressField.setText(basic.getUser().getMail());
+ passwordField.setText(basic.getUser().getPassword());
+ // プロキシ関連
+ useProxyCheckBox.setSelected(basic.isProxyUse());
+ proxyTextField.setText(basic.getProxyHost());
int proxy_port = basic.getProxyPort();
if (proxy_port >= 0 && proxy_port <= 65535) {
- ProxyPortTextField.setText(Integer.toString(proxy_port));
+ proxyPortTextField.setText(Integer.toString(proxy_port));
} else {
- ProxyPortTextField.setText("");
+ proxyPortTextField.setText("");
}
- // \95Û\91¶\90Ý\92è - \93ü\97Í\93®\89æ
+ // 保存設定 - 入力動画
final InputVideoSetting inVideo = setting.getInputVideoSetting();
JRadioButton activeButton;
switch (inVideo.getProcessKind()) {
final boolean videoFixName = inVideo.isAutoNaming();
videoSaveInfoPanel.getSaveFileRadioButton().setSelected(!videoFixName);
videoSaveInfoPanel.getSaveFolderRadioButton().setSelected(videoFixName);
+ videoSaveInfoPanel.getNibrFileField().setText(inVideo.getNicoBrowserFile().getPath());
- // \95Û\91¶\90Ý\92è - \93ü\97Í\83R\83\81\83\93\83g
+ // 保存設定 - 入力コメント
final InputCommentSetting inputComment = setting.getInputCommentSetting();
savePanel.getSavingCommentCheckBox().setSelected(inputComment.getProcessKind());
savePanel.getCommentSavedFileField().setText(inputComment.getFile().getPath());
savePanel.getCommentSaveFileRadioButton().setSelected(!commentFixName);
savePanel.getCommentSaveFolderRadioButton().setSelected(commentFixName);
- // \93\8a\8de\8eÒ\83R\83\81\83\93\83g
+ // 投稿者コメント
InputTcommentSetting tcom = setting.getInputTcommentSetting();
savePanel.setTcommentDownload(tcom.getProcessKind());
savePanel.setTcommentDelete(tcom.isDeleteAfterConvert());
savePanel.setTcommentDirectoryName(tcom.getFolder().getPath());
savePanel.setTcommentFileName(tcom.getFile().getPath());
- // \95Û\91¶\90Ý\92è - \8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ
+ // 保存設定 - 出力コメント付き動画
final OutputVideoSetting outputVideo = setting.getOutputVideoSetting();
savePanel.getSavingConvertedVideoCheckBox().setSelected(outputVideo.getProcessKind());
savePanel.getAddCommentCheckBox().setSelected(outputVideo.isAddComment());
savePanel.getConvSaveFileRadioButton().setSelected(!convFixName);
savePanel.getConvSaveFolderRadioButton().setSelected(convFixName);
- // \93®\89æ\90Ý\92è
+ // 動画設定
final MovieSetting movie = setting.getMovieSetting();
- FFmpegPathField.setText(movie.getFfmpeg().toString());
- VhookPathField.setText(movie.getVhook().toString());
- ExtOptionField.setText(movie.getFfmpegOption().getExtOption());
- MainOptionField.setText(movie.getFfmpegOption().getMainOption());
- CommandLineOutOptionField.setText(movie.getFfmpegOption().getOutOption());
- CommandLineInOptionField.setText(movie.getFfmpegOption().getInOption());
+ ffmpegPathField.setText(movie.getFfmpeg().toString());
+ vhookPathField.setText(movie.getVhook().toString());
+ extOptionField.setText(movie.getFfmpegOption().getExtOption());
+ mainOptionField.setText(movie.getFfmpegOption().getMainOption());
+ inputOptionField.setText(movie.getFfmpegOption().getInOption());
+ outputOptionField.setText(movie.getFfmpegOption().getOutOption());
+ avfilterOptionField.setText(movie.getFfmpegOption().getAvfilterOption());
+ resizeCheckBox.setSelected(movie.getFfmpegOption().isResize());
+ resizeWidthField.setText(Integer.toString(movie.getFfmpegOption().getResizeWidth()));
+ resizeHeigitField.setText(Integer.toString(movie.getFfmpegOption().getResizeHeight()));
+ adjustRatioCheckBox.setSelected(movie.getFfmpegOption().isAdjustRatio());
FFmpegOptionModel.reload(movie.getOptionFile());
- // \95Ï\8a·\90Ý\92è
+ // 変換設定
final ConvertSetting conv = setting.getConvertSetting();
- NotUseVhookCheckBox.setSelected(conv.isVhookDisabled());
- ViewCommentField.setText(Integer.toString(conv.getMaxNumOfComment()));
- FontPathField.setText(conv.getFont().toString());
- FontIndexField.setText(Integer.toString(conv.getFontIndex()));
- ShadowComboBox.setSelectedIndex(conv.getShadowIndex());
- ShowConvVideoCheckBox.setSelected(conv.isShowConverting());
- FixFontSizeCheckBox.setSelected(conv.isSelfAdjustFontSize());
- OpaqueCommentCheckBox.setSelected(conv.isCommentOpaque());
- NGWordTextField.setText(conv.getNgSetting().getWord());
- NGIDTextField.setText(conv.getNgSetting().getId());
- }
-
- private FfmpegOption detectOption() throws IOException {
- // TODO detectOption\82ð\8eg\97p\82·\82é\89Ó\8f\8a
- final File ffmpegFile = FFmpegOptionModel.getSelectedFile();
- if (ffmpegFile != null) {
- return FfmpegOption.load(ffmpegFile);
- }
-
- final String extOption = ExtOptionField.getText();
- final String mainOption = MainOptionField.getText();
- final String inOption = CommandLineInOptionField.getText();
- final String outOption = CommandLineOutOptionField.getText();
-
- return new FfmpegOption(extOption, mainOption, inOption, outOption);
+ disableVhookCheckBox.setSelected(conv.isVhookDisabled());
+ viewCommentField.setText(Integer.toString(conv.getMaxNumOfComment()));
+ fontPathField.setText(conv.getFont().toString());
+ fontIndexField.setText(Integer.toString(conv.getFontIndex()));
+ shadowComboBox.setSelectedIndex(conv.getShadowIndex());
+ showConvVideoCheckBox.setSelected(conv.isShowConverting());
+ fixFontSizeCheckBox.setSelected(conv.isSelfAdjustFontSize());
+ opaqueCommentCheckBox.setSelected(conv.isCommentOpaque());
+ ngWordTextField.setText(conv.getNgSetting().getWord());
+ ngIdTextField.setText(conv.getNgSetting().getId());
}
/**
- * [\83t\83@\83C\83\8b|\8fI\97¹] \83A\83N\83V\83\87\83\93\82ª\8eÀ\8ds\82³\82ê\82Ü\82µ\82½\81B
+ * [ファイル|終了] アクションが実行されました。
*
* @param actionEvent
* ActionEvent
*/
void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
- SProperties setting = getSetting();
- SProperties.saveSetting(setting);
+ try {
+ SProperties setting = getSetting();
+ SProperties.saveSetting(setting);
+ } catch (Throwable t) {
+ Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, "設定保存に失敗", t);
+ }
System.exit(0);
}
/**
- * [\83w\83\8b\83v|\83o\81[\83W\83\87\83\93\8fî\95ñ] \83A\83N\83V\83\87\83\93\82ª\8eÀ\8ds\82³\82ê\82Ü\82µ\82½\81B
+ * [ヘルプ|バージョン情報] アクションが実行されました。
*
* @param actionEvent
* ActionEvent
dlg.setVisible(true);
}
- /* \95Ï\8a·\81E\95Û\91¶\82·\82é */
- Converter Converter = null;
- JTextField CommandLineInOptionField = new JTextField();
- JLabel InLabel = new JLabel();
- JLabel OutLabel = new JLabel();
- JLabel MainOptionLabel = new JLabel();
- JTextField MainOptionField = new JTextField();
- JLabel FontIndexLabel = new JLabel();
- JTextField FontIndexField = new JTextField();
- JLabel VideoID_Label = new JLabel();
- JLabel WayBackLabel = new JLabel();
- JTextField WayBackField = new JTextField();
- GridBagLayout gridBagLayout10 = new GridBagLayout();
- GridBagLayout gridBagLayout11 = new GridBagLayout();
- GridBagLayout gridBagLayout1 = new GridBagLayout();
- JPanel OpPanel = new JPanel();
- GridLayout gridLayout1 = new GridLayout();
- JPanel BasicInfoTabPanel = new JPanel();
- GridBagLayout gridBagLayout12 = new GridBagLayout();
+ /* 変換・保存する */
+ private Converter Converter = null;
+ // FFmpegの設定 ここから
+ private final JLabel extOptionLabel = new JLabel();
+ private final JTextField extOptionField = new JTextField();
+ private JLabel mainOptionLabel = new JLabel();
+ private JTextField mainOptionField = new JTextField();
+ private JLabel inputOptionLabel = new JLabel();
+ private JTextField inputOptionField = new JTextField();
+ private JLabel outputOptionLabel = new JLabel();
+ private JTextField outputOptionField = new JTextField();
+ private final JLabel avfilterOptionLabel = new JLabel();
+ private final JTextField avfilterOptionField = new JTextField();
+ private final JCheckBox resizeCheckBox = new JCheckBox("次のサイズに収まるよう縮小(-s)");
+ private final JLabel resizeWidthLabel = new JLabel("横");
+ private final JTextField resizeWidthField = new NumberFormattedTextField();
+ private final JLabel resizeHeightLabel = new JLabel("縦");
+ private final JTextField resizeHeigitField = new NumberFormattedTextField();
+ private final JCheckBox adjustRatioCheckBox = new JCheckBox("アスペクト比を維持");
+ // FFmpegの設定 ここまで
+ private JLabel FontIndexLabel = new JLabel();
+ private JTextField fontIndexField = new JTextField();
+ private JPanel BasicInfoTabPanel = new JPanel();
+ private GridBagLayout gridBagLayout12 = new GridBagLayout();
private JPanel ConvertingSettingPanel = null;
private JPanel NGWordSettingPanel = null;
- private JLabel NGWordLavel = null;
- private JTextField NGWordTextField = null;
+ private JLabel NGWordLabel = null;
+ private JTextField ngWordTextField = null;
private JLabel NGIDLabel = null;
- private JTextField NGIDTextField = null;
+ private JTextField ngIdTextField = null;
+ // プロキシ設定
private JPanel ProxyInfoPanel = null;
- private JLabel ProxyLabel = null;
- private JTextField ProxyTextField = null;
- private JLabel ProxyPortLabel = null;
- private JTextField ProxyPortTextField = null;
- private JCheckBox UseProxyCheckBox = null;
- private JCheckBox FixFontSizeCheckBox = null;
- private JCheckBox OpaqueCommentCheckBox = null;
+ private JCheckBox useProxyCheckBox = null;
+ private JLabel proxyLabel = null;
+ private JTextField proxyTextField = null;
+ private JLabel proxyPortLabel = null;
+ private JTextField proxyPortTextField = null;
+ //
+ private JCheckBox fixFontSizeCheckBox = null;
+ private JCheckBox opaqueCommentCheckBox = null;
private final SavePanel savePanel = new SavePanel();
private final VideoSaveInfoPanel videoSaveInfoPanel;
private JComboBox FFmpegOptionComboBox = null;
public void DoButton_actionPerformed(ActionEvent e) {
if (Converter == null || Converter.isConverted()) {
- String url;
-
- // NicoBrowser\83t\83@\83C\83\8b\82ð\97\98\97p\82·\82é\8fê\8d\87\82Í\81A\83t\83@\83C\83\8b\96¼\82©\82ç\83r\83f\83IID\82ð\93Á\92è.
- if (videoSaveInfoPanel.getVideoUseNiBrButton().isSelected()) {
- try {
- String fileName = videoSaveInfoPanel.getNibrFileField().getText();
- NicoDBFinder finder = NicoDBFinder.getInstance();
- NicoContent info = finder.findNicoContent(fileName);
- if (info != null) {
- url = info.getNicoId();
- } else {
- url = "";
- }
- } catch (Exception ex) {
- JOptionPane.showMessageDialog(this, ex.getMessage(), "\83G\83\89\81[", JOptionPane.ERROR_MESSAGE);
- return;
+ try {
+ executeConvert();
+ } catch (Exception ex) {
+ String text = ex.getMessage();
+ if (StringUtils.isEmpty(text)) {
+ text = "予期しないエラーのため中断しました。";
}
- } else {
- url = VideoID_TextField.getText();
+ ex.printStackTrace();
+ statusBar.setText(text);
}
+ } else { /* 開始しているので、ストップする。 */
+ final ConvertStopFlag flag = Converter.getStopFlag();
+ if (!flag.needStop()) { /* まだストップしていない。 */
+ flag.requestStop();
+ }
+ }
+ }
- TextProgressListener sl = new TextProgressListener() {
+ private void executeConvert() throws IOException {
+ String url;
+
+ // NicoBrowserファイルを利用する場合は、ファイル名からビデオIDを特定.
+ if (videoSaveInfoPanel.getVideoUseNiBrButton().isSelected()) {
+ try {
+ String fileName = videoSaveInfoPanel.getNibrFileField().getText();
+ NicoDBFinder finder = NicoDBFinder.getInstance();
+ NicoContent info = finder.findNicoContent(fileName);
+ if (info != null) {
+ url = info.getNicoId();
+ } else {
+ // TODO これはダメ…だけどそのうちこの処理自体削除になる
+ url = "";
+ }
+ } catch (Exception ex) {
+ JOptionPane.showMessageDialog(this, ex.getMessage(), "エラー", JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+ } else {
+ url = videoIdField.getText();
+ }
- public void setText(final String text) {
- SwingUtilities.invokeLater(new Runnable() {
+ TextProgressListener sl = new TextProgressListener() {
- public void run() {
- statusBar.setText(text);
- }
- });
- }
- };
-
- ConvertStopFlag.StateChangeListener scl = new ConvertStopFlag.StateChangeListener() {
-
- public void changeState(final State s) {
- SwingUtilities.invokeLater(new Runnable() {
-
- public void run() {
- switch (s) {
- case PROCESSING:
- DoButton.setText(DoButtonStopString);
- break;
- case STOPPING:
- DoButton.setText(DoButtonWaitString);
- break;
- case FINISHED:
- DoButton.setText(DoButtonDefString);
- }
+ public void setText(final String text) {
+ SwingUtilities.invokeLater(new Runnable() {
+
+ public void run() {
+ statusBar.setText(text);
+ }
+ });
+ }
+ };
+
+ ConvertStopFlag.StateChangeListener scl = new ConvertStopFlag.StateChangeListener() {
+
+ public void changeState(final State s) {
+ SwingUtilities.invokeLater(new Runnable() {
+
+ public void run() {
+ switch (s) {
+ case STOPPING:
+ doButton.setText(DoButtonWaitString);
+ break;
+ case FINISHED:
+ doButton.setText(DoButtonDefString);
}
- });
- }
- };
-
- Converter = new Converter(url, WayBackField.getText(), getSetting().toProfile(), sl,
- new ConvertStopFlag(scl));
-// new ConvertStopFlag(this.DoButton, DoButtonStopString,
-// DoButtonWaitString, DoButtonDefString));
- Converter.start();
- } else { /* \8aJ\8en\82µ\82Ä\82¢\82é\82Ì\82Å\81A\83X\83g\83b\83v\82·\82é\81B */
- final ConvertStopFlag flag = Converter.getStopFlag();
- if (!flag.needStop()) { /* \82Ü\82¾\83X\83g\83b\83v\82µ\82Ä\82¢\82È\82¢\81B */
- flag.requestStop();
+ }
+ });
}
- }
+ };
+
+ final String id = Util.getVideoId(url);
+ Converter = new Converter(id, getSetting().toProfile(), sl,
+ new ConvertStopFlag(scl));
+ doButton.setText(DoButtonStopString);
+ FutureTask<Boolean> task = new FutureTask<Boolean>(Converter);
+ new Thread(task).start();
+
}
- /* FFmpeg\82Ö\82Ì\83p\83X */
+ /* FFmpegへのパス */
public void SettingFFmpegPathButton_actionPerformed(ActionEvent e) {
- showSaveDialog("FFmpeg\82Ö\82Ì\83p\83X", FFmpegPathField, false, false);
+ showSaveDialog("FFmpegへのパス", ffmpegPathField, false, false);
}
public void SettingVhookPathButton_actionPerformed(ActionEvent e) {
- showSaveDialog("\8ag\92£vhook\83\89\83C\83u\83\89\83\8a\82Ö\82Ì\83p\83X", VhookPathField, false, false);
+ showSaveDialog("拡張vhookライブラリへのパス", vhookPathField, false, false);
}
public void SettingFontPathButton_actionPerformed(ActionEvent e) {
- showSaveDialog("\83t\83H\83\93\83g\82Ö\82Ì\83p\83X", FontPathField, false, false);
+ showSaveDialog("フォントへのパス", fontPathField, false, false);
}
public void this_windowClosing(WindowEvent e) {
gridBagConstraints2.gridx = 0;
gridBagConstraints2.insets = new Insets(0, 5, 5, 0);
gridBagConstraints2.gridy = 0;
- NGWordLavel = new JLabel();
- NGWordLavel.setText("NG\83\8f\81[\83h");
+ NGWordLabel = new JLabel();
+ NGWordLabel.setText("NGワード");
NGWordSettingPanel = new JPanel();
NGWordSettingPanel.setLayout(new GridBagLayout());
NGWordSettingPanel.setBorder(BorderFactory.createTitledBorder(null,
- "NG\83\8f\81[\83h\81EID\90Ý\92è"));
- NGWordSettingPanel.add(NGWordLavel, gridBagConstraints2);
+ "NGワード・ID設定(半角スペース区切りで複数入力)"));
+ NGWordSettingPanel.add(NGWordLabel, gridBagConstraints2);
NGWordSettingPanel.add(getNGWordTextField(), gridBagConstraints3);
NGWordSettingPanel.add(NGIDLabel, gridBagConstraints4);
NGWordSettingPanel.add(getNGIDTextField(), gridBagConstraints5);
* @return javax.swing.JTextField
*/
private JTextField getNGWordTextField() {
- if (NGWordTextField == null) {
- NGWordTextField = new JTextField();
+ if (ngWordTextField == null) {
+ ngWordTextField = new JTextField();
+ ngWordTextField.setName("ngWordTextField");
}
- return NGWordTextField;
+ return ngWordTextField;
}
/**
* @return javax.swing.JTextField
*/
private JTextField getNGIDTextField() {
- if (NGIDTextField == null) {
- NGIDTextField = new JTextField();
+ if (ngIdTextField == null) {
+ ngIdTextField = new JTextField();
+ ngIdTextField.setName("ngIdTextField");
}
- return NGIDTextField;
+ return ngIdTextField;
}
/**
gridBagConstraints10.gridx = 0;
gridBagConstraints10.insets = new Insets(5, 5, 5, 5);
gridBagConstraints10.gridy = 2;
- ProxyPortLabel = new JLabel();
- ProxyPortLabel.setText("\83|\81[\83g\94Ô\8d\86");
+ proxyPortLabel = new JLabel();
+ proxyPortLabel.setText("ポート番号");
GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
gridBagConstraints9.fill = GridBagConstraints.BOTH;
gridBagConstraints9.gridy = 1;
gridBagConstraints8.fill = GridBagConstraints.NONE;
gridBagConstraints8.anchor = GridBagConstraints.EAST;
gridBagConstraints8.gridy = 1;
- ProxyLabel = new JLabel();
- ProxyLabel.setText("\83v\83\8d\83L\83V");
+ proxyLabel = new JLabel();
+ proxyLabel.setText("プロキシ");
ProxyInfoPanel = new JPanel();
ProxyInfoPanel.setLayout(new GridBagLayout());
ProxyInfoPanel.setBorder(BorderFactory.createTitledBorder(null,
- "\83v\83\8d\83L\83V\90Ý\92è"));
- ProxyInfoPanel.add(ProxyLabel, gridBagConstraints8);
+ "プロキシ設定"));
+ ProxyInfoPanel.add(proxyLabel, gridBagConstraints8);
ProxyInfoPanel.add(getProxyTextField(), gridBagConstraints9);
- ProxyInfoPanel.add(ProxyPortLabel, gridBagConstraints10);
+ ProxyInfoPanel.add(proxyPortLabel, gridBagConstraints10);
ProxyInfoPanel.add(getProxyPortTextField(), gridBagConstraints12);
ProxyInfoPanel.add(getUseProxyCheckBox(), gridBagConstraints13);
}
* @return javax.swing.JTextField
*/
private JTextField getProxyTextField() {
- if (ProxyTextField == null) {
- ProxyTextField = new JTextField();
+ if (proxyTextField == null) {
+ proxyTextField = new JTextField();
+ proxyTextField.setName("proxyTextField");
}
- return ProxyTextField;
+ return proxyTextField;
}
/**
* @return javax.swing.JTextField
*/
private JTextField getProxyPortTextField() {
- if (ProxyPortTextField == null) {
- ProxyPortTextField = new JTextField();
+ if (proxyPortTextField == null) {
+ proxyPortTextField = new JTextField();
+ proxyPortTextField.setName("proxyPortTextField");
}
- return ProxyPortTextField;
+ return proxyPortTextField;
}
/**
* @return javax.swing.JCheckBox
*/
private JCheckBox getUseProxyCheckBox() {
- if (UseProxyCheckBox == null) {
- UseProxyCheckBox = new JCheckBox();
- UseProxyCheckBox.setText("\83v\83\8d\83L\83V\82ð\8eg\82¤");
+ if (useProxyCheckBox == null) {
+ useProxyCheckBox = new JCheckBox();
+ useProxyCheckBox.setText("プロキシを使う");
+ useProxyCheckBox.setName("useProxyCheckBox");
}
- return UseProxyCheckBox;
+ return useProxyCheckBox;
}
/**
* @return javax.swing.JCheckBox
*/
private JCheckBox getFixFontSizeCheckBox() {
- if (FixFontSizeCheckBox == null) {
- FixFontSizeCheckBox = new JCheckBox();
- FixFontSizeCheckBox.setText("\83t\83H\83\93\83g\83T\83C\83Y\82ð\89æ\96Ê\82É\82 \82í\82¹\82Ä\8e©\93®\92²\90®\82·\82é");
+ if (fixFontSizeCheckBox == null) {
+ fixFontSizeCheckBox = new JCheckBox();
+ fixFontSizeCheckBox.setText("フォントサイズを画面にあわせて自動調整する");
+ fixFontSizeCheckBox.setName("fixFontSizeCheckBox");
}
- return FixFontSizeCheckBox;
+ return fixFontSizeCheckBox;
}
/**
* @return javax.swing.JCheckBox
*/
private JCheckBox getOpaqueCommentCheckBox() {
- if (OpaqueCommentCheckBox == null) {
- OpaqueCommentCheckBox = new JCheckBox();
- OpaqueCommentCheckBox.setText("\91S\82Ä\82Ì\83R\83\81\83\93\83g\82ð\95s\93§\96¾\82É\82·\82é");
+ if (opaqueCommentCheckBox == null) {
+ opaqueCommentCheckBox = new JCheckBox();
+ opaqueCommentCheckBox.setText("全てのコメントを不透明にする");
+ opaqueCommentCheckBox.setName("opaqueCommentCheckBox");
}
- return OpaqueCommentCheckBox;
+ return opaqueCommentCheckBox;
}
/**
* This method initializes FFmpegOptionComboBox
* @return javax.swing.JComboBox
*/
private final OptionComboBoxModel FFmpegOptionModel = new OptionComboBoxModel();
- private JLabel ExtOptionLabel = null;
- private JTextField ExtOptionField = null;
- private JCheckBox NotUseVhookCheckBox = null;
- private JTextField ViewCommentField = null;
+ private JCheckBox disableVhookCheckBox = null;
+ private JTextField viewCommentField = null;
private JLabel ViewCommentLabel = null;
private JLabel ShadowKindLabel = null;
- private JComboBox ShadowComboBox = null;
+ private JComboBox shadowComboBox = null;
private JComboBox getFFmpegOptionComboBox() {
if (FFmpegOptionComboBox == null) {
FFmpegOptionComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
- if (FFmpegOptionModel.isFile()) {// \83t\83@\83C\83\8b
- ExtOptionField.setEnabled(false);
- MainOptionField.setEnabled(false);
- CommandLineInOptionField.setEnabled(false);
- CommandLineOutOptionField.setEnabled(false);
- } else {// \83t\83@\83C\83\8b\82Å\82È\82¢
- ExtOptionField.setEnabled(true);
- MainOptionField.setEnabled(true);
- CommandLineInOptionField.setEnabled(true);
- CommandLineOutOptionField.setEnabled(true);
+ if (FFmpegOptionModel.isFile()) {// ファイル
+ setFFMpegOptionEnabled(false);
+ } else {// ファイルでない
+ setFFMpegOptionEnabled(true);
+ setFFMpegOptionCheckbox();
}
}
+
+ private void setFFMpegOptionEnabled(boolean enable) {
+ extOptionField.setEnabled(enable);
+ mainOptionField.setEnabled(enable);
+ inputOptionField.setEnabled(enable);
+ outputOptionField.setEnabled(enable);
+ avfilterOptionField.setEnabled(enable);
+ resizeCheckBox.setEnabled(enable);
+ resizeWidthField.setEnabled(enable);
+ resizeHeigitField.setEditable(enable);
+ adjustRatioCheckBox.setEnabled(enable);
+ }
});
}
return FFmpegOptionComboBox;
private JButton getFFmpegOptionReloadButton() {
if (FFmpegOptionReloadButton == null) {
FFmpegOptionReloadButton = new JButton();
- FFmpegOptionReloadButton.setText("\8dX\90V");
+ FFmpegOptionReloadButton.setText("更新");
FFmpegOptionReloadButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
}
/**
- * This method initializes ExtOptionField
- *
- * @return javax.swing.JTextField
- */
- private JTextField getExtOptionField() {
- if (ExtOptionField == null) {
- ExtOptionField = new JTextField();
- }
- return ExtOptionField;
- }
-
- /**
* This method initializes NotUseVhookCheckBox
*
* @return javax.swing.JCheckBox
*/
private JCheckBox getNotUseVhookCheckBox() {
- if (NotUseVhookCheckBox == null) {
- NotUseVhookCheckBox = new JCheckBox();
- NotUseVhookCheckBox.setText("\8ag\92£vhook\83\89\83C\83u\83\89\83\8a\82ð\96³\8cø\82É\82·\82é\81i\83f\83o\83b\83O\97p\81j");
+ if (disableVhookCheckBox == null) {
+ disableVhookCheckBox = new JCheckBox();
+ disableVhookCheckBox.setText("拡張vhookライブラリを無効にする(デバッグ用)");
+ disableVhookCheckBox.setName("disableVhookCheckBox");
}
- return NotUseVhookCheckBox;
+ return disableVhookCheckBox;
}
/**
* @return javax.swing.JTextField
*/
private JTextField getViewCommentField() {
- if (ViewCommentField == null) {
- ViewCommentField = new JTextField();
+ if (viewCommentField == null) {
+ viewCommentField = new JTextField();
+ viewCommentField.setName("viewCommentField");
}
- return ViewCommentField;
+ return viewCommentField;
}
/**
* @return javax.swing.JComboBox
*/
private JComboBox getShadowComboBox() {
- if (ShadowComboBox == null) {
- ShadowComboBox = new JComboBox(SProperties.ShadowKindArray);
+ if (shadowComboBox == null) {
+ shadowComboBox = new JComboBox(SProperties.ShadowKindArray);
+ shadowComboBox.setName("shadowComboBox");
}
- return ShadowComboBox;
+ return shadowComboBox;
}
private BasicSetting getBasicSetting() {
- String mail = MailAddrField.getText();
- String pass = String.valueOf(PasswordField.getPassword());
- boolean proxyUse = UseProxyCheckBox.isSelected();
- String proxyHost = ProxyTextField.getText();
+ String mail = mailAddressField.getText();
+ String pass = String.valueOf(passwordField.getPassword());
+ boolean proxyUse = useProxyCheckBox.isSelected();
+ String proxyHost = proxyTextField.getText();
int proxyPort;
try {
- proxyPort = Integer.parseInt(ProxyPortTextField.getText());
+ proxyPort = Integer.parseInt(proxyPortTextField.getText());
} catch (NumberFormatException e) {
proxyPort = -1;
}
- return new BasicSetting(mail, pass, proxyUse, proxyHost, proxyPort);
+ // TODO 作業用ディレクトリの設定GUI無し
+ return new BasicSetting(tempDir, mail, pass, proxyUse, proxyHost, proxyPort);
}
private InputVideoSetting getInputVideoSetting() {
String folder = videoSaveInfoPanel.getVideoSavedFolderField().getText();
String file = videoSaveInfoPanel.getVideoSavedFileField().getText();
boolean delete = videoSaveInfoPanel.getDelVideoCheckBox().isSelected();
+ String nibrFile = videoSaveInfoPanel.getNibrFileField().getText();
- return new InputVideoSetting(kind, autoNaming, new File(folder), new File(file), delete);
+ return new InputVideoSetting(kind, autoNaming, new File(folder), new File(file), delete, new File(nibrFile));
}
private InputCommentSetting getInputCommentSetting() {
String folder = savePanel.getCommentSavedFolderField().getText();
boolean adjustNumOfCom = savePanel.getFixCommentNumCheckBox().isSelected();
+ final String txt = wayBackField.getText();
+ long backLogPoint;
+ try {
+ backLogPoint = (StringUtils.isNotBlank(txt)) ? WayBackTimeParser.parse(txt) : -1;
+ } catch (IOException ex) {
+ backLogPoint = -1;
+ }
return new InputCommentSetting(download, autoNaming, new File(folder), new File(file), delete, adjustNumOfCom,
- back_comment);
+ back_comment, reduceCommentCheckBox.isSelected(), backLogPoint);
}
/**
- * \89æ\96Ê\93ü\97Í\92l\82©\82ç\93\8a\8de\8eÒ\83R\83\81\83\93\83g\90Ý\92è\82ð\8dì\90¬\82·\82é.
- * @return \8dì\90¬\82µ\82½\93\8a\8de\8eÒ\83R\83\81\83\93\83g\90Ý\92è.
+ * 画面入力値から投稿者コメント設定を作成する.
+ * @return 作成した投稿者コメント設定.
*/
private InputTcommentSetting getTcommentSetting() {
boolean down = savePanel.isTcommentDownload();
}
private MovieSetting getMovieSetting() {
- String ffmpeg = FFmpegPathField.getText();
- String vhook = VhookPathField.getText();
- String ext = ExtOptionField.getText();
- String main = MainOptionField.getText();
- String in = CommandLineInOptionField.getText();
- String out = CommandLineOutOptionField.getText();
+ String ffmpeg = ffmpegPathField.getText();
+ String vhook = vhookPathField.getText();
+ String ext = extOptionField.getText();
+ String main = mainOptionField.getText();
+ String in = inputOptionField.getText();
+ String out = outputOptionField.getText();
+ String avfilter = avfilterOptionField.getText();
+ boolean resize = resizeCheckBox.isSelected();
+ String width = resizeWidthField.getText();
+ String height = resizeHeigitField.getText();
+ boolean adjust = adjustRatioCheckBox.isSelected();
File optionFile = FFmpegOptionModel.getSelectedFile();
- FfmpegOption opt = new FfmpegOption(ext, main, in, out);
- return new MovieSetting(new File(ffmpeg), new File(vhook), optionFile, null);
+ FfmpegOption opt = new FfmpegOption(ext, main, in, out, avfilter, resize, width, height, adjust);
+ return new MovieSetting(new File(ffmpeg), new File(vhook), optionFile, opt);
}
private ConvertSetting getConvertSetting() {
- boolean vhookDisabled = NotUseVhookCheckBox.isSelected();
+ boolean vhookDisabled = disableVhookCheckBox.isSelected();
int maxComment = 30;
try {
- maxComment = Integer.parseInt(ViewCommentField.getText());
+ maxComment = Integer.parseInt(viewCommentField.getText());
} catch (NumberFormatException ex) {
}
- File font = new File(FontPathField.getText());
- int fontIndex = Integer.parseInt(FontIndexField.getText());
- int shadowIndex = ShadowComboBox.getSelectedIndex();
- boolean showConv = ShowConvVideoCheckBox.isSelected();
- boolean adjustFont = FixFontSizeCheckBox.isSelected();
- boolean commentOpaque = OpaqueCommentCheckBox.isSelected();
- ConvertSetting.NgSetting ngSetting =
- new ConvertSetting.NgSetting(NGWordTextField.getText(), NGIDTextField.getText());
+ File font = new File(fontPathField.getText());
+ int fontIndex = Integer.parseInt(fontIndexField.getText());
+ int shadowIndex = shadowComboBox.getSelectedIndex();
+ boolean showConv = showConvVideoCheckBox.isSelected();
+ boolean adjustFont = fixFontSizeCheckBox.isSelected();
+ boolean commentOpaque = opaqueCommentCheckBox.isSelected();
+ NgSetting ngSetting = new NgSetting(ngWordTextField.getText(), ngIdTextField.getText());
return new ConvertSetting(vhookDisabled, maxComment, font, fontIndex, shadowIndex, showConv, adjustFont,
commentOpaque, ngSetting);
boolean isDir;
if (source == panel.getShowSavingVideoFolderDialogButton()) {
- title = "\93®\89æ\82Ì\95Û\91¶\90æ(\83t\83H\83\8b\83_)";
+ title = "動画の保存先(フォルダ)";
field = panel.getVideoSavedFolderField();
isSave = true;
isDir = true;
} else if (source == panel.getShowSavingVideoFileDialogButton()) {
- title = "\93®\89æ\82Ì\95Û\91¶\90æ(\83t\83@\83C\83\8b)";
+ title = "動画の保存先(ファイル)";
field = panel.getVideoSavedFileField();
isSave = true;
isDir = false;
} else if (source == panel.getNibrFileChooserButton()) {
- title = "NicoBrowser\83t\83@\83C\83\8b\91I\91ð";
+ title = "NicoBrowserファイル選択";
field = panel.getNibrFileField();
isSave = false;
isDir = false;
boolean isSave;
boolean isDir;
if (source == savePanel.getShowSavingCommentFolderDialogButton()) {
- title = "\83R\83\81\83\93\83g\82Ì\95Û\91¶\90æ(\83t\83H\83\8b\83_)";
+ title = "コメントの保存先(フォルダ)";
field = savePanel.getCommentSavedFolderField();
isSave = true;
isDir = true;
- } else if (source == savePanel.getShowSavingCommentFolderDialogButton()) {
- title = "\83R\83\81\83\93\83g\82Ì\95Û\91¶\90æ(\83t\83@\83C\83\8b)";
+ } else if (source == savePanel.getShowSavingCommentFileDialogButton()) {
+ title = "コメントの保存先(ファイル)";
field = savePanel.getCommentSavedFileField();
isSave = true;
isDir = false;
boolean isSave;
boolean isDir;
if (source == savePanel.getShowSavingConvertedVideoFolderDialogButton()) {
- title = "\83R\83\81\83\93\83g\95t\82«\93®\89æ\82Ì\95Û\91¶\90æ(\83t\83H\83\8b\83_)";
+ title = "コメント付き動画の保存先(フォルダ)";
field = savePanel.getConvertedVideoSavedFolderField();
isSave = true;
isDir = true;
} else if (source == savePanel.getShowSavingConvertedVideoFileDialogButton()) {
- title = "\83R\83\81\83\93\83g\95t\82«\93®\89æ\82Ì\95Û\91¶\90æ(\83t\83@\83C\83\8b)";
+ title = "コメント付き動画の保存先(ファイル)";
field = savePanel.getConvertedVideoSavedFileField();
isSave = true;
isDir = false;
private void mask(boolean b) {
final VideoSaveInfoPanel panel = videoSaveInfoPanel;
- VideoID_TextField.setEditable(b);
+ videoIdField.setEditable(b);
panel.getDelVideoCheckBox().setEnabled(b);
panel.getSaveFolderRadioButton().setEnabled(b);