OSDN Git Service

旧仕様でコメント数取得を指示するためのチェックボックス
[coroid/inqubus.git] / frontend / src / saccubus / SavePanel.java
1 /*
2  * To change this template, choose Tools | Templates
3  * and open the template in the editor.
4  */
5
6 /*
7  * SavePanel.java
8  *
9  * Created on 2009/12/04, 21:06:09
10  */
11 package saccubus;
12
13 import java.awt.GridLayout;
14 import java.io.File;
15 import javax.swing.JButton;
16 import javax.swing.JCheckBox;
17 import javax.swing.JFileChooser;
18 import javax.swing.JRadioButton;
19 import javax.swing.JTextField;
20
21 /**
22  *
23  * @author yuki
24  */
25 public class SavePanel extends javax.swing.JPanel {
26     private static final long serialVersionUID = 1L;
27
28     private final VideoSaveInfoPanel videoSaveInfoPanel = new VideoSaveInfoPanel();
29
30     /** Creates new form SavePanel */
31     public SavePanel() {
32         initComponents();
33         inputVideoTab.setLayout(new GridLayout());
34         inputVideoTab.add(videoSaveInfoPanel);
35     }
36
37     /** This method is called from within the constructor to
38      * initialize the form.
39      * WARNING: Do NOT modify this code. The content of this method is
40      * always regenerated by the Form Editor.
41      */
42     @SuppressWarnings("unchecked")
43     // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
44     private void initComponents() {
45
46         inputCommentSaveGroup = new javax.swing.ButtonGroup();
47         outputVideoSaveGroup = new javax.swing.ButtonGroup();
48         inputTcommentSaveGroup = new javax.swing.ButtonGroup();
49         saveTabbedPane = new javax.swing.JTabbedPane();
50         inputVideoTab = new javax.swing.JPanel();
51         inputCommentTab = new javax.swing.JPanel();
52         commentSaveInfoPanel = new javax.swing.JPanel();
53         savingCommentCheckBox = new javax.swing.JCheckBox();
54         jPanel7 = new javax.swing.JPanel();
55         delCommentCheckBox = new javax.swing.JCheckBox();
56         fixCommentNumCheckBox = new javax.swing.JCheckBox();
57         jLabel1 = new javax.swing.JLabel();
58         commentNumField = new javax.swing.JTextField();
59         commentSaveFolderRadioButton = new javax.swing.JRadioButton();
60         commentSavedFolderField = new javax.swing.JTextField();
61         showSavingCommentFolderDialogButton = new javax.swing.JButton();
62         commentSaveFileRadioButton = new javax.swing.JRadioButton();
63         commentSavedFileField = new javax.swing.JTextField();
64         showSavingCommentFileDialogButton = new javax.swing.JButton();
65         inputTcommentTab = new javax.swing.JPanel();
66         tcommentSaveInfoPanel = new javax.swing.JPanel();
67         needDownloadTcomment = new javax.swing.JCheckBox();
68         jPanel8 = new javax.swing.JPanel();
69         delTcomment = new javax.swing.JCheckBox();
70         tcommentSaveInFolder = new javax.swing.JRadioButton();
71         tcommentFolder = new javax.swing.JTextField();
72         tcoomentFolderChooserButton = new javax.swing.JButton();
73         tcommentSaveToFile = new javax.swing.JRadioButton();
74         tcommentFile = new javax.swing.JTextField();
75         tcommentFileChooserButton = new javax.swing.JButton();
76         outputVideoTab = new javax.swing.JPanel();
77         jPanel3 = new javax.swing.JPanel();
78         savingConvertedVideoCheckBox = new javax.swing.JCheckBox();
79         jPanel5 = new javax.swing.JPanel();
80         addComment = new javax.swing.JCheckBox();
81         addTcomment = new javax.swing.JCheckBox();
82         convSaveFolderRadioButton = new javax.swing.JRadioButton();
83         notAddVideoIdConvVideoCheckBox = new javax.swing.JCheckBox();
84         convertedVideoSavedFolderField = new javax.swing.JTextField();
85         showSavingConvertedVideoFolderDialogButton = new javax.swing.JButton();
86         convSaveFileRadioButton = new javax.swing.JRadioButton();
87         convertedVideoSavedFileField = new javax.swing.JTextField();
88         showSavingConvertedVideoFileDialogButton = new javax.swing.JButton();
89
90         saveTabbedPane.setName("saveTabbedPane"); // NOI18N
91
92         javax.swing.GroupLayout inputVideoTabLayout = new javax.swing.GroupLayout(inputVideoTab);
93         inputVideoTab.setLayout(inputVideoTabLayout);
94         inputVideoTabLayout.setHorizontalGroup(
95             inputVideoTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
96             .addGap(0, 369, Short.MAX_VALUE)
97         );
98         inputVideoTabLayout.setVerticalGroup(
99             inputVideoTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
100             .addGap(0, 270, Short.MAX_VALUE)
101         );
102
103         saveTabbedPane.addTab("入力動画", inputVideoTab);
104
105         commentSaveInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("コメント保存設定"));
106
107         savingCommentCheckBox.setText("コメントをダウンロードする");
108         savingCommentCheckBox.setName("savingCommentCheckBox"); // NOI18N
109
110         delCommentCheckBox.setText("変換後にコメントファイルを削除する");
111         delCommentCheckBox.setName("delCommentCheckBox"); // NOI18N
112
113         fixCommentNumCheckBox.setText("コメント取得数は自動で調整する");
114         fixCommentNumCheckBox.setName("fixCommentNumCheckBox"); // NOI18N
115
116         jLabel1.setText("取得コメント数");
117
118         commentNumField.setName("commentNumField"); // NOI18N
119
120         inputCommentSaveGroup.add(commentSaveFolderRadioButton);
121         commentSaveFolderRadioButton.setText("保存するフォルダを指定し、ファイル名は自動で決定する");
122         commentSaveFolderRadioButton.setName("commentSaveFolderRadioButton"); // NOI18N
123
124         commentSavedFolderField.setName("commentSavedFolderField"); // NOI18N
125
126         showSavingCommentFolderDialogButton.setText("参照...");
127         showSavingCommentFolderDialogButton.setName("showSavingCommentFolderDialogButton"); // NOI18N
128
129         inputCommentSaveGroup.add(commentSaveFileRadioButton);
130         commentSaveFileRadioButton.setText("保存するファイル名を指定する");
131         commentSaveFileRadioButton.setName("commentSaveFileRadioButton"); // NOI18N
132
133         commentSavedFileField.setName("commentSavedFileField"); // NOI18N
134
135         showSavingCommentFileDialogButton.setText("参照...");
136         showSavingCommentFileDialogButton.setName("showSavingCommentFileDialogButton"); // NOI18N
137
138         javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
139         jPanel7.setLayout(jPanel7Layout);
140         jPanel7Layout.setHorizontalGroup(
141             jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
142             .addGroup(jPanel7Layout.createSequentialGroup()
143                 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
144                     .addGroup(jPanel7Layout.createSequentialGroup()
145                         .addGap(21, 21, 21)
146                         .addComponent(jLabel1)
147                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
148                         .addComponent(commentNumField, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
149                     .addComponent(delCommentCheckBox)
150                     .addComponent(fixCommentNumCheckBox)
151                     .addComponent(commentSaveFolderRadioButton)
152                     .addComponent(commentSaveFileRadioButton)
153                     .addGroup(jPanel7Layout.createSequentialGroup()
154                         .addGap(21, 21, 21)
155                         .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
156                             .addComponent(commentSavedFileField, javax.swing.GroupLayout.DEFAULT_SIZE, 197, Short.MAX_VALUE)
157                             .addComponent(commentSavedFolderField, javax.swing.GroupLayout.DEFAULT_SIZE, 197, Short.MAX_VALUE))
158                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
159                         .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
160                             .addComponent(showSavingCommentFolderDialogButton)
161                             .addComponent(showSavingCommentFileDialogButton))))
162                 .addContainerGap())
163         );
164         jPanel7Layout.setVerticalGroup(
165             jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
166             .addGroup(jPanel7Layout.createSequentialGroup()
167                 .addContainerGap()
168                 .addComponent(delCommentCheckBox)
169                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
170                 .addComponent(fixCommentNumCheckBox)
171                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
172                 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
173                     .addComponent(jLabel1)
174                     .addComponent(commentNumField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
175                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
176                 .addComponent(commentSaveFolderRadioButton)
177                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
178                 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
179                     .addComponent(commentSavedFolderField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
180                     .addComponent(showSavingCommentFolderDialogButton))
181                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
182                 .addComponent(commentSaveFileRadioButton)
183                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
184                 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
185                     .addComponent(commentSavedFileField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
186                     .addComponent(showSavingCommentFileDialogButton))
187                 .addContainerGap())
188         );
189
190         javax.swing.GroupLayout commentSaveInfoPanelLayout = new javax.swing.GroupLayout(commentSaveInfoPanel);
191         commentSaveInfoPanel.setLayout(commentSaveInfoPanelLayout);
192         commentSaveInfoPanelLayout.setHorizontalGroup(
193             commentSaveInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
194             .addGroup(commentSaveInfoPanelLayout.createSequentialGroup()
195                 .addComponent(savingCommentCheckBox)
196                 .addGap(79, 79, 79))
197             .addGroup(commentSaveInfoPanelLayout.createSequentialGroup()
198                 .addGap(21, 21, 21)
199                 .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
200                 .addContainerGap())
201         );
202         commentSaveInfoPanelLayout.setVerticalGroup(
203             commentSaveInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
204             .addGroup(commentSaveInfoPanelLayout.createSequentialGroup()
205                 .addComponent(savingCommentCheckBox)
206                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
207                 .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
208                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
209         );
210
211         javax.swing.GroupLayout inputCommentTabLayout = new javax.swing.GroupLayout(inputCommentTab);
212         inputCommentTab.setLayout(inputCommentTabLayout);
213         inputCommentTabLayout.setHorizontalGroup(
214             inputCommentTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
215             .addGroup(inputCommentTabLayout.createSequentialGroup()
216                 .addContainerGap()
217                 .addComponent(commentSaveInfoPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
218                 .addContainerGap())
219         );
220         inputCommentTabLayout.setVerticalGroup(
221             inputCommentTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
222             .addGroup(inputCommentTabLayout.createSequentialGroup()
223                 .addContainerGap()
224                 .addComponent(commentSaveInfoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
225                 .addContainerGap(30, Short.MAX_VALUE))
226         );
227
228         saveTabbedPane.addTab("入力コメント", inputCommentTab);
229
230         tcommentSaveInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("投稿者コメント保存設定"));
231
232         needDownloadTcomment.setText("コメントをダウンロードする");
233         needDownloadTcomment.setName("needDownloadTcomment"); // NOI18N
234
235         delTcomment.setText("変換後にコメントファイルを削除する");
236         delTcomment.setName("delTcomment"); // NOI18N
237
238         inputTcommentSaveGroup.add(tcommentSaveInFolder);
239         tcommentSaveInFolder.setText("保存するフォルダを指定し、ファイル名は自動で決定する");
240         tcommentSaveInFolder.setName("tcommentSaveInFolder"); // NOI18N
241
242         tcommentFolder.setName("tcommentFolder"); // NOI18N
243
244         tcoomentFolderChooserButton.setText("参照...");
245         tcoomentFolderChooserButton.setName("tcoomentFolderChooserButton"); // NOI18N
246         tcoomentFolderChooserButton.addActionListener(new java.awt.event.ActionListener() {
247             public void actionPerformed(java.awt.event.ActionEvent evt) {
248                 tcoomentFolderChooserButtonActionPerformed(evt);
249             }
250         });
251
252         inputTcommentSaveGroup.add(tcommentSaveToFile);
253         tcommentSaveToFile.setText("保存するファイル名を指定する");
254         tcommentSaveToFile.setName("tcommentSaveToFile"); // NOI18N
255
256         tcommentFile.setName("tcommentFile"); // NOI18N
257
258         tcommentFileChooserButton.setText("参照...");
259         tcommentFileChooserButton.setName("tcommentFileChooserButton"); // NOI18N
260         tcommentFileChooserButton.addActionListener(new java.awt.event.ActionListener() {
261             public void actionPerformed(java.awt.event.ActionEvent evt) {
262                 tcommentFileChooserButtonActionPerformed(evt);
263             }
264         });
265
266         javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
267         jPanel8.setLayout(jPanel8Layout);
268         jPanel8Layout.setHorizontalGroup(
269             jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
270             .addGroup(jPanel8Layout.createSequentialGroup()
271                 .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
272                     .addComponent(delTcomment)
273                     .addComponent(tcommentSaveInFolder)
274                     .addGroup(jPanel8Layout.createSequentialGroup()
275                         .addContainerGap()
276                         .addComponent(tcommentFolder, javax.swing.GroupLayout.DEFAULT_SIZE, 206, Short.MAX_VALUE)
277                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
278                         .addComponent(tcoomentFolderChooserButton))
279                     .addComponent(tcommentSaveToFile)
280                     .addGroup(jPanel8Layout.createSequentialGroup()
281                         .addContainerGap()
282                         .addComponent(tcommentFile, javax.swing.GroupLayout.DEFAULT_SIZE, 206, Short.MAX_VALUE)
283                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
284                         .addComponent(tcommentFileChooserButton)))
285                 .addContainerGap())
286         );
287         jPanel8Layout.setVerticalGroup(
288             jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
289             .addGroup(jPanel8Layout.createSequentialGroup()
290                 .addContainerGap()
291                 .addComponent(delTcomment)
292                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
293                 .addComponent(tcommentSaveInFolder)
294                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
295                 .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
296                     .addComponent(tcommentFolder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
297                     .addComponent(tcoomentFolderChooserButton))
298                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
299                 .addComponent(tcommentSaveToFile)
300                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
301                 .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
302                     .addComponent(tcommentFile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
303                     .addComponent(tcommentFileChooserButton))
304                 .addContainerGap())
305         );
306
307         javax.swing.GroupLayout tcommentSaveInfoPanelLayout = new javax.swing.GroupLayout(tcommentSaveInfoPanel);
308         tcommentSaveInfoPanel.setLayout(tcommentSaveInfoPanelLayout);
309         tcommentSaveInfoPanelLayout.setHorizontalGroup(
310             tcommentSaveInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
311             .addGroup(tcommentSaveInfoPanelLayout.createSequentialGroup()
312                 .addComponent(needDownloadTcomment)
313                 .addGap(79, 79, 79))
314             .addGroup(tcommentSaveInfoPanelLayout.createSequentialGroup()
315                 .addGap(21, 21, 21)
316                 .addComponent(jPanel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
317                 .addContainerGap())
318         );
319         tcommentSaveInfoPanelLayout.setVerticalGroup(
320             tcommentSaveInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
321             .addGroup(tcommentSaveInfoPanelLayout.createSequentialGroup()
322                 .addComponent(needDownloadTcomment)
323                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
324                 .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
325                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
326         );
327
328         javax.swing.GroupLayout inputTcommentTabLayout = new javax.swing.GroupLayout(inputTcommentTab);
329         inputTcommentTab.setLayout(inputTcommentTabLayout);
330         inputTcommentTabLayout.setHorizontalGroup(
331             inputTcommentTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
332             .addGroup(inputTcommentTabLayout.createSequentialGroup()
333                 .addContainerGap()
334                 .addComponent(tcommentSaveInfoPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
335                 .addContainerGap())
336         );
337         inputTcommentTabLayout.setVerticalGroup(
338             inputTcommentTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
339             .addGroup(inputTcommentTabLayout.createSequentialGroup()
340                 .addContainerGap()
341                 .addComponent(tcommentSaveInfoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
342                 .addContainerGap(74, Short.MAX_VALUE))
343         );
344
345         saveTabbedPane.addTab("入力投稿者コメント", inputTcommentTab);
346
347         jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("コメント付き動画保存設定"));
348
349         savingConvertedVideoCheckBox.setText("動画を変換する");
350         savingConvertedVideoCheckBox.setName("savingConvertedVideoCheckBox"); // NOI18N
351
352         addComment.setText("コメントをつける");
353         addComment.setName("addComment"); // NOI18N
354
355         addTcomment.setText("投稿者コメントをつける");
356         addTcomment.setName("addTcomment"); // NOI18N
357
358         outputVideoSaveGroup.add(convSaveFolderRadioButton);
359         convSaveFolderRadioButton.setText("保存するフォルダを指定し、ファイル名は自動で決定する");
360         convSaveFolderRadioButton.setName("convSaveFolderRadioButton"); // NOI18N
361
362         notAddVideoIdConvVideoCheckBox.setText("ファイル名に動画IDを付加しない");
363         notAddVideoIdConvVideoCheckBox.setName("notAddVideoIdConvVideoCheckBox"); // NOI18N
364
365         convertedVideoSavedFolderField.setName("convertedVideoSavedFolderField"); // NOI18N
366
367         showSavingConvertedVideoFolderDialogButton.setText("参照...");
368
369         outputVideoSaveGroup.add(convSaveFileRadioButton);
370         convSaveFileRadioButton.setText("保存するファイル名を指定する");
371         convSaveFileRadioButton.setName("convSaveFileRadioButton"); // NOI18N
372
373         convertedVideoSavedFileField.setName("convertedVideoSavedFileField"); // NOI18N
374
375         showSavingConvertedVideoFileDialogButton.setText("参照...");
376
377         javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
378         jPanel5.setLayout(jPanel5Layout);
379         jPanel5Layout.setHorizontalGroup(
380             jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
381             .addGroup(jPanel5Layout.createSequentialGroup()
382                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
383                     .addComponent(addComment)
384                     .addComponent(addTcomment)
385                     .addComponent(convSaveFileRadioButton)
386                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
387                         .addGap(21, 21, 21)
388                         .addComponent(convertedVideoSavedFileField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)
389                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
390                         .addComponent(showSavingConvertedVideoFileDialogButton))
391                     .addGroup(jPanel5Layout.createSequentialGroup()
392                         .addGap(21, 21, 21)
393                         .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
394                             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
395                                 .addComponent(convertedVideoSavedFolderField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)
396                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
397                                 .addComponent(showSavingConvertedVideoFolderDialogButton))
398                             .addComponent(notAddVideoIdConvVideoCheckBox)))
399                     .addComponent(convSaveFolderRadioButton))
400                 .addContainerGap())
401         );
402         jPanel5Layout.setVerticalGroup(
403             jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
404             .addGroup(jPanel5Layout.createSequentialGroup()
405                 .addComponent(addComment)
406                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
407                 .addComponent(addTcomment)
408                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
409                 .addComponent(convSaveFolderRadioButton)
410                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
411                 .addComponent(notAddVideoIdConvVideoCheckBox)
412                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
413                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
414                     .addComponent(convertedVideoSavedFolderField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
415                     .addComponent(showSavingConvertedVideoFolderDialogButton))
416                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
417                 .addComponent(convSaveFileRadioButton)
418                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
419                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
420                     .addComponent(convertedVideoSavedFileField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
421                     .addComponent(showSavingConvertedVideoFileDialogButton))
422                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
423         );
424
425         javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
426         jPanel3.setLayout(jPanel3Layout);
427         jPanel3Layout.setHorizontalGroup(
428             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
429             .addGroup(jPanel3Layout.createSequentialGroup()
430                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
431                     .addComponent(savingConvertedVideoCheckBox)
432                     .addGroup(jPanel3Layout.createSequentialGroup()
433                         .addGap(21, 21, 21)
434                         .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
435                 .addContainerGap())
436         );
437         jPanel3Layout.setVerticalGroup(
438             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
439             .addGroup(jPanel3Layout.createSequentialGroup()
440                 .addComponent(savingConvertedVideoCheckBox)
441                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
442                 .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
443                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
444         );
445
446         javax.swing.GroupLayout outputVideoTabLayout = new javax.swing.GroupLayout(outputVideoTab);
447         outputVideoTab.setLayout(outputVideoTabLayout);
448         outputVideoTabLayout.setHorizontalGroup(
449             outputVideoTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
450             .addGroup(outputVideoTabLayout.createSequentialGroup()
451                 .addContainerGap()
452                 .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
453                 .addContainerGap(15, Short.MAX_VALUE))
454         );
455         outputVideoTabLayout.setVerticalGroup(
456             outputVideoTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
457             .addGroup(outputVideoTabLayout.createSequentialGroup()
458                 .addContainerGap()
459                 .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
460                 .addContainerGap(38, Short.MAX_VALUE))
461         );
462
463         saveTabbedPane.addTab("出力コメント付き動画", outputVideoTab);
464
465         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
466         this.setLayout(layout);
467         layout.setHorizontalGroup(
468             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
469             .addComponent(saveTabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 374, Short.MAX_VALUE)
470         );
471         layout.setVerticalGroup(
472             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
473             .addComponent(saveTabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 297, Short.MAX_VALUE)
474         );
475     }// </editor-fold>//GEN-END:initComponents
476
477     private void tcoomentFolderChooserButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tcoomentFolderChooserButtonActionPerformed
478         showSaveDialog("投稿者コメントの保存先(フォルダ)", tcommentFolder, true, true);
479     }//GEN-LAST:event_tcoomentFolderChooserButtonActionPerformed
480
481     private void tcommentFileChooserButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tcommentFileChooserButtonActionPerformed
482         showSaveDialog("投稿者コメントの保存先(ファイル)", tcommentFile, true, false);
483     }//GEN-LAST:event_tcommentFileChooserButtonActionPerformed
484     // Variables declaration - do not modify//GEN-BEGIN:variables
485     private javax.swing.JCheckBox addComment;
486     private javax.swing.JCheckBox addTcomment;
487     private javax.swing.JTextField commentNumField;
488     private javax.swing.JRadioButton commentSaveFileRadioButton;
489     private javax.swing.JRadioButton commentSaveFolderRadioButton;
490     private javax.swing.JPanel commentSaveInfoPanel;
491     private javax.swing.JTextField commentSavedFileField;
492     private javax.swing.JTextField commentSavedFolderField;
493     private javax.swing.JRadioButton convSaveFileRadioButton;
494     private javax.swing.JRadioButton convSaveFolderRadioButton;
495     private javax.swing.JTextField convertedVideoSavedFileField;
496     private javax.swing.JTextField convertedVideoSavedFolderField;
497     private javax.swing.JCheckBox delCommentCheckBox;
498     private javax.swing.JCheckBox delTcomment;
499     private javax.swing.JCheckBox fixCommentNumCheckBox;
500     private javax.swing.ButtonGroup inputCommentSaveGroup;
501     private javax.swing.JPanel inputCommentTab;
502     private javax.swing.ButtonGroup inputTcommentSaveGroup;
503     private javax.swing.JPanel inputTcommentTab;
504     private javax.swing.JPanel inputVideoTab;
505     private javax.swing.JLabel jLabel1;
506     private javax.swing.JPanel jPanel3;
507     private javax.swing.JPanel jPanel5;
508     private javax.swing.JPanel jPanel7;
509     private javax.swing.JPanel jPanel8;
510     private javax.swing.JCheckBox needDownloadTcomment;
511     private javax.swing.JCheckBox notAddVideoIdConvVideoCheckBox;
512     private javax.swing.ButtonGroup outputVideoSaveGroup;
513     private javax.swing.JPanel outputVideoTab;
514     private javax.swing.JTabbedPane saveTabbedPane;
515     private javax.swing.JCheckBox savingCommentCheckBox;
516     private javax.swing.JCheckBox savingConvertedVideoCheckBox;
517     private javax.swing.JButton showSavingCommentFileDialogButton;
518     private javax.swing.JButton showSavingCommentFolderDialogButton;
519     private javax.swing.JButton showSavingConvertedVideoFileDialogButton;
520     private javax.swing.JButton showSavingConvertedVideoFolderDialogButton;
521     private javax.swing.JTextField tcommentFile;
522     private javax.swing.JButton tcommentFileChooserButton;
523     private javax.swing.JTextField tcommentFolder;
524     private javax.swing.JRadioButton tcommentSaveInFolder;
525     private javax.swing.JPanel tcommentSaveInfoPanel;
526     private javax.swing.JRadioButton tcommentSaveToFile;
527     private javax.swing.JButton tcoomentFolderChooserButton;
528     // End of variables declaration//GEN-END:variables
529
530     /** @return 保存設定-入力コメント「コメントをダウンロードする」チェックボックス. */
531     JCheckBox getSavingCommentCheckBox() {
532         return savingCommentCheckBox;
533     }
534
535     /** @return 保存設定-入力コメント「変換後にコメントファイルを削除する」チェックボックス. */
536     JCheckBox getDelCommentCheckBox() {
537         return delCommentCheckBox;
538     }
539
540     /** @return 保存設定-入力コメント「コメント取得数は自動で調整する」チェックボックス. */
541     JCheckBox getFixCommentNumCheckBox() {
542         return fixCommentNumCheckBox;
543     }
544
545     /** @return 保存設定-入力コメント「取得コメント数」テキストフィールド. */
546     JTextField getCommentNumField() {
547         return commentNumField;
548     }
549
550     /** @return 保存設定-入力コメント「保存するフォルダを指定し、ファイル名は自動で決定する」ラジオボタン. */
551     JRadioButton getCommentSaveFolderRadioButton() {
552         return commentSaveFolderRadioButton;
553     }
554
555     /** @return 保存設定-入力コメント「ファイル名に動画IDを付加しない」チェックボックス. */
556     JCheckBox getNotAddVideoIdConvVideoCheckBox() {
557         return notAddVideoIdConvVideoCheckBox;
558     }
559
560     /** @return 保存設定-入力コメント「保存するフォルダを指定し、ファイル名は自動で決定する」テキストフィールド. */
561     JTextField getCommentSavedFolderField() {
562         return commentSavedFolderField;
563     }
564
565     /** @return 保存設定-入力コメント「保存するフォルダを指定し、ファイル名は自動で決定する」ファイルチューザボタン. */
566     JButton getShowSavingCommentFolderDialogButton() {
567         return showSavingCommentFolderDialogButton;
568     }
569
570     /** @return 保存設定-入力コメント「保存するファイル名を指定する」ラジオボタン. */
571     JRadioButton getCommentSaveFileRadioButton() {
572         return commentSaveFileRadioButton;
573     }
574
575     /** @return 保存設定-入力コメント「保存するファイル名を指定する」テキストフィールド. */
576     JTextField getCommentSavedFileField() {
577         return commentSavedFileField;
578     }
579
580     /** @return 保存設定-入力コメント「保存するファイル名を指定する」ファイルチューザボタン. */
581     JButton getShowSavingCommentFileDialogButton() {
582         return showSavingCommentFileDialogButton;
583     }
584
585     /** @return 保存設定-出力コメント付き動画「動画を変換する」チェックボックス. */
586     JCheckBox getSavingConvertedVideoCheckBox() {
587         return savingConvertedVideoCheckBox;
588     }
589
590     /** @return 保存設定-出力コメント付き動画「コメントをつける」チェックボックス. */
591     JCheckBox getAddCommentCheckBox() {
592         return addComment;
593     }
594
595     /** @return 保存設定-出力コメント付き動画「投稿者コメントをつける」チェックボックス. */
596     JCheckBox getAddTcommentCheckBox() {
597         return addTcomment;
598     }
599
600     /** @return 保存設定-出力コメント付き動画「保存するフォルダを指定し、ファイル名は自動で決定する」ラジオボタン. */
601     JRadioButton getConvSaveFolderRadioButton() {
602         return convSaveFolderRadioButton;
603     }
604
605     /** @return 保存設定-出力コメント付き動画「保存するフォルダを指定し、ファイル名は自動で決定する」テキストフィールド. */
606     JTextField getConvertedVideoSavedFolderField() {
607         return convertedVideoSavedFolderField;
608     }
609
610     /** @return 保存設定-出力コメント付き動画「保存するフォルダを指定し、ファイル名は自動で決定する」ファイルチューザボタン. */
611     JButton getShowSavingConvertedVideoFolderDialogButton() {
612         return showSavingConvertedVideoFolderDialogButton;
613     }
614
615     /** @return 保存設定-出力コメント付き動画「保存するファイル名を指定する」ラジオボタン. */
616     JRadioButton getConvSaveFileRadioButton() {
617         return convSaveFileRadioButton;
618     }
619
620     /** @return 保存設定-出力コメント付き動画「保存するファイル名を指定する」テキストフィールド. */
621     JTextField getConvertedVideoSavedFileField() {
622         return convertedVideoSavedFileField;
623     }
624
625     /** @return 保存設定-出力コメント付き動画「保存するファイル名を指定する」ファイルチューザボタン. */
626     JButton getShowSavingConvertedVideoFileDialogButton() {
627         return showSavingConvertedVideoFileDialogButton;
628     }
629
630     VideoSaveInfoPanel getVideoSaveInfoPanel() {
631         return videoSaveInfoPanel;
632     }
633
634     /** @return 投稿者コメントをダウンロードするのであればtrue. */
635     boolean isTcommentDownload() {
636         return needDownloadTcomment.isSelected();
637     }
638
639     /** 「投稿者コメントをダウンロードする」に設定を行う. */
640     void setTcommentDownload(boolean b) {
641         needDownloadTcomment.setSelected(b);
642     }
643
644     /** @return 変換後に投稿者コメントを削除するのであればtrue. */
645     boolean isTcommentDelete() {
646         return delTcomment.isSelected();
647     }
648
649     /** 「変換後に投稿者コメントを削除する」に設定を行う. */
650     void setTcommentDelete(boolean b) {
651         delTcomment.setSelected(b);
652     }
653
654     /** @return 投稿者コメントのファイル名を自動で設定するのであればtrue, 直接指定するのであればfalse. */
655     boolean isTcommentAutoFileName() {
656         return tcommentSaveInFolder.isSelected();
657     }
658
659     /** @param b 投稿者コメントのファイル名を自動で設定するのであればtrue, 直接指定するのであればfalse. */
660     void setTcommentAutoFileName(boolean b) {
661         tcommentSaveInFolder.setSelected(b);
662         tcommentSaveToFile.setSelected(!b);
663     }
664
665     /** @return 投稿者コメントの「保存するフォルダを指定し、ファイル名は自動で決定する」に設定してある文字列. */
666     String getTcommentDirectoryName() {
667         return tcommentFolder.getText();
668     }
669
670     /** @param t 投稿者コメントの「保存するフォルダを指定し、ファイル名は自動で決定する」に設定してある文字列. */
671     void setTcommentDirectoryName(String t) {
672         tcommentFolder.setText(t);
673     }
674
675     /** @return 投稿者コメントの「保存するファイル名を指定する」に設定してある文字列. */
676     String getTcommentFileName() {
677         return tcommentFile.getText();
678     }
679
680     /** @param b 投稿者コメントの「保存するファイル名を指定する」に設定してある文字列. */
681     void setTcommentFileName(String t) {
682         tcommentFile.setText(t);
683     }
684
685     private void showSaveDialog(String title, JTextField field, boolean isSave,
686             boolean isDir) {
687         File current = new File(field.getText());
688         JFileChooser chooser = new JFileChooser(current);
689         chooser.setDialogTitle(title);
690         int code = 0;
691         if (isDir) {
692             chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
693         }
694         if (isSave) {
695             code = chooser.showSaveDialog(this);
696         } else {
697             code = chooser.showOpenDialog(this);
698         }
699         if (code == JFileChooser.APPROVE_OPTION) {
700             field.setText(chooser.getSelectedFile().getAbsolutePath());
701         }
702     }
703 }