3 import java.awt.BorderLayout;
4 import java.awt.Dimension;
5 import java.awt.GridBagConstraints;
6 import java.awt.GridBagLayout;
7 import java.awt.GridLayout;
9 import java.awt.Insets;
10 import java.awt.Toolkit;
11 import java.awt.dnd.DnDConstants;
12 import java.awt.dnd.DropTarget;
13 import java.awt.event.ActionEvent;
14 import java.awt.event.ActionListener;
15 import java.awt.event.KeyEvent;
16 import java.awt.event.WindowAdapter;
17 import java.awt.event.WindowEvent;
19 import javax.swing.BorderFactory;
20 import javax.swing.ButtonGroup;
21 import javax.swing.JButton;
22 import javax.swing.JCheckBox;
23 import javax.swing.JComboBox;
24 import javax.swing.JFileChooser;
25 import javax.swing.JFrame;
26 import javax.swing.JLabel;
27 import javax.swing.JMenu;
28 import javax.swing.JMenuBar;
29 import javax.swing.JMenuItem;
30 import javax.swing.JOptionPane;
31 import javax.swing.JPanel;
32 import javax.swing.JPasswordField;
33 import javax.swing.JRadioButton;
34 import javax.swing.JTabbedPane;
35 import javax.swing.JTextField;
36 import javax.swing.SwingUtilities;
37 import nicobrowser.entity.NicoContent;
38 import org.apache.commons.io.FilenameUtils;
39 import saccubus.ConvertStopFlag.State;
40 import saccubus.ConvertingSetting.TcommentSetting;
41 import saccubus.net.TextProgressListener;
42 import saccubus.util.FileDropTarget;
43 import saccubus.util.PopupRightClick;
44 import yukihane.nicovideo.NicoDBFinder;
48 *
\83^
\83C
\83g
\83\8b:
\82³
\82«
\82ã
\82Î
\82·
52 *
\90à
\96¾:
\83j
\83R
\83j
\83R
\93®
\89æ
\82Ì
\93®
\89æ
\82ð
\83R
\83\81\83\93\83g
\82Â
\82«
\82Å
\95Û
\91¶
56 *
\92\98\8dì
\8c : Copyright (c) 2007 PSI
63 * @author
\96¢
\93ü
\97Í
66 public class MainFrame extends JFrame {
68 private static final long serialVersionUID = 2564486741331062989L;
69 public static final String VERSION = "1.22r NicoBrowser
\8ag
\92£ 1.0.0";
70 public static final Image WinIcon = Toolkit.getDefaultToolkit().createImage(saccubus.MainFrame.class.getResource(
73 BorderLayout borderLayout1 = new BorderLayout();
74 JMenuBar jMenuBar1 = new JMenuBar();
75 JMenu jMenuFile = new JMenu();
76 JMenuItem jMenuFileExit = new JMenuItem();
77 JMenu jMenuHelp = new JMenu();
78 JMenuItem jMenuHelpAbout = new JMenuItem();
79 JLabel statusBar = new JLabel();
80 JTabbedPane MainTabbedPane = new JTabbedPane();
81 JPanel SavingInfoTabPanel = new JPanel();
82 JPanel FFMpegTabPanel = new JPanel();
83 JPanel VideoInfoPanel = new JPanel();
84 JTextField VideoID_TextField = new JTextField();
85 JButton DoButton = new JButton();
86 public static final String DoButtonDefString = "
\95Ï
\8a·";
87 public static final String DoButtonStopString = "
\92â
\8e~";
88 public static final String DoButtonWaitString = "
\91Ò
\8b@";
89 JPanel UserInfoPanel = new JPanel();
90 GridBagLayout gridBagLayout3 = new GridBagLayout();
91 JLabel MailAddrLabel = new JLabel();
92 JTextField MailAddrField = new JTextField();
93 JLabel PasswordLabel = new JLabel();
94 JPasswordField PasswordField = new JPasswordField();
95 GridBagLayout gridBagLayout4 = new GridBagLayout();
96 GridBagLayout gridBagLayout6 = new GridBagLayout();
97 ButtonGroup CommentSaveButtonGroup = new ButtonGroup();
98 ButtonGroup ConvSaveButtonGroup = new ButtonGroup();
101 videoSaveInfoPanel = savePanel.getVideoSaveInfoPanel();
104 setDefaultCloseOperation(EXIT_ON_CLOSE);
108 ConvertingSetting setting = ConvertingSetting.loadSetting(null,
110 this.setSetting(setting);
111 } catch (Exception exception) {
112 exception.printStackTrace();
117 *
\83R
\83\93\83|
\81[
\83l
\83\93\83g
\82Ì
\8f\89\8aú
\89»
\81B
119 * @throws java.lang.Exception
121 private void jbInit() throws Exception {
122 GridBagConstraints gridBagConstraints74 = new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
123 GridBagConstraints.BOTH, new Insets(0, 0, 0, 5), 0, 0);
124 gridBagConstraints74.gridwidth = 2;
125 GridBagConstraints gridBagConstraints73 = new GridBagConstraints();
126 gridBagConstraints73.fill = GridBagConstraints.HORIZONTAL;
127 gridBagConstraints73.gridy = 6;
128 gridBagConstraints73.weightx = 1.0;
129 gridBagConstraints73.gridwidth = 4;
130 gridBagConstraints73.insets = new Insets(0, 0, 0, 5);
131 gridBagConstraints73.gridx = 1;
132 GridBagConstraints gridBagConstraints72 = new GridBagConstraints();
133 gridBagConstraints72.gridx = 0;
134 gridBagConstraints72.anchor = GridBagConstraints.WEST;
135 gridBagConstraints72.insets = new Insets(0, 5, 0, 5);
136 gridBagConstraints72.fill = GridBagConstraints.NONE;
137 gridBagConstraints72.gridwidth = 1;
138 gridBagConstraints72.gridy = 6;
139 ShadowKindLabel = new JLabel();
140 ShadowKindLabel.setText("
\89e
\82Ì
\8eí
\97Þ");
141 ShadowKindLabel.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
142 GridBagConstraints gridBagConstraints71 = new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
143 GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 6);
144 gridBagConstraints71.fill = GridBagConstraints.BOTH;
145 gridBagConstraints71.ipady = 0;
146 GridBagConstraints gridBagConstraints70 = new GridBagConstraints();
147 gridBagConstraints70.fill = GridBagConstraints.HORIZONTAL;
148 gridBagConstraints70.gridy = 1;
149 gridBagConstraints70.ipadx = 0;
150 gridBagConstraints70.ipady = 0;
151 gridBagConstraints70.weightx = 1.0;
152 gridBagConstraints70.insets = new Insets(0, 0, 0, 0);
153 gridBagConstraints70.gridx = 1;
154 GridBagConstraints gridBagConstraints69 = new GridBagConstraints();
155 gridBagConstraints69.gridx = 0;
156 gridBagConstraints69.ipadx = 0;
157 gridBagConstraints69.ipady = 0;
158 gridBagConstraints69.insets = new Insets(0, 5, 0, 5);
159 gridBagConstraints69.anchor = GridBagConstraints.WEST;
160 gridBagConstraints69.gridy = 1;
161 GridBagConstraints gridBagConstraints68 = new GridBagConstraints();
162 gridBagConstraints68.fill = GridBagConstraints.BOTH;
163 gridBagConstraints68.gridy = 0;
164 gridBagConstraints68.ipady = 0;
165 gridBagConstraints68.weightx = 1.0;
166 gridBagConstraints68.insets = new Insets(0, 0, 0, 0);
167 gridBagConstraints68.gridx = 1;
168 GridBagConstraints gridBagConstraints67 = new GridBagConstraints();
169 gridBagConstraints67.gridx = 0;
170 gridBagConstraints67.ipadx = 0;
171 gridBagConstraints67.ipady = 0;
172 gridBagConstraints67.insets = new Insets(0, 5, 0, 5);
173 gridBagConstraints67.anchor = GridBagConstraints.WEST;
174 gridBagConstraints67.gridy = 0;
175 GridBagConstraints gridBagConstraints66 = new GridBagConstraints();
176 gridBagConstraints66.gridx = 0;
177 gridBagConstraints66.insets = new Insets(0, 5, 5, 5);
178 gridBagConstraints66.anchor = GridBagConstraints.WEST;
179 gridBagConstraints66.gridwidth = 2;
180 gridBagConstraints66.gridy = 1;
181 ViewCommentLabel = new JLabel();
182 ViewCommentLabel.setText("
\95\
\8e¦
\83R
\83\81\83\93\83g
\90\94");
183 GridBagConstraints gridBagConstraints65 = new GridBagConstraints();
184 gridBagConstraints65.fill = GridBagConstraints.HORIZONTAL;
185 gridBagConstraints65.gridy = 1;
186 gridBagConstraints65.weightx = 1.0;
187 gridBagConstraints65.gridwidth = 6;
188 gridBagConstraints65.insets = new Insets(0, 5, 5, 5);
189 gridBagConstraints65.gridx = 3;
190 GridBagConstraints gridBagConstraints64 = new GridBagConstraints(1, 1,
191 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
192 GridBagConstraints.BOTH, new Insets(0, 0, 0, 5), 0, 0);
193 gridBagConstraints64.gridy = 3;
194 gridBagConstraints64.fill = GridBagConstraints.HORIZONTAL;
195 gridBagConstraints64.gridx = 4;
196 GridBagConstraints gridBagConstraints63 = new GridBagConstraints(0, 4,
197 2, 1, 1.0, 0.0, GridBagConstraints.CENTER,
198 GridBagConstraints.HORIZONTAL, new Insets(0, 5, 0, 5), 0, 0);
199 gridBagConstraints63.gridy = 7;
200 gridBagConstraints63.gridx = 0;
201 gridBagConstraints63.gridwidth = 5;
202 GridBagConstraints gridBagConstraints62 = new GridBagConstraints(0, 3,
203 2, 1, 1.0, 0.0, GridBagConstraints.CENTER,
204 GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0);
205 gridBagConstraints62.gridy = 5;
206 gridBagConstraints62.gridx = 1;
207 gridBagConstraints62.fill = GridBagConstraints.HORIZONTAL;
208 gridBagConstraints62.insets = new Insets(0, 0, 5, 5);
209 gridBagConstraints62.gridwidth = 4;
210 GridBagConstraints gridBagConstraints61 = new GridBagConstraints(0, 2,
211 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
212 GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0);
213 gridBagConstraints61.gridy = 5;
214 gridBagConstraints61.gridx = 0;
215 gridBagConstraints61.fill = GridBagConstraints.VERTICAL;
216 gridBagConstraints61.anchor = GridBagConstraints.WEST;
217 gridBagConstraints61.gridwidth = 1;
218 GridBagConstraints gridBagConstraints60 = new GridBagConstraints(0, 1,
219 1, 1, 1.0, 0.0, GridBagConstraints.CENTER,
220 GridBagConstraints.BOTH, new Insets(0, 5, 0, 5), 0, 0);
221 gridBagConstraints60.gridy = 3;
222 gridBagConstraints60.gridx = 1;
223 gridBagConstraints60.fill = GridBagConstraints.HORIZONTAL;
224 gridBagConstraints60.insets = new Insets(0, 0, 0, 5);
225 gridBagConstraints60.gridwidth = 3;
226 GridBagConstraints gridBagConstraints59 = new GridBagConstraints(0, 0,
227 2, 1, 1.0, 0.0, GridBagConstraints.CENTER,
228 GridBagConstraints.HORIZONTAL, new Insets(0, 5, 5, 5), 0, 0);
229 gridBagConstraints59.gridy = 3;
230 gridBagConstraints59.insets = new Insets(5, 5, 5, 5);
231 gridBagConstraints59.gridx = 0;
232 gridBagConstraints59.fill = GridBagConstraints.NONE;
233 gridBagConstraints59.anchor = GridBagConstraints.WEST;
234 gridBagConstraints59.weightx = 0.0;
235 gridBagConstraints59.gridwidth = 1;
236 GridBagConstraints gridBagConstraints58 = new GridBagConstraints();
237 gridBagConstraints58.gridx = 0;
238 gridBagConstraints58.anchor = GridBagConstraints.WEST;
239 gridBagConstraints58.insets = new Insets(0, 5, 5, 5);
240 gridBagConstraints58.gridwidth = 5;
241 gridBagConstraints58.weightx = 1.0;
242 gridBagConstraints58.fill = GridBagConstraints.HORIZONTAL;
243 gridBagConstraints58.gridy = 0;
244 GridBagConstraints gridBagConstraints57 = new GridBagConstraints();
245 gridBagConstraints57.fill = GridBagConstraints.BOTH;
246 gridBagConstraints57.gridy = 2;
247 gridBagConstraints57.weightx = 1.0;
248 gridBagConstraints57.insets = new Insets(0, 0, 5, 5);
249 gridBagConstraints57.gridx = 1;
250 GridBagConstraints gridBagConstraints56 = new GridBagConstraints();
251 gridBagConstraints56.gridx = 0;
252 gridBagConstraints56.insets = new Insets(0, 5, 5, 5);
253 gridBagConstraints56.anchor = GridBagConstraints.WEST;
254 gridBagConstraints56.gridy = 2;
255 ExtOptionLabel = new JLabel();
256 ExtOptionLabel.setText("
\8fo
\97Í
\93®
\89æ
\82Ì
\8ag
\92£
\8eq");
257 GridBagConstraints gridBagConstraints55 = new GridBagConstraints();
258 gridBagConstraints55.gridx = 0;
259 gridBagConstraints55.fill = GridBagConstraints.HORIZONTAL;
260 gridBagConstraints55.weightx = 1.0;
261 gridBagConstraints55.gridwidth = 2;
262 gridBagConstraints55.gridy = 1;
263 GridBagConstraints gridBagConstraints54 = new GridBagConstraints(0, 2,
264 2, 1, 1.0, 0.0, GridBagConstraints.CENTER,
265 GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0);
266 gridBagConstraints54.gridwidth = 3;
267 GridBagConstraints gridBagConstraints53 = new GridBagConstraints(1, 3,
268 2, 1, 1.0, 0.0, GridBagConstraints.CENTER,
269 GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0);
270 gridBagConstraints53.gridy = 5;
271 gridBagConstraints53.gridheight = 1;
272 gridBagConstraints53.weightx = 1.0;
273 gridBagConstraints53.gridwidth = 1;
274 GridBagConstraints gridBagConstraints52 = new GridBagConstraints(2, 2,
275 1, 1, 1.0, 0.0, GridBagConstraints.CENTER,
276 GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0);
277 gridBagConstraints52.gridy = 4;
278 gridBagConstraints52.gridwidth = 1;
279 gridBagConstraints52.weightx = 1.0;
280 gridBagConstraints52.gridx = 1;
281 GridBagConstraints gridBagConstraints51 = new GridBagConstraints(2, 1,
282 1, 1, 1.0, 0.0, GridBagConstraints.CENTER,
283 GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0);
284 gridBagConstraints51.gridy = 3;
285 gridBagConstraints51.gridwidth = 1;
286 gridBagConstraints51.weightx = 1.0;
287 gridBagConstraints51.gridx = 1;
288 GridBagConstraints gridBagConstraints50 = new GridBagConstraints(0, 3,
289 1, 1, 0.0, 0.0, GridBagConstraints.WEST,
290 GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0);
291 gridBagConstraints50.gridy = 5;
292 GridBagConstraints gridBagConstraints49 = new GridBagConstraints(0, 2,
293 2, 1, 0.0, 0.0, GridBagConstraints.WEST,
294 GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0);
295 gridBagConstraints49.gridy = 4;
296 gridBagConstraints49.gridwidth = 1;
297 GridBagConstraints gridBagConstraints48 = new GridBagConstraints(0, 1,
298 1, 1, 0.0, 0.0, GridBagConstraints.WEST,
299 GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0);
300 gridBagConstraints48.gridy = 3;
302 GridBagConstraints gridBagConstraints33 = new GridBagConstraints();
303 gridBagConstraints33.gridx = 0;
304 gridBagConstraints33.fill = GridBagConstraints.HORIZONTAL;
305 gridBagConstraints33.weightx = 1.0;
306 gridBagConstraints33.insets = new Insets(0, 5, 5, 5);
307 gridBagConstraints33.gridwidth = 5;
308 gridBagConstraints33.gridy = 9;
310 GridBagConstraints gridBagConstraints14 = new GridBagConstraints();
311 gridBagConstraints14.gridx = 0;
312 gridBagConstraints14.anchor = GridBagConstraints.WEST;
313 gridBagConstraints14.fill = GridBagConstraints.HORIZONTAL;
314 gridBagConstraints14.weightx = 1.0;
315 gridBagConstraints14.gridwidth = 5;
316 gridBagConstraints14.insets = new Insets(0, 5, 0, 5);
317 gridBagConstraints14.gridy = 8;
318 GridBagConstraints gridBagConstraints7 = new GridBagConstraints(0, 0,
319 1, 1, 1.0, 1.0, GridBagConstraints.NORTH,
320 GridBagConstraints.HORIZONTAL, new Insets(0, 5, 0, 5), 0, 0);
321 gridBagConstraints7.weighty = 0.0;
322 GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
323 gridBagConstraints6.gridx = 0;
324 gridBagConstraints6.weighty = 1.0;
325 gridBagConstraints6.weightx = 1.0;
326 gridBagConstraints6.insets = new Insets(0, 5, 0, 5);
327 gridBagConstraints6.fill = GridBagConstraints.HORIZONTAL;
328 gridBagConstraints6.anchor = GridBagConstraints.NORTH;
329 gridBagConstraints6.gridy = 1;
330 GridBagConstraints gridBagConstraints1 = new GridBagConstraints(0, 1,
331 1, 1, 1.0, 0.0, GridBagConstraints.CENTER,
332 GridBagConstraints.HORIZONTAL, new Insets(0, 5, 0, 5), 0, 0);
333 gridBagConstraints1.fill = GridBagConstraints.HORIZONTAL;
334 gridBagConstraints1.anchor = GridBagConstraints.NORTH;
335 gridBagConstraints1.weighty = 1.0;
336 this.setIconImage(WinIcon);
337 contentPane = (JPanel) this.getContentPane();
338 contentPane.setLayout(borderLayout1);
339 setSize(new Dimension(400, 450));
340 setTitle("
\82³
\82«
\82ã
\82Î
\82· " + VERSION);
341 this.addWindowListener(new MainFrame_this_windowAdapter(this));
342 statusBar.setText(" ");
343 jMenuFile.setText("
\83t
\83@
\83C
\83\8b");
344 jMenuFileExit.setText("
\8fI
\97¹");
345 jMenuFileExit.addActionListener(new MainFrame_jMenuFileExit_ActionAdapter(
347 jMenuHelp.setText("
\83w
\83\8b\83v");
348 jMenuHelpAbout.setText("
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ");
349 jMenuHelpAbout.addActionListener(new MainFrame_jMenuHelpAbout_ActionAdapter(
351 VideoInfoPanel.setLayout(gridBagLayout1);
352 VideoID_TextField.setText("http://www.nicovideo.jp/watch/");
353 DoButton.setText(DoButtonDefString);
354 DoButton.addActionListener(new MainFrame_DoButton_actionAdapter(this));
355 SavingInfoTabPanel.setLayout(new GridLayout());
356 UserInfoPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "
\83\86\81[
\83U
\90Ý
\92è"));
357 UserInfoPanel.setLayout(gridBagLayout3);
358 MailAddrLabel.setText("
\83\81\81[
\83\8b\83A
\83h
\83\8c\83X");
359 PasswordLabel.setText("
\83p
\83X
\83\8f\81[
\83h");
361 setListenerToSavePanelButton();
363 FFMpegTabPanel.setLayout(gridBagLayout6);
364 PathSettingPanel.setBorder(BorderFactory.createTitledBorder(
365 BorderFactory.createEtchedBorder(), "
\83v
\83\8d\83O
\83\89\83\80\82Ì
\88Ê
\92u
\82Ì
\90Ý
\92è"));
366 PathSettingPanel.setLayout(gridBagLayout7);
367 FFmpegPathLabel.setText("FFmpeg");
368 SettingFFmpegPathButton.setText("
\8eQ
\8fÆ");
369 SettingFFmpegPathButton.addActionListener(new MainFrame_SettingFFmpegPathButton_actionAdapter(
371 VhookPathLabel.setText("
\8ag
\92£vhook
\83\89\83C
\83u
\83\89\83\8a");
372 SettingVhookPathButton.setText("
\8eQ
\8fÆ");
373 SettingVhookPathButton.addActionListener(new MainFrame_SettingVhookPathButton_actionAdapter(
375 VhookSettingPanel.setLayout(gridBagLayout8);
376 VhookSettingPanel.setBorder(BorderFactory.createTitledBorder(
377 BorderFactory.createEtchedBorder(), "
\8ag
\92£vhook
\83\89\83C
\83u
\83\89\83\8a\82Ì
\90Ý
\92è"));
378 FFmpegSettingPanel.setBorder(BorderFactory.createTitledBorder(
379 BorderFactory.createEtchedBorder(), "FFmpeg
\82Ì
\90Ý
\92è"));
380 FFmpegSettingPanel.setLayout(gridBagLayout9);
381 FontPathLabel.setText("
\83t
\83H
\83\93\83g
\83p
\83X");
382 SettingFontPathButton.setText("
\8eQ
\8fÆ");
383 SettingFontPathButton.addActionListener(new MainFrame_SettingFontPathButton_actionAdapter(
385 ShowConvVideoCheckBox.setText("
\95Ï
\8a·
\92\86\82Ì
\89æ
\91\9c\82ð
\95\
\8e¦
\82·
\82é");
386 InLabel.setText("
\93ü
\97Í
\83I
\83v
\83V
\83\87\83\93");
387 OutLabel.setText("
\8fo
\97Í
\83I
\83v
\83V
\83\87\83\93");
388 MainOptionLabel.setText("
\83\81\83C
\83\93\83I
\83v
\83V
\83\87\83\93");
389 FontIndexLabel.setText("
\83t
\83H
\83\93\83g
\94Ô
\8d\86");
390 VideoID_Label.setText("URL/ID");
391 WayBackLabel.setText("
\89ß
\8b\8e\83\8d\83O");
392 OpPanel.setLayout(new GridBagLayout());
394 BasicInfoTabPanel.setLayout(gridBagLayout12);
395 jMenuBar1.add(jMenuFile);
396 jMenuFile.add(jMenuFileExit);
397 jMenuBar1.add(jMenuHelp);
398 jMenuHelp.add(jMenuHelpAbout);
399 setJMenuBar(jMenuBar1);
401 contentPane.add(statusBar, BorderLayout.SOUTH);
402 contentPane.add(MainTabbedPane, java.awt.BorderLayout.CENTER);
403 contentPane.add(VideoInfoPanel, java.awt.BorderLayout.NORTH);
404 UserInfoPanel.add(PasswordField, new GridBagConstraints(1, 1, 1, 1,
405 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
406 new Insets(0, 5, 5, 5), 0, 0));
407 UserInfoPanel.add(MailAddrField, new GridBagConstraints(1, 0, 1, 1,
408 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
409 new Insets(0, 5, 5, 5), 0, 0));
410 UserInfoPanel.add(PasswordLabel, new GridBagConstraints(0, 1, 1, 1,
411 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE,
412 new Insets(0, 5, 5, 0), 0, 0));
413 UserInfoPanel.add(MailAddrLabel, new GridBagConstraints(0, 0, 1, 1,
414 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE,
415 new Insets(0, 5, 5, 0), 0, 0));
416 PathSettingPanel.add(FFmpegPathField, new GridBagConstraints(0, 1, 1,
417 1, 1.0, 0.0, GridBagConstraints.CENTER,
418 GridBagConstraints.BOTH, new Insets(0, 5, 0, 5), 0, 0));
419 PathSettingPanel.add(SettingFFmpegPathButton, gridBagConstraints74);
420 PathSettingPanel.add(FFmpegPathLabel, new GridBagConstraints(0, 0, 2,
421 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE,
422 new Insets(0, 5, 5, 5), 0, 0));
423 PathSettingPanel.add(VhookPathField, new GridBagConstraints(0, 3, 1, 1,
424 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
425 new Insets(0, 5, 5, 5), 0, 0));
426 PathSettingPanel.add(SettingVhookPathButton, new GridBagConstraints(1,
427 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
428 GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0));
429 PathSettingPanel.add(VhookPathLabel, gridBagConstraints54);
430 FFmpegSettingPanel.add(CommandLineOutOptionField, gridBagConstraints53);
431 FFmpegSettingPanel.add(CommandLineInOptionField, gridBagConstraints52);
432 FFmpegSettingPanel.add(MainOptionField, gridBagConstraints51);
433 FFmpegSettingPanel.add(MainOptionLabel, gridBagConstraints48);
434 FFmpegSettingPanel.add(InLabel, gridBagConstraints49);
435 FFmpegSettingPanel.add(OutLabel, gridBagConstraints50);
436 FFmpegSettingPanel.add(getFFmpegOptionComboBoxPanel(),
437 gridBagConstraints55);
438 FFmpegSettingPanel.add(ExtOptionLabel, gridBagConstraints56);
439 FFmpegSettingPanel.add(getExtOptionField(), gridBagConstraints57);
440 VideoInfoPanel.add(DoButton, gridBagConstraints71);
441 VideoInfoPanel.add(OpPanel, new GridBagConstraints(0, 0, 1, 1, 1.0,
442 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
443 new Insets(0, 0, 0, 0), 0, 0));
444 OpPanel.add(VideoID_Label, gridBagConstraints67);
445 OpPanel.add(VideoID_TextField, gridBagConstraints68);
446 OpPanel.add(WayBackLabel, gridBagConstraints69);
447 OpPanel.add(WayBackField, gridBagConstraints70);
449 MainTabbedPane.add(BasicInfoTabPanel, "
\8aî
\96{
\90Ý
\92è");
450 MainTabbedPane.add(SavingInfoTabPanel, "
\95Û
\91¶
\90Ý
\92è");
451 MainTabbedPane.add(FFMpegTabPanel, "
\93®
\89æ
\90Ý
\92è");
452 MainTabbedPane.addTab("
\95Ï
\8a·
\90Ý
\92è", null, getConvertingSettingPanel(), null);
453 SavingInfoTabPanel.add(savePanel);
454 BasicInfoTabPanel.add(UserInfoPanel, gridBagConstraints7);
455 BasicInfoTabPanel.add(getProxyInfoPanel(), gridBagConstraints6);
456 VhookSettingPanel.add(FontPathLabel, gridBagConstraints59);
457 VhookSettingPanel.add(ShowConvVideoCheckBox, gridBagConstraints63);
458 VhookSettingPanel.add(FontPathField, gridBagConstraints60);
459 VhookSettingPanel.add(FontIndexField, gridBagConstraints62);
460 VhookSettingPanel.add(FontIndexLabel, gridBagConstraints61);
461 VhookSettingPanel.add(SettingFontPathButton, gridBagConstraints64);
462 VhookSettingPanel.add(getFixFontSizeCheckBox(), gridBagConstraints14);
463 VhookSettingPanel.add(getOpaqueCommentCheckBox(), gridBagConstraints33);
464 VhookSettingPanel.add(getNotUseVhookCheckBox(), gridBagConstraints58);
465 VhookSettingPanel.add(getViewCommentField(), gridBagConstraints65);
466 VhookSettingPanel.add(ViewCommentLabel, gridBagConstraints66);
467 VhookSettingPanel.add(ShadowKindLabel, gridBagConstraints72);
468 VhookSettingPanel.add(getShadowComboBox(), gridBagConstraints73);
470 FFMpegTabPanel.add(PathSettingPanel, new GridBagConstraints(0, 0, 1, 1,
471 1.0, 0.0, GridBagConstraints.NORTHEAST,
472 GridBagConstraints.HORIZONTAL, new Insets(0, 5, 0, 5), 0, 0));
473 FFMpegTabPanel.add(FFmpegSettingPanel, gridBagConstraints1);
477 *
\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é.
479 private void setListenerToSavePanelButton() {
481 al = new InputVideoPanelButtonListener();
482 videoSaveInfoPanel.getShowSavingVideoFolderDialogButton().addActionListener(al);
483 videoSaveInfoPanel.getShowSavingVideoFileDialogButton().addActionListener(al);
484 videoSaveInfoPanel.getNibrFileChooserButton().addActionListener(al);
486 al = new VideoUseRadioButtonListener();
487 videoSaveInfoPanel.getVideoNoSaveButton().addActionListener(al);
488 videoSaveInfoPanel.getVideoSaveButton().addActionListener(al);
489 videoSaveInfoPanel.getVideoUseNiBrButton().addActionListener(al);
491 al = new InputCommentPanelButtonListener();
492 savePanel.getShowSavingCommentFolderDialogButton().addActionListener(al);
493 savePanel.getShowSavingCommentFileDialogButton().addActionListener(al);
495 al = new OutputVideoPanelButtonListener();
496 savePanel.getShowSavingConvertedVideoFolderDialogButton().addActionListener(al);
497 savePanel.getShowSavingConvertedVideoFileDialogButton().addActionListener(al);
500 private void setPopup() {
501 MainOptionField.addMouseListener(new PopupRightClick(
502 this.MainOptionField));
503 CommandLineInOptionField.addMouseListener(new PopupRightClick(
504 this.CommandLineInOptionField));
505 CommandLineOutOptionField.addMouseListener(new PopupRightClick(
506 this.CommandLineOutOptionField));
507 savePanel.getCommentNumField().addMouseListener(new PopupRightClick(
508 savePanel.getCommentNumField()));
510 savePanel.getCommentSavedFileField().addMouseListener(new PopupRightClick(
511 savePanel.getCommentSavedFileField()));
512 savePanel.getCommentSavedFolderField().addMouseListener(new PopupRightClick(
513 savePanel.getCommentSavedFolderField()));
515 savePanel.getConvertedVideoSavedFileField().addMouseListener(new PopupRightClick(
516 savePanel.getConvertedVideoSavedFileField()));
517 savePanel.getConvertedVideoSavedFolderField().addMouseListener(new PopupRightClick(
518 savePanel.getConvertedVideoSavedFolderField()));
520 videoSaveInfoPanel.getVideoSavedFileField().addMouseListener(new PopupRightClick(
521 videoSaveInfoPanel.getVideoSavedFileField()));
522 videoSaveInfoPanel.getVideoSavedFolderField().addMouseListener(new PopupRightClick(
523 videoSaveInfoPanel.getVideoSavedFolderField()));
524 videoSaveInfoPanel.getNibrFileField().addMouseListener(
525 new PopupRightClick(videoSaveInfoPanel.getNibrFileField()));
527 FFmpegPathField.addMouseListener(new PopupRightClick(
528 this.FFmpegPathField));
529 VhookPathField.addMouseListener(new PopupRightClick(this.VhookPathField));
530 VideoID_TextField.addMouseListener(new PopupRightClick(
531 this.VideoID_TextField));
532 ViewCommentField.addMouseListener(new PopupRightClick(
533 this.ViewCommentField));
534 FontPathField.addMouseListener(new PopupRightClick(this.FontPathField));
535 MailAddrField.addMouseListener(new PopupRightClick(this.MailAddrField));
536 PasswordField.addMouseListener(new PopupRightClick(this.PasswordField));
537 WayBackField.addMouseListener(new PopupRightClick(this.WayBackField));
539 ProxyTextField.addMouseListener(new PopupRightClick(this.ProxyTextField));
540 ProxyPortTextField.addMouseListener(new PopupRightClick(
541 this.ProxyPortTextField));
543 FontIndexField.addMouseListener(new PopupRightClick(this.FontIndexField));
545 NGWordTextField.addMouseListener(new PopupRightClick(
546 this.NGWordTextField));
547 NGIDTextField.addMouseListener(new PopupRightClick(this.NGIDTextField));
550 private void setDropTarget() {
551 addTarget(videoSaveInfoPanel.getVideoSavedFileField(), false);
552 addTarget(videoSaveInfoPanel.getVideoSavedFolderField(), true);
553 addTarget(videoSaveInfoPanel.getNibrFileField(), false);
555 addTarget(savePanel.getCommentSavedFileField(), false);
556 addTarget(savePanel.getCommentSavedFolderField(), true);
558 addTarget(savePanel.getConvertedVideoSavedFileField(), false);
559 addTarget(savePanel.getConvertedVideoSavedFolderField(), true);
561 addTarget(FFmpegPathField, false);
562 addTarget(VhookPathField, false);
563 addTarget(FontPathField, false);
568 *
\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é.
569 * @param c
\90Ý
\92è
\91Î
\8fÛ
\82Ì
\83e
\83L
\83X
\83g
\83t
\83B
\81[
\83\8b\83h
\83I
\83u
\83W
\83F
\83N
\83g.
570 * @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.
571 * @return
\83h
\83\8d\83b
\83v
\83^
\81[
\83Q
\83b
\83g(
\97p
\93r
\96³
\82µ).
573 private DropTarget addTarget(JTextField c, boolean isDir) {
574 return new DropTarget(c, DnDConstants.ACTION_COPY, new FileDropTarget(
577 private File CurrentDir = new File(".");
578 JPanel PathSettingPanel = new JPanel();
579 JLabel FFmpegPathLabel = new JLabel();
580 GridBagLayout gridBagLayout7 = new GridBagLayout();
581 JTextField FFmpegPathField = new JTextField();
582 JButton SettingFFmpegPathButton = new JButton();
583 JLabel VhookPathLabel = new JLabel();
584 JTextField VhookPathField = new JTextField();
585 JButton SettingVhookPathButton = new JButton();
586 JPanel VhookSettingPanel = new JPanel();
587 GridBagLayout gridBagLayout8 = new GridBagLayout();
588 JPanel FFmpegSettingPanel = new JPanel();
589 GridBagLayout gridBagLayout9 = new GridBagLayout();
590 JLabel FontPathLabel = new JLabel();
591 JTextField FontPathField = new JTextField();
592 JButton SettingFontPathButton = new JButton();
593 JCheckBox ShowConvVideoCheckBox = new JCheckBox();
594 JTextField CommandLineOutOptionField = new JTextField();
596 private void showSaveDialog(String title, JTextField field, boolean isSave,
598 JFileChooser chooser = new JFileChooser(CurrentDir);
599 chooser.setDialogTitle(title);
602 chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
605 code = chooser.showSaveDialog(this);
607 code = chooser.showOpenDialog(this);
609 if (code == JFileChooser.APPROVE_OPTION) {
611 CurrentDir = chooser.getCurrentDirectory();
612 field.setText(CurrentDir.getAbsolutePath());
614 File selected = chooser.getSelectedFile();
615 CurrentDir = chooser.getCurrentDirectory();
616 field.setText(selected.getAbsolutePath());
621 private ConvertingSetting getSetting() {
624 back_comment = Integer.parseInt(savePanel.getCommentNumField().getText());
625 } catch (NumberFormatException ex) {
630 proxy_port = Integer.parseInt(ProxyPortTextField.getText());
631 } catch (NumberFormatException e) {
636 String savedFileName;
637 if (videoSaveInfoPanel.getVideoNoSaveButton().isSelected() == true) {
638 kind = VideoSaveKind.NO_SAVE;
639 savedFileName = videoSaveInfoPanel.getVideoSavedFileField().getText();
640 } else if (videoSaveInfoPanel.getVideoUseNiBrButton().isSelected() == true) {
641 kind = VideoSaveKind.NICOBROWSER;
642 savedFileName = videoSaveInfoPanel.getNibrFileField().getText();
644 kind = VideoSaveKind.SAVE;
645 savedFileName = videoSaveInfoPanel.getVideoSavedFileField().getText();
648 final ConvertingSetting.TcommentSetting tcommentSetting = getTcommentSetting();
650 ConvertingSetting setting = new ConvertingSetting(
651 MailAddrField.getText(),
652 new String(PasswordField.getPassword()),
655 savePanel.getSavingCommentCheckBox().isSelected(),
656 savePanel.getCommentSavedFileField().getText(),
657 savePanel.getSavingConvertedVideoCheckBox().isSelected(),
658 savePanel.getAddCommentCheckBox().isSelected(),
659 savePanel.getAddTcommentCheckBox().isSelected(),
660 savePanel.getConvertedVideoSavedFileField().getText(),
661 ViewCommentField.getText(),
662 FFmpegPathField.getText(),
663 VhookPathField.getText(),
664 ExtOptionField.getText(),
665 MainOptionField.getText(),
666 CommandLineInOptionField.getText(),
667 CommandLineOutOptionField.getText(),
668 Integer.toString(back_comment),
669 FontPathField.getText(),
670 Integer.parseInt(FontIndexField.getText()),
671 ShowConvVideoCheckBox.isSelected(),
672 videoSaveInfoPanel.getDelVideoCheckBox().isSelected(),
673 videoSaveInfoPanel.getSaveFolderRadioButton().isSelected(),
674 videoSaveInfoPanel.getVideoSavedFolderField().getText(),
675 savePanel.getDelCommentCheckBox().isSelected(),
676 savePanel.getCommentSaveFolderRadioButton().isSelected(),
677 savePanel.getCommentSavedFolderField().getText(),
679 savePanel.getNotAddVideoIdConvVideoCheckBox().isSelected(),
680 savePanel.getConvSaveFolderRadioButton().isSelected(),
681 savePanel.getConvertedVideoSavedFolderField().getText(),
682 NGWordTextField.getText(),
683 NGIDTextField.getText(),
684 UseProxyCheckBox.isSelected(),
685 ProxyTextField.getText(),
687 FixFontSizeCheckBox.isSelected(),
688 savePanel.getFixCommentNumCheckBox().isSelected(),
689 OpaqueCommentCheckBox.isSelected(),
690 FFmpegOptionModel.getSelectedFile(),
691 NotUseVhookCheckBox.isSelected(),
692 ShadowComboBox.getSelectedIndex());
697 *
\90Ý
\92è
\82ð
\89æ
\96Ê
\82É
\94½
\89f
\82·
\82é.
698 * @param setting
\94½
\89f
\82·
\82é
\90Ý
\92è.
700 private void setSetting(ConvertingSetting setting) {
701 MailAddrField.setText(setting.getMailAddress());
702 PasswordField.setText(setting.getPassword());
704 JRadioButton activeButton;
705 switch (setting.getVideoSaveKind()) {
707 activeButton = videoSaveInfoPanel.getVideoNoSaveButton();
710 activeButton = videoSaveInfoPanel.getVideoUseNiBrButton();
714 activeButton = videoSaveInfoPanel.getVideoSaveButton();
717 activeButton.setSelected(true);
718 ActionListener[] listeners = activeButton.getActionListeners();
719 for (ActionListener l : listeners) {
720 l.actionPerformed(new ActionEvent(activeButton, ActionEvent.ACTION_PERFORMED, activeButton.getText()));
724 videoSaveInfoPanel.getVideoSavedFileField().setText(setting.getVideoFile().getPath());
725 savePanel.getSavingCommentCheckBox().setSelected(setting.isSaveComment());
726 savePanel.getCommentSavedFileField().setText(setting.getCommentFile().getPath());
727 savePanel.getSavingConvertedVideoCheckBox().setSelected(setting.isSaveConverted());
728 savePanel.getAddCommentCheckBox().setSelected(setting.getAddComment());
729 savePanel.getAddTcommentCheckBox().setSelected(setting.getAddTcomment());
730 savePanel.getConvertedVideoSavedFileField().setText(setting.getConvertedVideoFile().getPath());
731 ViewCommentField.setText(setting.getVideoShowNum());
732 FFmpegPathField.setText(setting.getFFmpegPath());
733 VhookPathField.setText(setting.getVhookPath());
734 ExtOptionField.setText(setting.getCmdLineOptionExt());
735 MainOptionField.setText(setting.getCmdLineOptionMain());
736 CommandLineOutOptionField.setText(setting.getCmdLineOptionOut());
737 CommandLineInOptionField.setText(setting.getCmdLineOptionIn());
738 savePanel.getCommentNumField().setText(setting.getBackComment());
739 FontPathField.setText(setting.getFontPath());
740 FontIndexField.setText(setting.getFontIndex());
741 ShowConvVideoCheckBox.setSelected(setting.isVhook_ShowConvertingVideo());
742 videoSaveInfoPanel.getVideoSavedFolderField().setText(setting.getVideoFixFileNameFolder().getPath());
743 savePanel.getCommentSavedFolderField().setText(setting.getCommentFixFileNameFolder().getPath());
744 savePanel.getConvertedVideoSavedFolderField().setText(setting.getConvFixFileNameFolder().getPath());
745 videoSaveInfoPanel.getDelVideoCheckBox().setSelected(setting.isDeleteVideoAfterConverting());
746 savePanel.getDelCommentCheckBox().setSelected(setting.isDeleteCommentAfterConverting());
747 savePanel.getNotAddVideoIdConvVideoCheckBox().setSelected(setting.isNotAddVideoID_Conv());
749 boolean videoFixName = setting.isVideoFixFileName();
750 videoSaveInfoPanel.getSaveFileRadioButton().setSelected(!videoFixName);
751 videoSaveInfoPanel.getSaveFolderRadioButton().setSelected(videoFixName);
753 boolean commentFixName = setting.isCommentFixFileName();
754 savePanel.getCommentSaveFileRadioButton().setSelected(!commentFixName);
755 savePanel.getCommentSaveFolderRadioButton().setSelected(commentFixName);
757 boolean convFixName = setting.isConvFixFileName();
758 savePanel.getConvSaveFileRadioButton().setSelected(!convFixName);
759 savePanel.getConvSaveFolderRadioButton().setSelected(convFixName);
761 NGWordTextField.setText(setting.getNG_Word());
762 NGIDTextField.setText(setting.getNG_ID());
763 //
\83v
\83\8d\83L
\83V
\8aÖ
\98A
764 UseProxyCheckBox.setSelected(setting.useProxy());
765 ProxyTextField.setText(setting.getProxy());
766 int proxy_port = setting.getProxyPort();
767 if (proxy_port >= 0 && proxy_port <= 65535) {
768 ProxyPortTextField.setText(Integer.toString(proxy_port));
770 ProxyPortTextField.setText("");
772 FixFontSizeCheckBox.setSelected(setting.isFixFontSize());
773 savePanel.getFixCommentNumCheckBox().setSelected(setting.isFixCommentNum());
774 OpaqueCommentCheckBox.setSelected(setting.isOpaqueComment());
775 FFmpegOptionModel.reload(setting.getOptionFile());
776 NotUseVhookCheckBox.setSelected(setting.isVhookDisabled());
777 ShadowComboBox.setSelectedIndex(setting.getShadowIndex());
779 //
\93\8a\8de
\8eÒ
\83R
\83\81\83\93\83g
780 TcommentSetting tcom = setting.getTcommentSetting();
781 savePanel.setTcommentDownload(tcom.isDownload());
782 savePanel.setTcommentDelete(tcom.isDelete());
783 savePanel.setTcommentAutoFileName(tcom.isAutoFileName());
784 savePanel.setTcommentDirectoryName(tcom.getInputDirectory());
785 savePanel.setTcommentFileName(tcom.getInputFile());
789 * [
\83t
\83@
\83C
\83\8b|
\8fI
\97¹]
\83A
\83N
\83V
\83\87\83\93\82ª
\8eÀ
\8ds
\82³
\82ê
\82Ü
\82µ
\82½
\81B
794 void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
795 ConvertingSetting setting = this.getSetting();
796 ConvertingSetting.saveSetting(setting);
801 * [
\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
806 void jMenuHelpAbout_actionPerformed(ActionEvent actionEvent) {
807 MainFrame_AboutBox dlg = new MainFrame_AboutBox(this);
809 dlg.setLocationRelativeTo(this);
810 dlg.setVisible(true);
813 /*
\95Ï
\8a·
\81E
\95Û
\91¶
\82·
\82é */
814 Converter Converter = null;
815 JTextField CommandLineInOptionField = new JTextField();
816 JLabel InLabel = new JLabel();
817 JLabel OutLabel = new JLabel();
818 JLabel MainOptionLabel = new JLabel();
819 JTextField MainOptionField = new JTextField();
820 JLabel FontIndexLabel = new JLabel();
821 JTextField FontIndexField = new JTextField();
822 JLabel VideoID_Label = new JLabel();
823 JLabel WayBackLabel = new JLabel();
824 JTextField WayBackField = new JTextField();
825 GridBagLayout gridBagLayout10 = new GridBagLayout();
826 GridBagLayout gridBagLayout11 = new GridBagLayout();
827 GridBagLayout gridBagLayout1 = new GridBagLayout();
828 JPanel OpPanel = new JPanel();
829 GridLayout gridLayout1 = new GridLayout();
830 JPanel BasicInfoTabPanel = new JPanel();
831 GridBagLayout gridBagLayout12 = new GridBagLayout();
832 private JPanel ConvertingSettingPanel = null;
833 private JPanel NGWordSettingPanel = null;
834 private JLabel NGWordLavel = null;
835 private JTextField NGWordTextField = null;
836 private JLabel NGIDLabel = null;
837 private JTextField NGIDTextField = null;
838 private JPanel ProxyInfoPanel = null;
839 private JLabel ProxyLabel = null;
840 private JTextField ProxyTextField = null;
841 private JLabel ProxyPortLabel = null;
842 private JTextField ProxyPortTextField = null;
843 private JCheckBox UseProxyCheckBox = null;
844 private JCheckBox FixFontSizeCheckBox = null;
845 private JCheckBox OpaqueCommentCheckBox = null;
846 private final SavePanel savePanel = new SavePanel();
847 private final VideoSaveInfoPanel videoSaveInfoPanel;
848 private JComboBox FFmpegOptionComboBox = null;
849 private JButton FFmpegOptionReloadButton = null;
850 private JPanel FFmpegOptionComboBoxPanel = null;
852 public void DoButton_actionPerformed(ActionEvent e) {
853 if (Converter == null || Converter.isConverted()) {
856 // 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è.
857 if (videoSaveInfoPanel.getVideoUseNiBrButton().isSelected()) {
859 String fileName = videoSaveInfoPanel.getNibrFileField().getText();
860 NicoDBFinder finder = NicoDBFinder.getInstance();
861 NicoContent info = finder.findNicoContent(fileName);
863 url = info.getNicoId();
867 } catch (Exception ex) {
868 JOptionPane.showMessageDialog(this, ex.getMessage(), "
\83G
\83\89\81[", JOptionPane.ERROR_MESSAGE);
872 url = VideoID_TextField.getText();
875 TextProgressListener sl = new TextProgressListener() {
877 public void setText(final String text) {
878 SwingUtilities.invokeLater(new Runnable() {
881 statusBar.setText(text);
887 ConvertStopFlag.StateChangeListener scl = new ConvertStopFlag.StateChangeListener() {
889 public void changeState(final State s) {
890 SwingUtilities.invokeLater(new Runnable() {
895 DoButton.setText(DoButtonStopString);
898 DoButton.setText(DoButtonWaitString);
901 DoButton.setText(DoButtonDefString);
908 Converter = new Converter(url, WayBackField.getText(), this.getSetting(), sl, new ConvertStopFlag(scl));
909 // new ConvertStopFlag(this.DoButton, DoButtonStopString,
910 // DoButtonWaitString, DoButtonDefString));
912 } else { /*
\8aJ
\8en
\82µ
\82Ä
\82¢
\82é
\82Ì
\82Å
\81A
\83X
\83g
\83b
\83v
\82·
\82é
\81B */
913 final ConvertStopFlag flag = Converter.getStopFlag();
914 if (!flag.needStop()) { /*
\82Ü
\82¾
\83X
\83g
\83b
\83v
\82µ
\82Ä
\82¢
\82È
\82¢
\81B */
920 /* FFmpeg
\82Ö
\82Ì
\83p
\83X */
921 public void SettingFFmpegPathButton_actionPerformed(ActionEvent e) {
922 showSaveDialog("FFmpeg
\82Ö
\82Ì
\83p
\83X", FFmpegPathField, false, false);
925 public void SettingVhookPathButton_actionPerformed(ActionEvent e) {
926 showSaveDialog("
\8ag
\92£vhook
\83\89\83C
\83u
\83\89\83\8a\82Ö
\82Ì
\83p
\83X", VhookPathField, false, false);
929 public void SettingFontPathButton_actionPerformed(ActionEvent e) {
930 showSaveDialog("
\83t
\83H
\83\93\83g
\82Ö
\82Ì
\83p
\83X", FontPathField, false, false);
933 public void this_windowClosing(WindowEvent e) {
934 this.jMenuFileExit_actionPerformed(null);
938 * This method initializes ConvertingSettingPanel
940 * @return javax.swing.JPanel
942 private JPanel getConvertingSettingPanel() {
943 if (ConvertingSettingPanel == null) {
944 GridBagConstraints gridBagConstraints11 = new GridBagConstraints();
945 gridBagConstraints11.weighty = 1.0;
946 gridBagConstraints11.weightx = 1.0;
947 gridBagConstraints11.insets = new Insets(0, 5, 0, 5);
948 gridBagConstraints11.gridy = 1;
949 gridBagConstraints11.gridx = 0;
950 gridBagConstraints11.anchor = GridBagConstraints.NORTH;
951 gridBagConstraints11.fill = GridBagConstraints.HORIZONTAL;
952 GridBagConstraints gridBagConstraints = new GridBagConstraints(0,
953 2, 1, 1, 1.0, 1.0, GridBagConstraints.NORTH,
954 GridBagConstraints.HORIZONTAL, new Insets(0, 5, 0, 5), 0, 0);
955 gridBagConstraints.gridx = 0;
956 gridBagConstraints.anchor = GridBagConstraints.CENTER;
957 gridBagConstraints.weighty = 0.0;
958 gridBagConstraints.gridy = 0;
959 ConvertingSettingPanel = new JPanel();
960 ConvertingSettingPanel.setLayout(new GridBagLayout());
961 ConvertingSettingPanel.add(getNGWordSettingPanel(),
962 gridBagConstraints11);
963 ConvertingSettingPanel.add(VhookSettingPanel, gridBagConstraints);
965 return ConvertingSettingPanel;
969 * This method initializes NGWordSettingPanel
971 * @return javax.swing.JPanel
973 private JPanel getNGWordSettingPanel() {
974 if (NGWordSettingPanel == null) {
975 GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
976 gridBagConstraints5.fill = GridBagConstraints.HORIZONTAL;
977 gridBagConstraints5.gridy = 1;
978 gridBagConstraints5.weightx = 1.0;
979 gridBagConstraints5.insets = new Insets(0, 5, 5, 5);
980 gridBagConstraints5.gridx = 1;
981 GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
982 gridBagConstraints4.gridx = 0;
983 gridBagConstraints4.anchor = GridBagConstraints.WEST;
984 gridBagConstraints4.insets = new Insets(0, 5, 5, 0);
985 gridBagConstraints4.gridy = 1;
986 NGIDLabel = new JLabel();
987 NGIDLabel.setText("NG ID");
988 GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
989 gridBagConstraints3.fill = GridBagConstraints.HORIZONTAL;
990 gridBagConstraints3.gridy = 0;
991 gridBagConstraints3.weightx = 1.0;
992 gridBagConstraints3.insets = new Insets(0, 5, 5, 5);
993 gridBagConstraints3.gridx = 1;
994 GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
995 gridBagConstraints2.gridx = 0;
996 gridBagConstraints2.insets = new Insets(0, 5, 5, 0);
997 gridBagConstraints2.gridy = 0;
998 NGWordLavel = new JLabel();
999 NGWordLavel.setText("NG
\83\8f\81[
\83h");
1000 NGWordSettingPanel = new JPanel();
1001 NGWordSettingPanel.setLayout(new GridBagLayout());
1002 NGWordSettingPanel.setBorder(BorderFactory.createTitledBorder(null,
1003 "NG
\83\8f\81[
\83h
\81EID
\90Ý
\92è"));
1004 NGWordSettingPanel.add(NGWordLavel, gridBagConstraints2);
1005 NGWordSettingPanel.add(getNGWordTextField(), gridBagConstraints3);
1006 NGWordSettingPanel.add(NGIDLabel, gridBagConstraints4);
1007 NGWordSettingPanel.add(getNGIDTextField(), gridBagConstraints5);
1009 return NGWordSettingPanel;
1013 * This method initializes NGWordTextField
1015 * @return javax.swing.JTextField
1017 private JTextField getNGWordTextField() {
1018 if (NGWordTextField == null) {
1019 NGWordTextField = new JTextField();
1021 return NGWordTextField;
1025 * This method initializes NGIDTextField
1027 * @return javax.swing.JTextField
1029 private JTextField getNGIDTextField() {
1030 if (NGIDTextField == null) {
1031 NGIDTextField = new JTextField();
1033 return NGIDTextField;
1037 * This method initializes ProxyInfoPanel
1039 * @return javax.swing.JPanel
1041 private JPanel getProxyInfoPanel() {
1042 if (ProxyInfoPanel == null) {
1043 GridBagConstraints gridBagConstraints13 = new GridBagConstraints();
1044 gridBagConstraints13.gridx = 0;
1045 gridBagConstraints13.gridwidth = 2;
1046 gridBagConstraints13.weightx = 1.0;
1047 gridBagConstraints13.fill = GridBagConstraints.HORIZONTAL;
1048 gridBagConstraints13.insets = new Insets(0, 5, 0, 5);
1049 gridBagConstraints13.gridy = 0;
1050 GridBagConstraints gridBagConstraints12 = new GridBagConstraints();
1051 gridBagConstraints12.fill = GridBagConstraints.HORIZONTAL;
1052 gridBagConstraints12.gridy = 2;
1053 gridBagConstraints12.weightx = 1.0;
1054 gridBagConstraints12.insets = new Insets(5, 0, 5, 5);
1055 gridBagConstraints12.gridx = 1;
1056 GridBagConstraints gridBagConstraints10 = new GridBagConstraints();
1057 gridBagConstraints10.gridx = 0;
1058 gridBagConstraints10.insets = new Insets(5, 5, 5, 5);
1059 gridBagConstraints10.gridy = 2;
1060 ProxyPortLabel = new JLabel();
1061 ProxyPortLabel.setText("
\83|
\81[
\83g
\94Ô
\8d\86");
1062 GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
1063 gridBagConstraints9.fill = GridBagConstraints.BOTH;
1064 gridBagConstraints9.gridy = 1;
1065 gridBagConstraints9.weightx = 1.0;
1066 gridBagConstraints9.insets = new Insets(0, 0, 0, 5);
1067 gridBagConstraints9.gridx = 1;
1068 GridBagConstraints gridBagConstraints8 = new GridBagConstraints();
1069 gridBagConstraints8.gridx = 0;
1070 gridBagConstraints8.insets = new Insets(0, 5, 0, 5);
1071 gridBagConstraints8.fill = GridBagConstraints.NONE;
1072 gridBagConstraints8.anchor = GridBagConstraints.EAST;
1073 gridBagConstraints8.gridy = 1;
1074 ProxyLabel = new JLabel();
1075 ProxyLabel.setText("
\83v
\83\8d\83L
\83V");
1076 ProxyInfoPanel = new JPanel();
1077 ProxyInfoPanel.setLayout(new GridBagLayout());
1078 ProxyInfoPanel.setBorder(BorderFactory.createTitledBorder(null,
1079 "
\83v
\83\8d\83L
\83V
\90Ý
\92è"));
1080 ProxyInfoPanel.add(ProxyLabel, gridBagConstraints8);
1081 ProxyInfoPanel.add(getProxyTextField(), gridBagConstraints9);
1082 ProxyInfoPanel.add(ProxyPortLabel, gridBagConstraints10);
1083 ProxyInfoPanel.add(getProxyPortTextField(), gridBagConstraints12);
1084 ProxyInfoPanel.add(getUseProxyCheckBox(), gridBagConstraints13);
1086 return ProxyInfoPanel;
1090 * This method initializes ProxyTextField
1092 * @return javax.swing.JTextField
1094 private JTextField getProxyTextField() {
1095 if (ProxyTextField == null) {
1096 ProxyTextField = new JTextField();
1098 return ProxyTextField;
1102 * This method initializes ProxyPortTextField
1104 * @return javax.swing.JTextField
1106 private JTextField getProxyPortTextField() {
1107 if (ProxyPortTextField == null) {
1108 ProxyPortTextField = new JTextField();
1110 return ProxyPortTextField;
1114 * This method initializes UseProxyCheckBox
1116 * @return javax.swing.JCheckBox
1118 private JCheckBox getUseProxyCheckBox() {
1119 if (UseProxyCheckBox == null) {
1120 UseProxyCheckBox = new JCheckBox();
1121 UseProxyCheckBox.setText("
\83v
\83\8d\83L
\83V
\82ð
\8eg
\82¤");
1123 return UseProxyCheckBox;
1127 * This method initializes FixFontSizeCheckBox
1129 * @return javax.swing.JCheckBox
1131 private JCheckBox getFixFontSizeCheckBox() {
1132 if (FixFontSizeCheckBox == null) {
1133 FixFontSizeCheckBox = new JCheckBox();
1134 FixFontSizeCheckBox.setText("
\83t
\83H
\83\93\83g
\83T
\83C
\83Y
\82ð
\89æ
\96Ê
\82É
\82 \82í
\82¹
\82Ä
\8e©
\93®
\92²
\90®
\82·
\82é");
1136 return FixFontSizeCheckBox;
1140 * This method initializes OpaqueCommentCheckBox
1142 * @return javax.swing.JCheckBox
1144 private JCheckBox getOpaqueCommentCheckBox() {
1145 if (OpaqueCommentCheckBox == null) {
1146 OpaqueCommentCheckBox = new JCheckBox();
1147 OpaqueCommentCheckBox.setText("
\91S
\82Ä
\82Ì
\83R
\83\81\83\93\83g
\82ð
\95s
\93§
\96¾
\82É
\82·
\82é");
1149 return OpaqueCommentCheckBox;
1152 * This method initializes FFmpegOptionComboBox
1154 * @return javax.swing.JComboBox
1156 private final OptionComboBoxModel FFmpegOptionModel = new OptionComboBoxModel();
1157 private JLabel ExtOptionLabel = null;
1158 private JTextField ExtOptionField = null;
1159 private JCheckBox NotUseVhookCheckBox = null;
1160 private JTextField ViewCommentField = null;
1161 private JLabel ViewCommentLabel = null;
1162 private JLabel ShadowKindLabel = null;
1163 private JComboBox ShadowComboBox = null;
1165 private JComboBox getFFmpegOptionComboBox() {
1166 if (FFmpegOptionComboBox == null) {
1167 FFmpegOptionComboBox = new JComboBox(FFmpegOptionModel);
1168 FFmpegOptionComboBox.addActionListener(new java.awt.event.ActionListener() {
1170 public void actionPerformed(java.awt.event.ActionEvent e) {
1171 if (FFmpegOptionModel.isFile()) {//
\83t
\83@
\83C
\83\8b
1172 ExtOptionField.setEnabled(false);
1173 MainOptionField.setEnabled(false);
1174 CommandLineInOptionField.setEnabled(false);
1175 CommandLineOutOptionField.setEnabled(false);
1176 } else {//
\83t
\83@
\83C
\83\8b\82Å
\82È
\82¢
1177 ExtOptionField.setEnabled(true);
1178 MainOptionField.setEnabled(true);
1179 CommandLineInOptionField.setEnabled(true);
1180 CommandLineOutOptionField.setEnabled(true);
1185 return FFmpegOptionComboBox;
1189 * This method initializes FFmpegOptionReloadButton
1191 * @return javax.swing.JButton
1193 private JButton getFFmpegOptionReloadButton() {
1194 if (FFmpegOptionReloadButton == null) {
1195 FFmpegOptionReloadButton = new JButton();
1196 FFmpegOptionReloadButton.setText("
\8dX
\90V");
1197 FFmpegOptionReloadButton.addActionListener(new java.awt.event.ActionListener() {
1199 public void actionPerformed(java.awt.event.ActionEvent e) {
1200 FFmpegOptionModel.reload();
1204 return FFmpegOptionReloadButton;
1208 * This method initializes FFmpegOptionComboBoxPanel
1210 * @return javax.swing.JPanel
1212 private JPanel getFFmpegOptionComboBoxPanel() {
1213 if (FFmpegOptionComboBoxPanel == null) {
1214 GridBagConstraints gridBagConstraints47 = new GridBagConstraints();
1215 gridBagConstraints47.fill = GridBagConstraints.BOTH;
1216 gridBagConstraints47.gridx = -1;
1217 gridBagConstraints47.gridy = -1;
1218 gridBagConstraints47.insets = new Insets(0, 0, 5, 5);
1219 GridBagConstraints gridBagConstraints46 = new GridBagConstraints();
1220 gridBagConstraints46.fill = GridBagConstraints.HORIZONTAL;
1221 gridBagConstraints46.gridwidth = 3;
1222 gridBagConstraints46.gridx = -1;
1223 gridBagConstraints46.gridy = -1;
1224 gridBagConstraints46.weightx = 1.0;
1225 gridBagConstraints46.insets = new Insets(0, 5, 5, 5);
1226 FFmpegOptionComboBoxPanel = new JPanel();
1227 FFmpegOptionComboBoxPanel.setLayout(new GridBagLayout());
1228 FFmpegOptionComboBoxPanel.add(getFFmpegOptionComboBox(),
1229 gridBagConstraints46);
1230 FFmpegOptionComboBoxPanel.add(getFFmpegOptionReloadButton(),
1231 gridBagConstraints47);
1233 return FFmpegOptionComboBoxPanel;
1237 * This method initializes ExtOptionField
1239 * @return javax.swing.JTextField
1241 private JTextField getExtOptionField() {
1242 if (ExtOptionField == null) {
1243 ExtOptionField = new JTextField();
1245 return ExtOptionField;
1249 * This method initializes NotUseVhookCheckBox
1251 * @return javax.swing.JCheckBox
1253 private JCheckBox getNotUseVhookCheckBox() {
1254 if (NotUseVhookCheckBox == null) {
1255 NotUseVhookCheckBox = new JCheckBox();
1256 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");
1258 return NotUseVhookCheckBox;
1262 * This method initializes ViewCommentField
1264 * @return javax.swing.JTextField
1266 private JTextField getViewCommentField() {
1267 if (ViewCommentField == null) {
1268 ViewCommentField = new JTextField();
1270 return ViewCommentField;
1274 * This method initializes ShadowComboBox
1276 * @return javax.swing.JComboBox
1278 private JComboBox getShadowComboBox() {
1279 if (ShadowComboBox == null) {
1280 ShadowComboBox = new JComboBox(ConvertingSetting.ShadowKindArray);
1282 return ShadowComboBox;
1286 *
\89æ
\96Ê
\93ü
\97Í
\92l
\82©
\82ç
\93\8a\8de
\8eÒ
\83R
\83\81\83\93\83g
\90Ý
\92è
\82ð
\8dì
\90¬
\82·
\82é.
1287 * @return
\8dì
\90¬
\82µ
\82½
\93\8a\8de
\8eÒ
\83R
\83\81\83\93\83g
\90Ý
\92è.
1289 private TcommentSetting getTcommentSetting() {
1290 // TcommentSetting res;
1291 boolean down = savePanel.isTcommentDownload();
1292 boolean del = savePanel.isTcommentDelete();
1293 boolean naming = savePanel.isTcommentAutoFileName();
1294 String dir = savePanel.getTcommentDirectoryName();
1295 String f = savePanel.getTcommentFileName();
1296 return new TcommentSetting(down, del, naming, dir, f);
1299 private class InputVideoPanelButtonListener implements ActionListener {
1301 public void actionPerformed(ActionEvent e) {
1302 final Object source = e.getSource();
1303 final VideoSaveInfoPanel panel = videoSaveInfoPanel;
1309 if (source == panel.getShowSavingVideoFolderDialogButton()) {
1310 title = "
\93®
\89æ
\82Ì
\95Û
\91¶
\90æ(
\83t
\83H
\83\8b\83_)";
1311 field = panel.getVideoSavedFolderField();
1314 } else if (source == panel.getShowSavingVideoFileDialogButton()) {
1315 title = "
\93®
\89æ
\82Ì
\95Û
\91¶
\90æ(
\83t
\83@
\83C
\83\8b)";
1316 field = panel.getVideoSavedFileField();
1319 } else if (source == panel.getNibrFileChooserButton()) {
1320 title = "NicoBrowser
\83t
\83@
\83C
\83\8b\91I
\91ð";
1321 field = panel.getNibrFileField();
1327 showSaveDialog(title, field, isSave, isDir);
1331 private class InputCommentPanelButtonListener implements ActionListener {
1333 public void actionPerformed(ActionEvent e) {
1334 final Object source = e.getSource();
1339 if (source == savePanel.getShowSavingCommentFolderDialogButton()) {
1340 title = "
\83R
\83\81\83\93\83g
\82Ì
\95Û
\91¶
\90æ(
\83t
\83H
\83\8b\83_)";
1341 field = savePanel.getCommentSavedFolderField();
1344 } else if (source == savePanel.getShowSavingCommentFolderDialogButton()) {
1345 title = "
\83R
\83\81\83\93\83g
\82Ì
\95Û
\91¶
\90æ(
\83t
\83@
\83C
\83\8b)";
1346 field = savePanel.getCommentSavedFileField();
1352 showSaveDialog(title, field, isSave, isDir);
1356 private class OutputVideoPanelButtonListener implements ActionListener {
1358 public void actionPerformed(ActionEvent e) {
1359 final Object source = e.getSource();
1364 if (source == savePanel.getShowSavingConvertedVideoFolderDialogButton()) {
1365 title = "
\83R
\83\81\83\93\83g
\95t
\82«
\93®
\89æ
\82Ì
\95Û
\91¶
\90æ(
\83t
\83H
\83\8b\83_)";
1366 field = savePanel.getConvertedVideoSavedFolderField();
1369 } else if (source == savePanel.getShowSavingConvertedVideoFileDialogButton()) {
1370 title = "
\83R
\83\81\83\93\83g
\95t
\82«
\93®
\89æ
\82Ì
\95Û
\91¶
\90æ(
\83t
\83@
\83C
\83\8b)";
1371 field = savePanel.getConvertedVideoSavedFileField();
1377 showSaveDialog(title, field, isSave, isDir);
1381 private class VideoUseRadioButtonListener implements ActionListener {
1383 public void actionPerformed(ActionEvent e) {
1384 Object source = e.getSource();
1385 if (source == videoSaveInfoPanel.getVideoUseNiBrButton()) {
1392 private void maskBase() {
1396 private void maskExt() {
1400 private void mask(boolean b) {
1401 final VideoSaveInfoPanel panel = videoSaveInfoPanel;
1402 VideoID_TextField.setEditable(b);
1403 panel.getDelVideoCheckBox().setEnabled(b);
1405 panel.getSaveFolderRadioButton().setEnabled(b);
1406 panel.getVideoSavedFolderField().setEnabled(b);
1407 panel.getShowSavingVideoFolderDialogButton().setEnabled(b);
1409 panel.getSaveFileRadioButton().setEnabled(b);
1410 panel.getVideoSavedFileField().setEnabled(b);
1411 panel.getShowSavingVideoFileDialogButton().setEnabled(b);
1413 panel.getNibrFileField().setEnabled(!b);
1414 panel.getNibrFileChooserButton().setEnabled(!b);
1419 class MainFrame_this_windowAdapter extends WindowAdapter {
1421 private MainFrame adaptee;
1423 MainFrame_this_windowAdapter(MainFrame adaptee) {
1424 this.adaptee = adaptee;
1428 public void windowClosing(WindowEvent e) {
1429 adaptee.this_windowClosing(e);
1433 class MainFrame_SettingFontPathButton_actionAdapter implements ActionListener {
1435 private MainFrame adaptee;
1437 MainFrame_SettingFontPathButton_actionAdapter(MainFrame adaptee) {
1438 this.adaptee = adaptee;
1441 public void actionPerformed(ActionEvent e) {
1442 adaptee.SettingFontPathButton_actionPerformed(e);
1446 class MainFrame_SettingVhookPathButton_actionAdapter implements ActionListener {
1448 private MainFrame adaptee;
1450 MainFrame_SettingVhookPathButton_actionAdapter(MainFrame adaptee) {
1451 this.adaptee = adaptee;
1454 public void actionPerformed(ActionEvent e) {
1455 adaptee.SettingVhookPathButton_actionPerformed(e);
1459 class MainFrame_SettingFFmpegPathButton_actionAdapter implements ActionListener {
1461 private MainFrame adaptee;
1463 MainFrame_SettingFFmpegPathButton_actionAdapter(MainFrame adaptee) {
1464 this.adaptee = adaptee;
1467 public void actionPerformed(ActionEvent e) {
1468 adaptee.SettingFFmpegPathButton_actionPerformed(e);
1472 class MainFrame_DoButton_actionAdapter implements ActionListener {
1474 private MainFrame adaptee;
1476 MainFrame_DoButton_actionAdapter(MainFrame adaptee) {
1477 this.adaptee = adaptee;
1480 public void actionPerformed(ActionEvent e) {
1481 adaptee.DoButton_actionPerformed(e);
1485 class MainFrame_jMenuFileExit_ActionAdapter implements ActionListener {
1489 MainFrame_jMenuFileExit_ActionAdapter(MainFrame adaptee) {
1490 this.adaptee = adaptee;
1493 public void actionPerformed(ActionEvent actionEvent) {
1494 adaptee.jMenuFileExit_actionPerformed(actionEvent);
1498 class MainFrame_jMenuHelpAbout_ActionAdapter implements ActionListener {
1502 MainFrame_jMenuHelpAbout_ActionAdapter(MainFrame adaptee) {
1503 this.adaptee = adaptee;
1506 public void actionPerformed(ActionEvent actionEvent) {
1507 adaptee.jMenuHelpAbout_actionPerformed(actionEvent);