run.test.classpath=\\r
${javac.test.classpath}:\\r
${build.test.classes.dir}\r
-source.encoding=windows-31j\r
+source.encoding=UTF-8\r
src.dir=src\r
test.src.dir=test\r
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class ConvertStopFlag {
void changeState(State s);
/**
- * StateChangeListener\82Ì\89½\82à\82µ\82È\82¢\83o\81[\83W\83\87\83\93\82Ì\8eÀ\91\95.
+ * StateChangeListenerの何もしないバージョンの実装.
*/
static final ConvertStopFlag.StateChangeListener EMPTY_LISTENER = new ConvertStopFlag.StateChangeListener() {
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class MainFrame extends JFrame {
private static final long serialVersionUID = 2564486741331062989L;
- public static final String VERSION = "1.22r NicoBrowser\8ag\92£ 1.4.4";
+ public static final String VERSION = "1.22r NicoBrowser拡張 1.4.4";
public static final Image WinIcon = Toolkit.getDefaultToolkit().createImage(saccubus.MainFrame.class.getResource(
"icon32.png"));
- // TODO GUI\82ª\96³\82¢\82½\82ß\83t\83B\81[\83\8b\83h\82É\95Û\8e\9d.
+ // TODO GUIが無いためフィールドに保持.
private File tempDir;
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JPanel VideoInfoPanel = new JPanel();
JTextField VideoID_TextField = new JTextField();
JButton DoButton = new JButton();
- public static final String DoButtonDefString = "\95Ï\8a·";
- public static final String DoButtonStopString = "\92â\8e~";
- public static final String DoButtonWaitString = "\91Ò\8b@";
+ public static final String DoButtonDefString = "変換";
+ public static final String DoButtonStopString = "停止";
+ public static final String DoButtonWaitString = "待機";
JPanel UserInfoPanel = new JPanel();
GridBagLayout gridBagLayout3 = new GridBagLayout();
- // \83\86\81[\83U\90Ý\92è
+ // ユーザ設定
JLabel mailAddressLabel = new JLabel();
JTextField mailAddressField = new JTextField();
JLabel passwordLabel = new JLabel();
}
/**
- * \83R\83\93\83|\81[\83l\83\93\83g\82Ì\8f\89\8aú\89»\81B
+ * コンポーネントの初期化。
*
* @throws java.lang.Exception
*/
gridBagConstraints72.gridwidth = 1;
gridBagConstraints72.gridy = 6;
ShadowKindLabel = new JLabel();
- ShadowKindLabel.setText("\89e\82Ì\8eí\97Þ");
+ ShadowKindLabel.setText("影の種類");
ShadowKindLabel.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
GridBagConstraints gridBagConstraints71 = new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 6);
gridBagConstraints66.gridwidth = 2;
gridBagConstraints66.gridy = 1;
ViewCommentLabel = new JLabel();
- ViewCommentLabel.setText("\95\\8e¦\83R\83\81\83\93\83g\90\94");
+ ViewCommentLabel.setText("表示コメント数");
GridBagConstraints gridBagConstraints65 = new GridBagConstraints();
gridBagConstraints65.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints65.gridy = 1;
gridBagConstraints56.anchor = GridBagConstraints.WEST;
gridBagConstraints56.gridy = 2;
ExtOptionLabel = new JLabel();
- ExtOptionLabel.setText("\8fo\97Í\93®\89æ\82Ì\8ag\92£\8eq");
+ ExtOptionLabel.setText("出力動画の拡張子");
GridBagConstraints gridBagConstraints55 = new GridBagConstraints();
gridBagConstraints55.gridx = 0;
gridBagConstraints55.fill = GridBagConstraints.HORIZONTAL;
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
setSize(new Dimension(400, 450));
- setTitle("\82³\82«\82ã\82Î\82· " + VERSION);
+ setTitle("さきゅばす " + VERSION);
this.addWindowListener(new MainFrame_this_windowAdapter(this));
statusBar.setText(" ");
- jMenuFile.setText("\83t\83@\83C\83\8b");
- jMenuFileExit.setText("\8fI\97¹");
+ jMenuFile.setText("ファイル");
+ jMenuFileExit.setText("終了");
jMenuFileExit.addActionListener(new MainFrame_jMenuFileExit_ActionAdapter(
this));
- jMenuHelp.setText("\83w\83\8b\83v");
- jMenuHelpAbout.setText("\83o\81[\83W\83\87\83\93\8fî\95ñ");
+ jMenuHelp.setText("ヘルプ");
+ jMenuHelpAbout.setText("バージョン情報");
jMenuHelpAbout.addActionListener(new MainFrame_jMenuHelpAbout_ActionAdapter(
this));
VideoInfoPanel.setLayout(gridBagLayout1);
DoButton.setText(DoButtonDefString);
DoButton.addActionListener(new MainFrame_DoButton_actionAdapter(this));
SavingInfoTabPanel.setLayout(new GridLayout());
- UserInfoPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "\83\86\81[\83U\90Ý\92è"));
+ UserInfoPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "ユーザ設定"));
UserInfoPanel.setLayout(gridBagLayout3);
- mailAddressLabel.setText("\83\81\81[\83\8b\83A\83h\83\8c\83X");
- passwordLabel.setText("\83p\83X\83\8f\81[\83h");
+ mailAddressLabel.setText("メールアドレス");
+ passwordLabel.setText("パスワード");
setListenerToSavePanelButton();
FFMpegTabPanel.setLayout(gridBagLayout6);
PathSettingPanel.setBorder(BorderFactory.createTitledBorder(
- BorderFactory.createEtchedBorder(), "\83v\83\8d\83O\83\89\83\80\82Ì\88Ê\92u\82Ì\90Ý\92è"));
+ BorderFactory.createEtchedBorder(), "プログラムの位置の設定"));
PathSettingPanel.setLayout(gridBagLayout7);
FFmpegPathLabel.setText("FFmpeg");
- SettingFFmpegPathButton.setText("\8eQ\8fÆ");
+ SettingFFmpegPathButton.setText("参照");
SettingFFmpegPathButton.addActionListener(new MainFrame_SettingFFmpegPathButton_actionAdapter(
this));
- VhookPathLabel.setText("\8ag\92£vhook\83\89\83C\83u\83\89\83\8a");
- SettingVhookPathButton.setText("\8eQ\8fÆ");
+ VhookPathLabel.setText("拡張vhookライブラリ");
+ SettingVhookPathButton.setText("参照");
SettingVhookPathButton.addActionListener(new MainFrame_SettingVhookPathButton_actionAdapter(
this));
VhookSettingPanel.setLayout(gridBagLayout8);
VhookSettingPanel.setBorder(BorderFactory.createTitledBorder(
- BorderFactory.createEtchedBorder(), "\8ag\92£vhook\83\89\83C\83u\83\89\83\8a\82Ì\90Ý\92è"));
+ BorderFactory.createEtchedBorder(), "拡張vhookライブラリの設定"));
FFmpegSettingPanel.setBorder(BorderFactory.createTitledBorder(
- BorderFactory.createEtchedBorder(), "FFmpeg\82Ì\90Ý\92è"));
+ BorderFactory.createEtchedBorder(), "FFmpegの設定"));
FFmpegSettingPanel.setLayout(gridBagLayout9);
- FontPathLabel.setText("\83t\83H\83\93\83g\83p\83X");
- SettingFontPathButton.setText("\8eQ\8fÆ");
+ FontPathLabel.setText("フォントパス");
+ SettingFontPathButton.setText("参照");
SettingFontPathButton.addActionListener(new MainFrame_SettingFontPathButton_actionAdapter(
this));
- showConvVideoCheckBox.setText("\95Ï\8a·\92\86\82Ì\89æ\91\9c\82ð\95\\8e¦\82·\82é");
- inputOptionLabel.setText("\93ü\97Í\83I\83v\83V\83\87\83\93");
- outputOptionLabel.setText("\8fo\97Í\83I\83v\83V\83\87\83\93");
- mainOptionLabel.setText("\83\81\83C\83\93\83I\83v\83V\83\87\83\93");
- FontIndexLabel.setText("\83t\83H\83\93\83g\94Ô\8d\86");
+ showConvVideoCheckBox.setText("変換中の画像を表示する");
+ inputOptionLabel.setText("入力オプション");
+ outputOptionLabel.setText("出力オプション");
+ mainOptionLabel.setText("メインオプション");
+ FontIndexLabel.setText("フォント番号");
VideoID_Label.setText("URL/ID");
- WayBackLabel.setText("\89ß\8b\8e\83\8d\83O");
+ WayBackLabel.setText("過去ログ");
OpPanel.setLayout(new GridBagLayout());
BasicInfoTabPanel.setLayout(gridBagLayout12);
OpPanel.add(WayBackLabel, gridBagConstraints69);
OpPanel.add(WayBackField, gridBagConstraints70);
- mainTabbedPane.add(BasicInfoTabPanel, "\8aî\96{\90Ý\92è");
- mainTabbedPane.add(SavingInfoTabPanel, "\95Û\91¶\90Ý\92è");
- mainTabbedPane.add(FFMpegTabPanel, "\93®\89æ\90Ý\92è");
- mainTabbedPane.addTab("\95Ï\8a·\90Ý\92è", null, getConvertingSettingPanel(), null);
+ mainTabbedPane.add(BasicInfoTabPanel, "基本設定");
+ mainTabbedPane.add(SavingInfoTabPanel, "保存設定");
+ mainTabbedPane.add(FFMpegTabPanel, "動画設定");
+ mainTabbedPane.addTab("変換設定", null, getConvertingSettingPanel(), null);
SavingInfoTabPanel.add(savePanel);
BasicInfoTabPanel.add(UserInfoPanel, gridBagConstraints7);
BasicInfoTabPanel.add(getProxyInfoPanel(), gridBagConstraints6);
}
/**
- * \95Û\91¶\90Ý\92è\83p\83l\83\8b\93à\82Ì\83{\83^\83\93\82É\83A\83N\83V\83\87\83\93\83\8a\83X\83i\82ð\8a\84\82è\93\96\82Ä\82é.
+ * 保存設定パネル内のボタンにアクションリスナを割り当てる.
*/
private void setListenerToSavePanelButton() {
ActionListener al;
}
/**
- * \83e\83L\83X\83g\83t\83B\81[\83\8b\83h\82É\91Î\82µ\83h\83\8d\83b\83v\82ð\8ds\82Á\82½\8fê\8d\87\82É\83t\83@\83C\83\8b\82à\82µ\82\82Í\83f\83B\83\8c\83N\83g\83\8a\82Ì\95¶\8e\9a\97ñ\82ð\90Ý\92è\82Å\82«\82é\82æ\82¤\82É\82·\82é.
- * @param c \90Ý\92è\91Î\8fÛ\82Ì\83e\83L\83X\83g\83t\83B\81[\83\8b\83h\83I\83u\83W\83F\83N\83g.
- * @param isDir \83f\83B\83\8c\83N\83g\83\8a\82ð\90Ý\92è\82·\82é\8fê\8d\87\82Ítrue, \83t\83@\83C\83\8b\82Ì\8fê\8d\87\82Ífalse.
- * @return \83h\83\8d\83b\83v\83^\81[\83Q\83b\83g(\97p\93r\96³\82µ).
+ * テキストフィールドに対しドロップを行った場合にファイルもしくはディレクトリの文字列を設定できるようにする.
+ * @param c 設定対象のテキストフィールドオブジェクト.
+ * @param isDir ディレクトリを設定する場合はtrue, ファイルの場合はfalse.
+ * @return ドロップターゲット(用途無し).
*/
private DropTarget addTarget(JTextField c, boolean isDir) {
return new DropTarget(c, DnDConstants.ACTION_COPY, new FileDropTarget(
}
/**
- * \90Ý\92è\82ð\89æ\96Ê\82É\94½\89f\82·\82é.
- * @param setting \94½\89f\82·\82é\90Ý\92è.
+ * 設定を画面に反映する.
+ * @param setting 反映する設定.
*/
private void setSetting(SProperties setting) {
- // \8aî\96{\90Ý\92è
+ // 基本設定
final BasicSetting basic = setting.getBasicSetting();
tempDir = basic.getTempDir();
mailAddressField.setText(basic.getUser().getMail());
passwordField.setText(basic.getUser().getPassword());
- // \83v\83\8d\83L\83V\8aÖ\98A
+ // プロキシ関連
useProxyCheckBox.setSelected(basic.isProxyUse());
proxyTextField.setText(basic.getProxyHost());
int proxy_port = basic.getProxyPort();
proxyPortTextField.setText("");
}
- // \95Û\91¶\90Ý\92è - \93ü\97Í\93®\89æ
+ // 保存設定 - 入力動画
final InputVideoSetting inVideo = setting.getInputVideoSetting();
JRadioButton activeButton;
switch (inVideo.getProcessKind()) {
videoSaveInfoPanel.getSaveFolderRadioButton().setSelected(videoFixName);
videoSaveInfoPanel.getNibrFileField().setText(inVideo.getNicoBrowserFile().getPath());
- // \95Û\91¶\90Ý\92è - \93ü\97Í\83R\83\81\83\93\83g
+ // 保存設定 - 入力コメント
final InputCommentSetting inputComment = setting.getInputCommentSetting();
savePanel.getSavingCommentCheckBox().setSelected(inputComment.getProcessKind());
savePanel.getCommentSavedFileField().setText(inputComment.getFile().getPath());
savePanel.getCommentSaveFileRadioButton().setSelected(!commentFixName);
savePanel.getCommentSaveFolderRadioButton().setSelected(commentFixName);
- // \93\8a\8de\8eÒ\83R\83\81\83\93\83g
+ // 投稿者コメント
InputTcommentSetting tcom = setting.getInputTcommentSetting();
savePanel.setTcommentDownload(tcom.getProcessKind());
savePanel.setTcommentDelete(tcom.isDeleteAfterConvert());
savePanel.setTcommentDirectoryName(tcom.getFolder().getPath());
savePanel.setTcommentFileName(tcom.getFile().getPath());
- // \95Û\91¶\90Ý\92è - \8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ
+ // 保存設定 - 出力コメント付き動画
final OutputVideoSetting outputVideo = setting.getOutputVideoSetting();
savePanel.getSavingConvertedVideoCheckBox().setSelected(outputVideo.getProcessKind());
savePanel.getAddCommentCheckBox().setSelected(outputVideo.isAddComment());
savePanel.getConvSaveFileRadioButton().setSelected(!convFixName);
savePanel.getConvSaveFolderRadioButton().setSelected(convFixName);
- // \93®\89æ\90Ý\92è
+ // 動画設定
final MovieSetting movie = setting.getMovieSetting();
ffmpegPathField.setText(movie.getFfmpeg().toString());
vhookPathField.setText(movie.getVhook().toString());
inputOptionField.setText(movie.getFfmpegOption().getInOption());
FFmpegOptionModel.reload(movie.getOptionFile());
- // \95Ï\8a·\90Ý\92è
+ // 変換設定
final ConvertSetting conv = setting.getConvertSetting();
disableVhookCheckBox.setSelected(conv.isVhookDisabled());
viewCommentField.setText(Integer.toString(conv.getMaxNumOfComment()));
}
/**
- * [\83t\83@\83C\83\8b|\8fI\97¹] \83A\83N\83V\83\87\83\93\82ª\8eÀ\8ds\82³\82ê\82Ü\82µ\82½\81B
+ * [ファイル|終了] アクションが実行されました。
*
* @param actionEvent
* ActionEvent
}
/**
- * [\83w\83\8b\83v|\83o\81[\83W\83\87\83\93\8fî\95ñ] \83A\83N\83V\83\87\83\93\82ª\8eÀ\8ds\82³\82ê\82Ü\82µ\82½\81B
+ * [ヘルプ|バージョン情報] アクションが実行されました。
*
* @param actionEvent
* ActionEvent
dlg.setVisible(true);
}
- /* \95Ï\8a·\81E\95Û\91¶\82·\82é */
+ /* 変換・保存する */
private Converter Converter = null;
private JLabel inputOptionLabel = new JLabel();
private JTextField inputOptionField = new JTextField();
private JTextField ngWordTextField = null;
private JLabel NGIDLabel = null;
private JTextField ngIdTextField = null;
- // \83v\83\8d\83L\83V\90Ý\92è
+ // プロキシ設定
private JPanel ProxyInfoPanel = null;
private JCheckBox useProxyCheckBox = null;
private JLabel proxyLabel = null;
} catch (Exception ex) {
String text = ex.getMessage();
if (StringUtils.isEmpty(text)) {
- text = "\97\\8aú\82µ\82È\82¢\83G\83\89\81[\82Ì\82½\82ß\92\86\92f\82µ\82Ü\82µ\82½\81B";
+ text = "予期しないエラーのため中断しました。";
}
ex.printStackTrace();
statusBar.setText(text);
}
- } else { /* \8aJ\8en\82µ\82Ä\82¢\82é\82Ì\82Å\81A\83X\83g\83b\83v\82·\82é\81B */
+ } else { /* 開始しているので、ストップする。 */
final ConvertStopFlag flag = Converter.getStopFlag();
- if (!flag.needStop()) { /* \82Ü\82¾\83X\83g\83b\83v\82µ\82Ä\82¢\82È\82¢\81B */
+ if (!flag.needStop()) { /* まだストップしていない。 */
flag.requestStop();
}
}
private void executeConvert() throws IOException {
String url;
- // NicoBrowser\83t\83@\83C\83\8b\82ð\97\98\97p\82·\82é\8fê\8d\87\82Í\81A\83t\83@\83C\83\8b\96¼\82©\82ç\83r\83f\83IID\82ð\93Á\92è.
+ // NicoBrowserファイルを利用する場合は、ファイル名からビデオIDを特定.
if (videoSaveInfoPanel.getVideoUseNiBrButton().isSelected()) {
try {
String fileName = videoSaveInfoPanel.getNibrFileField().getText();
url = "";
}
} catch (Exception ex) {
- JOptionPane.showMessageDialog(this, ex.getMessage(), "\83G\83\89\81[", JOptionPane.ERROR_MESSAGE);
+ JOptionPane.showMessageDialog(this, ex.getMessage(), "エラー", JOptionPane.ERROR_MESSAGE);
return;
}
} else {
}
- /* FFmpeg\82Ö\82Ì\83p\83X */
+ /* FFmpegへのパス */
public void SettingFFmpegPathButton_actionPerformed(ActionEvent e) {
- showSaveDialog("FFmpeg\82Ö\82Ì\83p\83X", ffmpegPathField, false, false);
+ showSaveDialog("FFmpegへのパス", ffmpegPathField, false, false);
}
public void SettingVhookPathButton_actionPerformed(ActionEvent e) {
- showSaveDialog("\8ag\92£vhook\83\89\83C\83u\83\89\83\8a\82Ö\82Ì\83p\83X", vhookPathField, false, false);
+ showSaveDialog("拡張vhookライブラリへのパス", vhookPathField, false, false);
}
public void SettingFontPathButton_actionPerformed(ActionEvent e) {
- showSaveDialog("\83t\83H\83\93\83g\82Ö\82Ì\83p\83X", fontPathField, false, false);
+ showSaveDialog("フォントへのパス", fontPathField, false, false);
}
public void this_windowClosing(WindowEvent e) {
gridBagConstraints2.insets = new Insets(0, 5, 5, 0);
gridBagConstraints2.gridy = 0;
NGWordLavel = new JLabel();
- NGWordLavel.setText("NG\83\8f\81[\83h");
+ NGWordLavel.setText("NGワード");
NGWordSettingPanel = new JPanel();
NGWordSettingPanel.setLayout(new GridBagLayout());
NGWordSettingPanel.setBorder(BorderFactory.createTitledBorder(null,
- "NG\83\8f\81[\83h\81EID\90Ý\92è"));
+ "NGワード・ID設定"));
NGWordSettingPanel.add(NGWordLavel, gridBagConstraints2);
NGWordSettingPanel.add(getNGWordTextField(), gridBagConstraints3);
NGWordSettingPanel.add(NGIDLabel, gridBagConstraints4);
gridBagConstraints10.insets = new Insets(5, 5, 5, 5);
gridBagConstraints10.gridy = 2;
proxyPortLabel = new JLabel();
- proxyPortLabel.setText("\83|\81[\83g\94Ô\8d\86");
+ proxyPortLabel.setText("ポート番号");
GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
gridBagConstraints9.fill = GridBagConstraints.BOTH;
gridBagConstraints9.gridy = 1;
gridBagConstraints8.anchor = GridBagConstraints.EAST;
gridBagConstraints8.gridy = 1;
proxyLabel = new JLabel();
- proxyLabel.setText("\83v\83\8d\83L\83V");
+ proxyLabel.setText("プロキシ");
ProxyInfoPanel = new JPanel();
ProxyInfoPanel.setLayout(new GridBagLayout());
ProxyInfoPanel.setBorder(BorderFactory.createTitledBorder(null,
- "\83v\83\8d\83L\83V\90Ý\92è"));
+ "プロキシ設定"));
ProxyInfoPanel.add(proxyLabel, gridBagConstraints8);
ProxyInfoPanel.add(getProxyTextField(), gridBagConstraints9);
ProxyInfoPanel.add(proxyPortLabel, gridBagConstraints10);
private JCheckBox getUseProxyCheckBox() {
if (useProxyCheckBox == null) {
useProxyCheckBox = new JCheckBox();
- useProxyCheckBox.setText("\83v\83\8d\83L\83V\82ð\8eg\82¤");
+ useProxyCheckBox.setText("プロキシを使う");
useProxyCheckBox.setName("useProxyCheckBox");
}
return useProxyCheckBox;
private JCheckBox getFixFontSizeCheckBox() {
if (fixFontSizeCheckBox == null) {
fixFontSizeCheckBox = new JCheckBox();
- fixFontSizeCheckBox.setText("\83t\83H\83\93\83g\83T\83C\83Y\82ð\89æ\96Ê\82É\82 \82í\82¹\82Ä\8e©\93®\92²\90®\82·\82é");
+ fixFontSizeCheckBox.setText("フォントサイズを画面にあわせて自動調整する");
fixFontSizeCheckBox.setName("fixFontSizeCheckBox");
}
return fixFontSizeCheckBox;
private JCheckBox getOpaqueCommentCheckBox() {
if (opaqueCommentCheckBox == null) {
opaqueCommentCheckBox = new JCheckBox();
- opaqueCommentCheckBox.setText("\91S\82Ä\82Ì\83R\83\81\83\93\83g\82ð\95s\93§\96¾\82É\82·\82é");
+ opaqueCommentCheckBox.setText("全てのコメントを不透明にする");
opaqueCommentCheckBox.setName("opaqueCommentCheckBox");
}
return opaqueCommentCheckBox;
FFmpegOptionComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
- if (FFmpegOptionModel.isFile()) {// \83t\83@\83C\83\8b
+ if (FFmpegOptionModel.isFile()) {// ファイル
extOptionField.setEnabled(false);
mainOptionField.setEnabled(false);
inputOptionField.setEnabled(false);
outputOptionField.setEnabled(false);
- } else {// \83t\83@\83C\83\8b\82Å\82È\82¢
+ } else {// ファイルでない
extOptionField.setEnabled(true);
mainOptionField.setEnabled(true);
inputOptionField.setEnabled(true);
private JButton getFFmpegOptionReloadButton() {
if (FFmpegOptionReloadButton == null) {
FFmpegOptionReloadButton = new JButton();
- FFmpegOptionReloadButton.setText("\8dX\90V");
+ FFmpegOptionReloadButton.setText("更新");
FFmpegOptionReloadButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
private JCheckBox getNotUseVhookCheckBox() {
if (disableVhookCheckBox == null) {
disableVhookCheckBox = new JCheckBox();
- disableVhookCheckBox.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");
+ disableVhookCheckBox.setText("拡張vhookライブラリを無効にする(デバッグ用)");
disableVhookCheckBox.setName("disableVhookCheckBox");
}
return disableVhookCheckBox;
} catch (NumberFormatException e) {
proxyPort = -1;
}
- // TODO \8dì\8bÆ\97p\83f\83B\83\8c\83N\83g\83\8a\82Ì\90Ý\92èGUI\96³\82µ
+ // TODO 作業用ディレクトリの設定GUI無し
return new BasicSetting(tempDir, mail, pass, proxyUse, proxyHost, proxyPort);
}
}
/**
- * \89æ\96Ê\93ü\97Í\92l\82©\82ç\93\8a\8de\8eÒ\83R\83\81\83\93\83g\90Ý\92è\82ð\8dì\90¬\82·\82é.
- * @return \8dì\90¬\82µ\82½\93\8a\8de\8eÒ\83R\83\81\83\93\83g\90Ý\92è.
+ * 画面入力値から投稿者コメント設定を作成する.
+ * @return 作成した投稿者コメント設定.
*/
private InputTcommentSetting getTcommentSetting() {
boolean down = savePanel.isTcommentDownload();
boolean isDir;
if (source == panel.getShowSavingVideoFolderDialogButton()) {
- title = "\93®\89æ\82Ì\95Û\91¶\90æ(\83t\83H\83\8b\83_)";
+ title = "動画の保存先(フォルダ)";
field = panel.getVideoSavedFolderField();
isSave = true;
isDir = true;
} else if (source == panel.getShowSavingVideoFileDialogButton()) {
- title = "\93®\89æ\82Ì\95Û\91¶\90æ(\83t\83@\83C\83\8b)";
+ title = "動画の保存先(ファイル)";
field = panel.getVideoSavedFileField();
isSave = true;
isDir = false;
} else if (source == panel.getNibrFileChooserButton()) {
- title = "NicoBrowser\83t\83@\83C\83\8b\91I\91ð";
+ title = "NicoBrowserファイル選択";
field = panel.getNibrFileField();
isSave = false;
isDir = false;
boolean isSave;
boolean isDir;
if (source == savePanel.getShowSavingCommentFolderDialogButton()) {
- title = "\83R\83\81\83\93\83g\82Ì\95Û\91¶\90æ(\83t\83H\83\8b\83_)";
+ title = "コメントの保存先(フォルダ)";
field = savePanel.getCommentSavedFolderField();
isSave = true;
isDir = true;
} else if (source == savePanel.getShowSavingCommentFileDialogButton()) {
- title = "\83R\83\81\83\93\83g\82Ì\95Û\91¶\90æ(\83t\83@\83C\83\8b)";
+ title = "コメントの保存先(ファイル)";
field = savePanel.getCommentSavedFileField();
isSave = true;
isDir = false;
boolean isSave;
boolean isDir;
if (source == savePanel.getShowSavingConvertedVideoFolderDialogButton()) {
- title = "\83R\83\81\83\93\83g\95t\82«\93®\89æ\82Ì\95Û\91¶\90æ(\83t\83H\83\8b\83_)";
+ title = "コメント付き動画の保存先(フォルダ)";
field = savePanel.getConvertedVideoSavedFolderField();
isSave = true;
isDir = true;
} else if (source == savePanel.getShowSavingConvertedVideoFileDialogButton()) {
- title = "\83R\83\81\83\93\83g\95t\82«\93®\89æ\82Ì\95Û\91¶\90æ(\83t\83@\83C\83\8b)";
+ title = "コメント付き動画の保存先(ファイル)";
field = savePanel.getConvertedVideoSavedFileField();
isSave = true;
isDir = false;
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class MainFrame_AboutBox extends JDialog implements ActionListener {
String version = "ver1.22r(2008/04/27)";
String product =
- "\96{\83v\83\8d\83O\83\89\83\80\82Í\81u\82³\82«\82ã\82Î\82·\81v\82ð\89ü\95Ï\82µ\82½\82à\82Ì\82Å\82 \82è, \n" + "\83I\83\8a\83W\83i\83\8b\82Ì\92\98\8dì\8c \82Í\88È\89º\82Ì\92Ê\82è\82Å\82·.\n\n" +
- "\82³\82«\82ã\82Î\82·\n"+
+ "本プログラムは「さきゅばす」を改変したものであり, \n" + "オリジナルの著作権は以下の通りです.\n\n" +
+ "さきゅばす\n"+
version + "\n\n"+
"Copyright (C) 2008 Saccubus Developers Team\n"+
" 2007-2008 PSI\n\n"+
- "\83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶";
+ "ニコニコ動画の動画をコメントつきで保存";
JPanel panel1 = new JPanel();
}
/**
- * \83R\83\93\83|\81[\83l\83\93\83g\82Ì\8f\89\8aú\89»\81B
+ * コンポーネントの初期化。
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
image1 = new ImageIcon(saccubus.MainFrame.class.getResource("icon.png"));
imageLabel.setIcon(image1);
- setTitle("\83o\81[\83W\83\87\83\93\8fî\95ñ");
+ setTitle("バージョン情報");
panel1.setLayout(borderLayout1);
panel2.setLayout(borderLayout2);
insetsPanel1.setLayout(flowLayout1);
}
/**
- * \83{\83^\83\93\83C\83x\83\93\83g\82Å\83_\83C\83A\83\8d\83O\82ð\95Â\82¶\82é
+ * ボタンイベントでダイアログを閉じる
*
* @param actionEvent
* ActionEvent
}
/**
- * \83t\83@\83C\83\8b\93Ç\82Ý\8d\9e\82Ý\82»\82Ì\91¼\82ð\8ds\82¤
+ * ファイル読み込みその他を行う
*/
private static final File OPTION_FOLDER = new File("option");
private static final FFmpegSelectedItem DEFAULT_ITEM = new FFmpegSelectedItem(
- 0, null, "\8aO\95\94\83t\83@\83C\83\8b\82ð\97p\82¢\82¸\81A\89º\82É\92¼\90Ú\93ü\97Í\82·\82é\81B");
+ 0, null, "外部ファイルを用いず、下に直接入力する。");
protected void reload() {
File original_file = ((FFmpegSelectedItem) getSelectedItem()).getFile();
protected void reload(File original_file) {
int original_index = -1;
int index = 1;
- // \83\8a\83X\83g\83N\83\8a\83A
+ // リストクリア
List.clear();
- // \83t\83@\83C\83\8b\83\8a\83X\83g\8dX\90V
+ // ファイルリスト更新
File[] file_array = OPTION_FOLDER.listFiles();
if(file_array != null){
for (int i = 0; i < file_array.length; i++) {
File file = file_array[i];
if (file.getName().endsWith(".xml")) {
List.add(new FFmpegSelectedItem(index, file, null));
- // \91O\89ñ\8e¦\82µ\82Ä\82¢\82½\82Ì\82Æ\93¯\82¶\83t\83@\83C\83\8b\82ð\94\8c©\81B
+ // 前回示していたのと同じファイルを発見。
if (original_index < 0 && file.equals(original_file)) {
original_index = index;
}
}
}
}
- // \8f\89\8aú\89»
+ // 初期化
if (original_index < 0) {
Index = 0;
} else {
}
/**
- * \91I\82Î\82ê\82Ä\82¢\82é\83I\83u\83W\83F\83N\83g\82ð\95Ô\82·
+ * 選ばれているオブジェクトを返す
*/
public Object getSelectedItem() {
return getElementAt(Index);
}
/**
- * \83I\83u\83W\83F\83N\83g\82©\82ç\81A\83C\83\93\83f\83b\83N\83X\82ð\92T\82·\81B
+ * オブジェクトから、インデックスを探す。
*/
public void setSelectedItem(Object anItem) {
if (anItem == null) {
}
/**
- * \83C\83\93\83f\83b\83N\83X\82©\82ç\83I\83u\83W\83F\83N\83g\82ð\95Ô\82·\81B
+ * インデックスからオブジェクトを返す。
*/
public Object getElementAt(int index) {
if (index == 0) {
}
/**
- * \83T\83C\83Y\82ð\95Ô\82·\81B
+ * サイズを返す。
*/
public int getSize() {
}
/**
- * \8e¯\95Ê\82É\8eg\82¤
+ * 識別に使う
*
* @return
*/
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class Saccubus {
boolean packFrame = false;
/**
- * \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\8d\\92z\82Æ\95\\8e¦\81B
+ * アプリケーションの構築と表示。
*/
public Saccubus() {
- // \83\81\83C\83\93\83t\83\8c\81[\83\80\82Ì\8f\80\94õ
+ // メインフレームの準備
MainFrame frame = new MainFrame();
- // validate() \82Í\83T\83C\83Y\82ð\92²\90®\82·\82é
- // pack() \82Í\97L\8cø\82È\83T\83C\83Y\8fî\95ñ\82ð\83\8c\83C\83A\83E\83g\82È\82Ç\82©\82ç\8eæ\93¾\82·\82é
+ // validate() はサイズを調整する
+ // pack() は有効なサイズ情報をレイアウトなどから取得する
if (packFrame) {
frame.pack();
} else {
frame.validate();
}
- // \83E\83B\83\93\83h\83E\82ð\92\86\89\9b\82É\94z\92u
+ // ウィンドウを中央に配置
frame.setLocationByPlatform(true);
- // \83X\83v\83\89\83b\83V\83\85\82Í\89B\82·
- // \83\81\83C\83\93\83t\83\8c\81[\83\80\95\\8e¦
+ // スプラッシュは隠す
+ // メインフレーム表示
frame.setVisible(true);
}
/**
- * \83A\83v\83\8a\83P\81[\83V\83\87\83\93\83G\83\93\83g\83\8a\83|\83C\83\93\83g\81B
+ * アプリケーションエントリポイント。
*
* @param args
* String[]
*/
public static void main(String[] args) throws IOException {
- //\88ø\90\94\82ª\97L\82é\8fê\8d\87\82ÍCUI\82Å\8bN\93®
+ //引数が有る場合はCUIで起動
if (args.length > 0) {
Prompt.main(args);
return;
}
- //\88ø\90\94\82ª\96³\82¢\8fê\8d\87\82ÍGUI\82Å\8bN\93®
+ //引数が無い場合はGUIで起動
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
.addGap(0, 270, Short.MAX_VALUE)
);
- saveTabbedPane.addTab("\93ü\97Í\93®\89æ", inputVideoTab);
+ saveTabbedPane.addTab("入力動画", inputVideoTab);
- commentSaveInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("\83R\83\81\83\93\83g\95Û\91¶\90Ý\92è"));
+ commentSaveInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("コメント保存設定"));
- savingCommentCheckBox.setText("\83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é");
+ savingCommentCheckBox.setText("コメントをダウンロードする");
savingCommentCheckBox.setName("savingCommentCheckBox"); // NOI18N
- delCommentCheckBox.setText("\95Ï\8a·\8cã\82É\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é");
+ delCommentCheckBox.setText("変換後にコメントファイルを削除する");
delCommentCheckBox.setName("delCommentCheckBox"); // NOI18N
- fixCommentNumCheckBox.setText("\83R\83\81\83\93\83g\8eæ\93¾\90\94\82Í\8e©\93®\82Å\92²\90®\82·\82é");
+ fixCommentNumCheckBox.setText("コメント取得数は自動で調整する");
fixCommentNumCheckBox.setName("fixCommentNumCheckBox"); // NOI18N
- jLabel1.setText("\8eæ\93¾\83R\83\81\83\93\83g\90\94");
+ jLabel1.setText("取得コメント数");
commentNumField.setName("commentNumField"); // NOI18N
inputCommentSaveGroup.add(commentSaveFolderRadioButton);
- commentSaveFolderRadioButton.setText("\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é");
+ commentSaveFolderRadioButton.setText("保存するフォルダを指定し、ファイル名は自動で決定する");
commentSaveFolderRadioButton.setName("commentSaveFolderRadioButton"); // NOI18N
commentSavedFolderField.setName("commentSavedFolderField"); // NOI18N
- showSavingCommentFolderDialogButton.setText("\8eQ\8fÆ...");
+ showSavingCommentFolderDialogButton.setText("参照...");
showSavingCommentFolderDialogButton.setName("showSavingCommentFolderDialogButton"); // NOI18N
inputCommentSaveGroup.add(commentSaveFileRadioButton);
- commentSaveFileRadioButton.setText("\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é");
+ commentSaveFileRadioButton.setText("保存するファイル名を指定する");
commentSaveFileRadioButton.setName("commentSaveFileRadioButton"); // NOI18N
commentSavedFileField.setName("commentSavedFileField"); // NOI18N
- showSavingCommentFileDialogButton.setText("\8eQ\8fÆ...");
+ showSavingCommentFileDialogButton.setText("参照...");
showSavingCommentFileDialogButton.setName("showSavingCommentFileDialogButton"); // NOI18N
javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
.addContainerGap(30, Short.MAX_VALUE))
);
- saveTabbedPane.addTab("\93ü\97Í\83R\83\81\83\93\83g", inputCommentTab);
+ saveTabbedPane.addTab("入力コメント", inputCommentTab);
- tcommentSaveInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\95Û\91¶\90Ý\92è"));
+ tcommentSaveInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("投稿者コメント保存設定"));
- needDownloadTcomment.setText("\83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é");
+ needDownloadTcomment.setText("コメントをダウンロードする");
needDownloadTcomment.setName("needDownloadTcomment"); // NOI18N
- delTcomment.setText("\95Ï\8a·\8cã\82É\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é");
+ delTcomment.setText("変換後にコメントファイルを削除する");
delTcomment.setName("delTcomment"); // NOI18N
inputTcommentSaveGroup.add(tcommentSaveInFolder);
- tcommentSaveInFolder.setText("\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é");
+ tcommentSaveInFolder.setText("保存するフォルダを指定し、ファイル名は自動で決定する");
tcommentSaveInFolder.setName("tcommentSaveInFolder"); // NOI18N
tcommentFolder.setName("tcommentFolder"); // NOI18N
- tcoomentFolderChooserButton.setText("\8eQ\8fÆ...");
+ tcoomentFolderChooserButton.setText("参照...");
tcoomentFolderChooserButton.setName("tcoomentFolderChooserButton"); // NOI18N
tcoomentFolderChooserButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
});
inputTcommentSaveGroup.add(tcommentSaveToFile);
- tcommentSaveToFile.setText("\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é");
+ tcommentSaveToFile.setText("保存するファイル名を指定する");
tcommentSaveToFile.setName("tcommentSaveToFile"); // NOI18N
tcommentFile.setName("tcommentFile"); // NOI18N
- tcommentFileChooserButton.setText("\8eQ\8fÆ...");
+ tcommentFileChooserButton.setText("参照...");
tcommentFileChooserButton.setName("tcommentFileChooserButton"); // NOI18N
tcommentFileChooserButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
.addContainerGap(74, Short.MAX_VALUE))
);
- saveTabbedPane.addTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g", inputTcommentTab);
+ saveTabbedPane.addTab("入力投稿者コメント", inputTcommentTab);
- jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("\83R\83\81\83\93\83g\95t\82«\93®\89æ\95Û\91¶\90Ý\92è"));
+ jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("コメント付き動画保存設定"));
- savingConvertedVideoCheckBox.setText("\93®\89æ\82ð\95Ï\8a·\82·\82é");
+ savingConvertedVideoCheckBox.setText("動画を変換する");
savingConvertedVideoCheckBox.setName("savingConvertedVideoCheckBox"); // NOI18N
- addComment.setText("\83R\83\81\83\93\83g\82ð\82Â\82¯\82é");
+ addComment.setText("コメントをつける");
addComment.setName("addComment"); // NOI18N
- addTcomment.setText("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\82Â\82¯\82é");
+ addTcomment.setText("投稿者コメントをつける");
addTcomment.setName("addTcomment"); // NOI18N
outputVideoSaveGroup.add(convSaveFolderRadioButton);
- convSaveFolderRadioButton.setText("\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é");
+ convSaveFolderRadioButton.setText("保存するフォルダを指定し、ファイル名は自動で決定する");
convSaveFolderRadioButton.setName("convSaveFolderRadioButton"); // NOI18N
- notAddVideoIdConvVideoCheckBox.setText("\83t\83@\83C\83\8b\96¼\82É\93®\89æID\82ð\95t\89Á\82µ\82È\82¢");
+ notAddVideoIdConvVideoCheckBox.setText("ファイル名に動画IDを付加しない");
notAddVideoIdConvVideoCheckBox.setName("notAddVideoIdConvVideoCheckBox"); // NOI18N
convertedVideoSavedFolderField.setName("convertedVideoSavedFolderField"); // NOI18N
- showSavingConvertedVideoFolderDialogButton.setText("\8eQ\8fÆ...");
+ showSavingConvertedVideoFolderDialogButton.setText("参照...");
outputVideoSaveGroup.add(convSaveFileRadioButton);
- convSaveFileRadioButton.setText("\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é");
+ convSaveFileRadioButton.setText("保存するファイル名を指定する");
convSaveFileRadioButton.setName("convSaveFileRadioButton"); // NOI18N
convertedVideoSavedFileField.setName("convertedVideoSavedFileField"); // NOI18N
- showSavingConvertedVideoFileDialogButton.setText("\8eQ\8fÆ...");
+ showSavingConvertedVideoFileDialogButton.setText("参照...");
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
.addContainerGap(38, Short.MAX_VALUE))
);
- saveTabbedPane.addTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ", outputVideoTab);
+ saveTabbedPane.addTab("出力コメント付き動画", outputVideoTab);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
}// </editor-fold>//GEN-END:initComponents
private void tcoomentFolderChooserButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tcoomentFolderChooserButtonActionPerformed
- showSaveDialog("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\95Û\91¶\90æ(\83t\83H\83\8b\83_)", tcommentFolder, true, true);
+ showSaveDialog("投稿者コメントの保存先(フォルダ)", tcommentFolder, true, true);
}//GEN-LAST:event_tcoomentFolderChooserButtonActionPerformed
private void tcommentFileChooserButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tcommentFileChooserButtonActionPerformed
- showSaveDialog("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\95Û\91¶\90æ(\83t\83@\83C\83\8b)", tcommentFile, true, false);
+ showSaveDialog("投稿者コメントの保存先(ファイル)", tcommentFile, true, false);
}//GEN-LAST:event_tcommentFileChooserButtonActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JCheckBox addComment;
private javax.swing.JButton tcoomentFolderChooserButton;
// End of variables declaration//GEN-END:variables
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é\81v\83`\83F\83b\83N\83{\83b\83N\83X. */
+ /** @return 保存設定-入力コメント「コメントをダウンロードする」チェックボックス. */
JCheckBox getSavingCommentCheckBox() {
return savingCommentCheckBox;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\95Ï\8a·\8cã\82É\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é\81v\83`\83F\83b\83N\83{\83b\83N\83X. */
+ /** @return 保存設定-入力コメント「変換後にコメントファイルを削除する」チェックボックス. */
JCheckBox getDelCommentCheckBox() {
return delCommentCheckBox;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\83R\83\81\83\93\83g\8eæ\93¾\90\94\82Í\8e©\93®\82Å\92²\90®\82·\82é\81v\83`\83F\83b\83N\83{\83b\83N\83X. */
+ /** @return 保存設定-入力コメント「コメント取得数は自動で調整する」チェックボックス. */
JCheckBox getFixCommentNumCheckBox() {
return fixCommentNumCheckBox;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\8eæ\93¾\83R\83\81\83\93\83g\90\94\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h. */
+ /** @return 保存設定-入力コメント「取得コメント数」テキストフィールド. */
JTextField getCommentNumField() {
return commentNumField;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83\89\83W\83I\83{\83^\83\93. */
+ /** @return 保存設定-入力コメント「保存するフォルダを指定し、ファイル名は自動で決定する」ラジオボタン. */
JRadioButton getCommentSaveFolderRadioButton() {
return commentSaveFolderRadioButton;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\83t\83@\83C\83\8b\96¼\82É\93®\89æID\82ð\95t\89Á\82µ\82È\82¢\81v\83`\83F\83b\83N\83{\83b\83N\83X. */
+ /** @return 保存設定-入力コメント「ファイル名に動画IDを付加しない」チェックボックス. */
JCheckBox getNotAddVideoIdConvVideoCheckBox() {
return notAddVideoIdConvVideoCheckBox;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h. */
+ /** @return 保存設定-入力コメント「保存するフォルダを指定し、ファイル名は自動で決定する」テキストフィールド. */
JTextField getCommentSavedFolderField() {
return commentSavedFolderField;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83t\83@\83C\83\8b\83`\83\85\81[\83U\83{\83^\83\93. */
+ /** @return 保存設定-入力コメント「保存するフォルダを指定し、ファイル名は自動で決定する」ファイルチューザボタン. */
JButton getShowSavingCommentFolderDialogButton() {
return showSavingCommentFolderDialogButton;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83\89\83W\83I\83{\83^\83\93. */
+ /** @return 保存設定-入力コメント「保存するファイル名を指定する」ラジオボタン. */
JRadioButton getCommentSaveFileRadioButton() {
return commentSaveFileRadioButton;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h. */
+ /** @return 保存設定-入力コメント「保存するファイル名を指定する」テキストフィールド. */
JTextField getCommentSavedFileField() {
return commentSavedFileField;
}
- /** @return \95Û\91¶\90Ý\92è-\93ü\97Í\83R\83\81\83\93\83g\81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83t\83@\83C\83\8b\83`\83\85\81[\83U\83{\83^\83\93. */
+ /** @return 保存設定-入力コメント「保存するファイル名を指定する」ファイルチューザボタン. */
JButton getShowSavingCommentFileDialogButton() {
return showSavingCommentFileDialogButton;
}
- /** @return \95Û\91¶\90Ý\92è-\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\81u\93®\89æ\82ð\95Ï\8a·\82·\82é\81v\83`\83F\83b\83N\83{\83b\83N\83X. */
+ /** @return 保存設定-出力コメント付き動画「動画を変換する」チェックボックス. */
JCheckBox getSavingConvertedVideoCheckBox() {
return savingConvertedVideoCheckBox;
}
- /** @return \95Û\91¶\90Ý\92è-\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\81u\83R\83\81\83\93\83g\82ð\82Â\82¯\82é\81v\83`\83F\83b\83N\83{\83b\83N\83X. */
+ /** @return 保存設定-出力コメント付き動画「コメントをつける」チェックボックス. */
JCheckBox getAddCommentCheckBox() {
return addComment;
}
- /** @return \95Û\91¶\90Ý\92è-\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\81u\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\82Â\82¯\82é\81v\83`\83F\83b\83N\83{\83b\83N\83X. */
+ /** @return 保存設定-出力コメント付き動画「投稿者コメントをつける」チェックボックス. */
JCheckBox getAddTcommentCheckBox() {
return addTcomment;
}
- /** @return \95Û\91¶\90Ý\92è-\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83\89\83W\83I\83{\83^\83\93. */
+ /** @return 保存設定-出力コメント付き動画「保存するフォルダを指定し、ファイル名は自動で決定する」ラジオボタン. */
JRadioButton getConvSaveFolderRadioButton() {
return convSaveFolderRadioButton;
}
- /** @return \95Û\91¶\90Ý\92è-\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h. */
+ /** @return 保存設定-出力コメント付き動画「保存するフォルダを指定し、ファイル名は自動で決定する」テキストフィールド. */
JTextField getConvertedVideoSavedFolderField() {
return convertedVideoSavedFolderField;
}
- /** @return \95Û\91¶\90Ý\92è-\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83t\83@\83C\83\8b\83`\83\85\81[\83U\83{\83^\83\93. */
+ /** @return 保存設定-出力コメント付き動画「保存するフォルダを指定し、ファイル名は自動で決定する」ファイルチューザボタン. */
JButton getShowSavingConvertedVideoFolderDialogButton() {
return showSavingConvertedVideoFolderDialogButton;
}
- /** @return \95Û\91¶\90Ý\92è-\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83\89\83W\83I\83{\83^\83\93. */
+ /** @return 保存設定-出力コメント付き動画「保存するファイル名を指定する」ラジオボタン. */
JRadioButton getConvSaveFileRadioButton() {
return convSaveFileRadioButton;
}
- /** @return \95Û\91¶\90Ý\92è-\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h. */
+ /** @return 保存設定-出力コメント付き動画「保存するファイル名を指定する」テキストフィールド. */
JTextField getConvertedVideoSavedFileField() {
return convertedVideoSavedFileField;
}
- /** @return \95Û\91¶\90Ý\92è-\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83t\83@\83C\83\8b\83`\83\85\81[\83U\83{\83^\83\93. */
+ /** @return 保存設定-出力コメント付き動画「保存するファイル名を指定する」ファイルチューザボタン. */
JButton getShowSavingConvertedVideoFileDialogButton() {
return showSavingConvertedVideoFileDialogButton;
}
return videoSaveInfoPanel;
}
- /** @return \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é\82Ì\82Å\82 \82ê\82Îtrue. */
+ /** @return 投稿者コメントをダウンロードするのであればtrue. */
boolean isTcommentDownload() {
return needDownloadTcomment.isSelected();
}
- /** \81u\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é\81v\82É\90Ý\92è\82ð\8ds\82¤. */
+ /** 「投稿者コメントをダウンロードする」に設定を行う. */
void setTcommentDownload(boolean b) {
needDownloadTcomment.setSelected(b);
}
- /** @return \95Ï\8a·\8cã\82É\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\8dí\8f\9c\82·\82é\82Ì\82Å\82 \82ê\82Îtrue. */
+ /** @return 変換後に投稿者コメントを削除するのであればtrue. */
boolean isTcommentDelete() {
return delTcomment.isSelected();
}
- /** \81u\95Ï\8a·\8cã\82É\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\8dí\8f\9c\82·\82é\81v\82É\90Ý\92è\82ð\8ds\82¤. */
+ /** 「変換後に投稿者コメントを削除する」に設定を行う. */
void setTcommentDelete(boolean b) {
delTcomment.setSelected(b);
}
- /** @return \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\83t\83@\83C\83\8b\96¼\82ð\8e©\93®\82Å\90Ý\92è\82·\82é\82Ì\82Å\82 \82ê\82Îtrue, \92¼\90Ú\8ew\92è\82·\82é\82Ì\82Å\82 \82ê\82Îfalse. */
+ /** @return 投稿者コメントのファイル名を自動で設定するのであればtrue, 直接指定するのであればfalse. */
boolean isTcommentAutoFileName() {
return tcommentSaveInFolder.isSelected();
}
- /** @param b \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\83t\83@\83C\83\8b\96¼\82ð\8e©\93®\82Å\90Ý\92è\82·\82é\82Ì\82Å\82 \82ê\82Îtrue, \92¼\90Ú\8ew\92è\82·\82é\82Ì\82Å\82 \82ê\82Îfalse. */
+ /** @param b 投稿者コメントのファイル名を自動で設定するのであればtrue, 直接指定するのであればfalse. */
void setTcommentAutoFileName(boolean b) {
tcommentSaveInFolder.setSelected(b);
tcommentSaveToFile.setSelected(!b);
}
- /** @return \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\82É\90Ý\92è\82µ\82Ä\82 \82é\95¶\8e\9a\97ñ. */
+ /** @return 投稿者コメントの「保存するフォルダを指定し、ファイル名は自動で決定する」に設定してある文字列. */
String getTcommentDirectoryName() {
return tcommentFolder.getText();
}
- /** @param t \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\82É\90Ý\92è\82µ\82Ä\82 \82é\95¶\8e\9a\97ñ. */
+ /** @param t 投稿者コメントの「保存するフォルダを指定し、ファイル名は自動で決定する」に設定してある文字列. */
void setTcommentDirectoryName(String t) {
tcommentFolder.setText(t);
}
- /** @return \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\82É\90Ý\92è\82µ\82Ä\82 \82é\95¶\8e\9a\97ñ. */
+ /** @return 投稿者コメントの「保存するファイル名を指定する」に設定してある文字列. */
String getTcommentFileName() {
return tcommentFile.getText();
}
- /** @param b \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\82É\90Ý\92è\82µ\82Ä\82 \82é\95¶\8e\9a\97ñ. */
+ /** @param b 投稿者コメントの「保存するファイル名を指定する」に設定してある文字列. */
void setTcommentFileName(String t) {
tcommentFile.setText(t);
}
nibrFileField = new javax.swing.JTextField();
nibrFileChooserButton = new javax.swing.JButton();
- setBorder(javax.swing.BorderFactory.createTitledBorder("\93®\89æ\95Û\91¶\90Ý\92è"));
+ setBorder(javax.swing.BorderFactory.createTitledBorder("動画保存設定"));
videoSavingGroup.add(videoNoSaveButton);
- videoNoSaveButton.setText("\93®\89æ\82ð\83_\83E\83\93\83\8d\81[\83h\82µ\82È\82¢");
+ videoNoSaveButton.setText("動画をダウンロードしない");
videoNoSaveButton.setName("videoNoSaveButton"); // NOI18N
videoSavingGroup.add(videoSaveButton);
- videoSaveButton.setText("\93®\89æ\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é");
+ videoSaveButton.setText("動画をダウンロードする");
videoSaveButton.setName("videoSaveButton"); // NOI18N
- delVideoCheckBox.setText("\95Ï\8a·\8cã\82É\93®\89æ\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é");
+ delVideoCheckBox.setText("変換後に動画ファイルを削除する");
delVideoCheckBox.setName("delVideoCheckBox"); // NOI18N
videoNamingGroup.add(saveFolderRadioButton);
- saveFolderRadioButton.setText("\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é");
+ saveFolderRadioButton.setText("保存するフォルダを指定し、ファイル名は自動で決定する");
saveFolderRadioButton.setName("saveFolderRadioButton"); // NOI18N
videoSavedFolderField.setName("videoSavedFolderField"); // NOI18N
- showSavingVideoFolderDialogButton.setText("\8eQ\8fÆ...");
+ showSavingVideoFolderDialogButton.setText("参照...");
showSavingVideoFolderDialogButton.setName("showSavingVideoFolderDialogButton"); // NOI18N
videoNamingGroup.add(saveFileRadioButton);
- saveFileRadioButton.setText("\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é");
+ saveFileRadioButton.setText("保存するファイル名を指定する");
saveFileRadioButton.setName("saveFileRadioButton"); // NOI18N
videoSavedFileField.setName("videoSavedFileField"); // NOI18N
- showSavingVideoFileDialogButton.setText("\8eQ\8fÆ...");
+ showSavingVideoFileDialogButton.setText("参照...");
showSavingVideoFileDialogButton.setName("showSavingVideoFileDialogButton"); // NOI18N
javax.swing.GroupLayout basicSettingLayout = new javax.swing.GroupLayout(basicSetting);
);
videoSavingGroup.add(videoUseNiBrButton);
- videoUseNiBrButton.setText("NicoBrowser\83_\83E\83\93\83\8d\81[\83h\83t\83@\83C\83\8b\82ð\97p\82¢\82é");
+ videoUseNiBrButton.setText("NicoBrowserダウンロードファイルを用いる");
videoUseNiBrButton.setName("videoUseNiBrButton"); // NOI18N
nibrFileField.setName("nibrFileField"); // NOI18N
- nibrFileChooserButton.setText("\8eQ\8fÆ...");
+ nibrFileChooserButton.setText("参照...");
javax.swing.GroupLayout nibrExtendSettingLayout = new javax.swing.GroupLayout(nibrExtendSetting);
nibrExtendSetting.setLayout(nibrExtendSettingLayout);
private javax.swing.JRadioButton videoUseNiBrButton;
// End of variables declaration//GEN-END:variables
- /** @return \81u\93®\89æ\82ð\83_\83E\83\93\83\8d\81[\83h\82µ\82È\82¢\81v\83\89\83W\83I\83{\83^\83\93. */
+ /** @return 「動画をダウンロードしない」ラジオボタン. */
JRadioButton getVideoNoSaveButton() {
return videoNoSaveButton;
}
- /** @return \81u\93®\89æ\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é\81v\83\89\83W\83I\83{\83^\83\93. */
+ /** @return 「動画をダウンロードする」ラジオボタン. */
JRadioButton getVideoSaveButton() {
return videoSaveButton;
}
- /** @return \81uNicoBrowser\83_\83E\83\93\83\8d\81[\83h\83t\83@\83C\83\8b\82ð\97p\82¢\82é\81v\83\89\83W\83I\83{\83^\83\93. */
+ /** @return 「NicoBrowserダウンロードファイルを用いる」ラジオボタン. */
JRadioButton getVideoUseNiBrButton() {
return videoUseNiBrButton;
}
- /** @return \81u\95Ï\8a·\8cã\82É\93®\89æ\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é\81v\83`\83F\83b\83N\83{\83b\83N\83X. */
+ /** @return 「変換後に動画ファイルを削除する」チェックボックス. */
JCheckBox getDelVideoCheckBox() {
return delVideoCheckBox;
}
- /** @return \81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83\89\83W\83I\83{\83^\83\93. */
+ /** @return 「保存するフォルダを指定し、ファイル名は自動で決定する」ラジオボタン. */
JRadioButton getSaveFolderRadioButton() {
return saveFolderRadioButton;
}
- /** @return \81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83\89\83W\83I\83{\83^\83\93. */
+ /** @return 「保存するファイル名を指定する」ラジオボタン. */
JRadioButton getSaveFileRadioButton() {
return saveFileRadioButton;
}
- /** @return \81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h. */
+ /** @return 「保存するフォルダを指定し、ファイル名は自動で決定する」テキストフィールド. */
JTextField getVideoSavedFolderField() {
return videoSavedFolderField;
}
- /** @return \81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83t\83@\83C\83\8b\83`\83\85\81[\83U\8bN\93®\83{\83^\83\93. */
+ /** @return 「保存するフォルダを指定し、ファイル名は自動で決定する」ファイルチューザ起動ボタン. */
JButton getShowSavingVideoFolderDialogButton() {
return showSavingVideoFolderDialogButton;
}
- /** @return \81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h. */
+ /** @return 「保存するファイル名を指定する」テキストフィールド. */
JTextField getVideoSavedFileField() {
return videoSavedFileField;
}
- /** @return \81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83t\83@\83C\83\8b\83`\83\85\81[\83U\8bN\93®\83{\83^\83\93. */
+ /** @return 「保存するファイル名を指定する」ファイルチューザ起動ボタン. */
JButton getShowSavingVideoFileDialogButton() {
return showSavingVideoFileDialogButton;
}
- /** @return \81uNicoBrowser\83_\83E\83\93\83\8d\81[\83h\83t\83@\83C\83\8b\82ð\97p\82¢\82é\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h. */
+ /** @return 「NicoBrowserダウンロードファイルを用いる」テキストフィールド. */
JTextField getNibrFileField() {
return nibrFileField;
}
- /** @return \81uNicoBrowser\83_\83E\83\93\83\8d\81[\83h\83t\83@\83C\83\8b\82ð\97p\82¢\82é\81v\83t\83@\83C\83\8b\83`\83\85\81[\83U\8bN\93®\83{\83^\83\93. */
+ /** @return 「NicoBrowserダウンロードファイルを用いる」ファイルチューザ起動ボタン. */
JButton getNibrFileChooserButton() {
return nibrFileChooserButton;
}
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class Chat {
String element[] = mail_str.split(" ");
for (int i = 0; i < element.length; i++) {
String str = element[i].toLowerCase();
- /* \83\8d\83P\81[\83V\83\87\83\93 */
+ /* ロケーション */
if (str.equals("ue")) {
Location = CMD_LOC_TOP;
} else if (str.equals("shita")) {
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class ConvertToVideoHook {
String ng_word) {
try {
Packet packet = new Packet();
- // SAX\83p\81[\83T\81[\83t\83@\83N\83g\83\8a\82ð\90¶\90¬
+ // SAXパーサーファクトリを生成
SAXParserFactory spfactory = SAXParserFactory.newInstance();
- // SAX\83p\81[\83T\81[\82ð\90¶\90¬
+ // SAXパーサーを生成
SAXParser parser = spfactory.newSAXParser();
- // XML\83t\83@\83C\83\8b\82ð\8ew\92è\82³\82ê\82½\83f\83t\83H\83\8b\83g\83n\83\93\83h\83\89\81[\82Å\8f\88\97\9d\82µ\82Ü\82·
+ // XMLファイルを指定されたデフォルトハンドラーで処理します
NicoXMLReader nico_reader = null;
try {
nico_reader = new NicoXMLReader(packet, ng_id, ng_word);
if (nico_reader != null) {
parser.parse(file, nico_reader);
}
- // \95Ï\8a·\8c\8b\89Ê\82Ì\8f\91\82«\8d\9e\82Ý
+ // 変換結果の書き込み
FileOutputStream fos = new FileOutputStream(out);
packet.write(fos);
fos.close();
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class NicoXMLReader extends DefaultHandler {
// System.out.println("----------");
item = new Chat();
item_kicked = false;
- //\83}\83C\83\81\83\82\83\8a\8dí\8f\9c\91Î\8fÛ
+ //マイメモリ削除対象
String deleted = attributes.getValue("deleted");
if(deleted != null && deleted.toLowerCase().equals("1")){
item_kicked = true;
}
/**
- * \83h\83L\83\85\83\81\83\93\83g\8fI\97¹
+ * ドキュメント終了
*/
public void endDocument() {
// System.out.println("----------");
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
- * \92\86\8aÔ\83R\83\81\83\93\83g. write\83\81\83\\83b\83h\82É\82æ\82è\83t\83@\83C\83\8b\82É\8f\91\82«\8fo\82·.
- * @author \96¢\93ü\97Í
+ * 中間コメント. writeメソッドによりファイルに書き出す.
+ * @author 未入力
* @version 1.0
*/
public class Packet {
protected void stopFlagReturn() throws InterruptedException {
if (getStopFlag().needStop()) {
- throw new InterruptedException("\92\86\8e~\82µ\82Ü\82µ\82½\81B");
+ throw new InterruptedException("中止しました。");
}
}
import saccubus.net.TextProgressListener;
/**
- * <p>\83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·</p>
+ * <p>タイトル: さきゅばす</p>
*
- * <p>\90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶</p>
+ * <p>説明: ニコニコ動画の動画をコメントつきで保存</p>
*
- * <p>\92\98\8dì\8c : Copyright (c) 2007 PSI</p>
+ * <p>著作権: Copyright (c) 2007 PSI</p>
*
- * <p>\89ï\8eÐ\96¼: </p>
+ * <p>会社名: </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class Converter extends AbstractCommand implements Runnable, Callable<Boolean> {
try {
call();
} catch (Exception ex) {
- String text = (ex.getMessage() != null) ? ex.getMessage() : "\97\\8aú\82µ\82È\82¢\83G\83\89\81[\94\90¶\82Ì\82½\82ß\92\86\92f\82µ\82Ü\82µ\82½\81B";
+ String text = (ex.getMessage() != null) ? ex.getMessage() : "予期しないエラー発生のため中断しました。";
sendText(text);
ex.printStackTrace();
}
private boolean runConvert() throws IOException, InterruptedException {
if (!Setting.shouldRun()) {
- sendText("\89½\82à\82·\82é\82±\82Æ\82ª\82 \82è\82Ü\82¹\82ñ");
+ sendText("何もすることがありません");
return true;
}
validSetting();
final FfmpegOption ov = Setting.getFfmpeg().getFfmpegOption();
- sendText("\83\8d\83O\83C\83\93\92\86");
+ sendText("ログイン中");
final FileInstanciator fi = createInstanciator();
File tcommFile = fi.getTcommFile(getListener());
if (!Setting.needsConvert()) {
- sendText("\93®\89æ\81E\83R\83\81\83\93\83g\82ð\95Û\91¶\82µ\81A\95Ï\8a·\82Í\8ds\82¢\82Ü\82¹\82ñ\82Å\82µ\82½\81B");
+ sendText("動画・コメントを保存し、変換は行いませんでした。");
return true;
}
if (!videoFile.isFile()) {
- throw new IOException("\93ü\97Í\93®\89æ\83t\83@\83C\83\8b\82ª\91¶\8dÝ\82µ\82Ü\82¹\82ñ:" + videoFile.getPath());
+ throw new IOException("入力動画ファイルが存在しません:" + videoFile.getPath());
}
if (Setting.getOutputFileSetting().isAddComment()) {
if (!commentFile.isFile()) {
- throw new IOException("\93ü\97Í\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ª\91¶\8dÝ\82µ\82Ü\82¹\82ñ:" + commentFile.getPath());
+ throw new IOException("入力コメントファイルが存在しません:" + commentFile.getPath());
}
} else {
commentFile = null;
if (Setting.getOutputFileSetting().isAddTcomment()) {
if (!tcommFile.isFile()) {
- throw new IOException("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ª\91¶\8dÝ\82µ\82Ü\82¹\82ñ" + tcommFile.getPath());
+ throw new IOException("入力投稿者コメントファイルが存在しません" + tcommFile.getPath());
}
} else {
tcommFile = null;
}
- /*\83r\83f\83I\96¼\82Ì\8am\92è*/
+ /*ビデオ名の確定*/
File convertedVideoFile;
if (!Setting.getOutputFileSetting().getFile().isFile()) {
String conv_name = fi.getVideoTitle();
}
/**
- * (\83l\83b\83g\83\8f\81[\83N\90Ý\92è\88È\8aO\82Ì)\90Ý\92è\82ð\8c\9f\8fØ\82·\82é.
- * @throws IllegalArgumentException \90Ý\92è\82É\95s\94õ\82ª\82 \82é\8fê\8d\87.
+ * (ネットワーク設定以外の)設定を検証する.
+ * @throws IllegalArgumentException 設定に不備がある場合.
*/
private void validSetting() {
if (Setting.needsConvert()) {
File a = Setting.getFfmpeg().getFfmpeg();
if (!a.canRead()) {
- throw new IllegalArgumentException("FFmpeg\82ª\8c©\82Â\82©\82è\82Ü\82¹\82ñ\81B");
+ throw new IllegalArgumentException("FFmpegが見つかりません。");
}
if (Setting.getFfmpeg().getVhook().getPath().indexOf(' ') >= 0) {
- throw new IllegalArgumentException("\82·\82¢\82Ü\82¹\82ñ\81B\8c»\8dÝvhook\83\89\83C\83u\83\89\83\8a\82É\82Í\94¼\8ap\8bó\94\92\82Í\8eg\82¦\82Ü\82¹\82ñ\81B");
+ throw new IllegalArgumentException("すいません。現在vhookライブラリには半角空白は使えません。");
}
a = Setting.getFfmpeg().getVhook();
if (!a.canRead()) {
- throw new IllegalArgumentException("Vhook\83\89\83C\83u\83\89\83\8a\82ª\8c©\82Â\82©\82è\82Ü\82¹\82ñ\81B");
+ throw new IllegalArgumentException("Vhookライブラリが見つかりません。");
}
a = Setting.getFfmpeg().getFont();
if (!a.canRead()) {
- throw new IllegalArgumentException("\83t\83H\83\93\83g\82ª\8c©\82Â\82©\82è\82Ü\82¹\82ñ\81B");
+ throw new IllegalArgumentException("フォントが見つかりません。");
}
} else {
if (Setting.getVideoSetting().isDelete()) {
- throw new IllegalArgumentException("\95Ï\8a·\82µ\82È\82¢\82Ì\82É\81A\93®\89æ\8dí\8f\9c\82µ\82¿\82á\82Á\82Ä\97Ç\82¢\82ñ\82Å\82·\82©\81H");
+ throw new IllegalArgumentException("変換しないのに、動画削除しちゃって良いんですか?");
}
if (Setting.getCommentSetting().isDelete()) {
- throw new IllegalArgumentException("\95Ï\8a·\82µ\82È\82¢\82Ì\82É\81A\83R\83\81\83\93\83g\8dí\8f\9c\82µ\82¿\82á\82Á\82Ä\97Ç\82¢\82ñ\82Å\82·\82©\81H");
+ throw new IllegalArgumentException("変換しないのに、コメント削除しちゃって良いんですか?");
}
if (Setting.getTcommentSetting().isDelete()) {
- throw new IllegalArgumentException("\95Ï\8a·\82µ\82È\82¢\82Ì\82É\81A\93\8a\8de\8eÒ\83R\83\81\83\93\83g\8dí\8f\9c\82µ\82¿\82á\82Á\82Ä\97Ç\82¢\82ñ\82Å\82·\82©\81H");
+ throw new IllegalArgumentException("変換しないのに、投稿者コメント削除しちゃって良いんですか?");
}
}
}
private boolean exec() throws InterruptedException, IOException {
final NgSetting ngSetting = getFfmpeg().getNgSetting();
if (commentFile != null) {
- sendText("\83R\83\81\83\93\83g\82Ì\92\86\8aÔ\83t\83@\83C\83\8b\82Ö\82Ì\95Ï\8a·\92\86");
+ sendText("コメントの中間ファイルへの変換中");
boolean conv = ConvertToVideoHook.convert(commentFile, commentMiddleFile, ngSetting.getId(), ngSetting.
getWord());
if (!conv) {
- sendText("\83R\83\81\83\93\83g\95Ï\8a·\82É\8e¸\94s\81B\83t\83@\83C\83\8b\96¼\82É\8eg\97p\82Å\82«\82È\82¢\95¶\8e\9a\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82©\90³\8bK\95\\8c»\82Ì\8aÔ\88á\82¢\81H");
+ sendText("コメント変換に失敗。ファイル名に使用できない文字が含まれているか正規表現の間違い?");
return false;
}
}
stopFlagReturn();
if (tcommFile != null) {
- sendText("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\92\86\8aÔ\83t\83@\83C\83\8b\82Ö\82Ì\95Ï\8a·\92\86");
+ sendText("投稿者コメントの中間ファイルへの変換中");
boolean conv = ConvertToVideoHook.convert(tcommFile, tcommMiddleFile, ngSetting.getId(), ngSetting.getWord());
if (!conv) {
- sendText("\83R\83\81\83\93\83g\95Ï\8a·\82É\8e¸\94s\81B\83t\83@\83C\83\8b\96¼\82É\8eg\97p\82Å\82«\82È\82¢\95¶\8e\9a\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82©\90³\8bK\95\\8c»\82Ì\8aÔ\88á\82¢\81H");
+ sendText("コメント変換に失敗。ファイル名に使用できない文字が含まれているか正規表現の間違い?");
return false;
}
}
stopFlagReturn();
- sendText("\93®\89æ\82Ì\95Ï\8a·\82ð\8aJ\8en");
+ sendText("動画の変換を開始");
int code;
if ((code = converting_video(videoFile, convertedVideoFile, (commentFile != null), commentMiddleFile.getPath(), (tcommFile
!= null), tcommMiddleFile.getPath(), getFfmpeg().getFfmpegOption())) == 0) {
- sendText("\95Ï\8a·\82ª\90³\8fí\82É\8fI\97¹\82µ\82Ü\82µ\82½\81B");
+ sendText("変換が正常に終了しました。");
return true;
} else {
- sendText("\95Ï\8a·\83G\83\89\81[:" + convertedVideoFile.getPath());
+ sendText("変換エラー:" + convertedVideoFile.getPath());
}
return false;
}
File res = getClient().getComment(getVideoInfo(), file, listener, com);
if (res == null) {
- throw new IOException("\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82Ì\83_\83E\83\93\83\8d\81[\83h\82É\8e¸\94s\82µ\82Ü\82µ\82½\81B");
+ throw new IOException("コメントファイルのダウンロードに失敗しました。");
}
return res;
}
import saccubus.net.TextProgressListener;
/**
- * \83_\83E\83\93\83\8d\81[\83h\8f\88\97\9d\82ð\91S\82\95K\97v\82Æ\82µ\82È\82¢\8fê\8d\87\82Ì\83t\83@\83C\83\8b\83C\83\93\83X\83^\83\93\83X\89»\83N\83\89\83X.
+ * ダウンロード処理を全く必要としない場合のファイルインスタンス化クラス.
* @author yuki
*/
public class FileInstanciator {
}
/**
- * @return \93®\89æ\82Ì\83^\83C\83g\83\8b.
- * @throws FileNotFoundException \83r\83f\83I\83^\83C\83g\83\8b\82Ì\8e©\93®\96½\96¼\8e\9e\81A\8eQ\8dl\82Æ\82È\82é\83t\83@\83C\83\8b\82ª\8c©\82Â\82©\82ç\82È\82©\82Á\82½\81B
+ * @return 動画のタイトル.
+ * @throws FileNotFoundException ビデオタイトルの自動命名時、参考となるファイルが見つからなかった。
*/
public String getVideoTitle() throws FileNotFoundException {
String fileName = null;
if (!videoType.isAutoFileName()) {
- // \93®\89æ\83t\83@\83C\83\8b\96¼\82ð\92¼\90Ú\8ew\92è\82µ\82Ä\82¢\82é\8fê\8d\87\82Í\81A\82»\82Ì\83t\83@\83C\83\8b\96¼\82ð\8aî\82É\83^\83C\83g\83\8b\82ð\8eæ\93¾\82·\82é.
+ // 動画ファイル名を直接指定している場合は、そのファイル名を基にタイトルを取得する.
fileName = videoType.getInitFile().toString();
} else {
- // \8e©\93®\96½\96¼\82Ì\8fê\8d\87\82Í\81A\83f\83B\83\8c\83N\83g\83\8a\93à\82É\82 \82é\83t\83@\83C\83\8b\82©\82ç\83^\83C\83g\83\8b\96¼\82ð\97Þ\90\84\81B
+ // 自動命名の場合は、ディレクトリ内にあるファイルからタイトル名を類推。
String[] files = videoType.getInitFile().list();
if (files != null) {
for (String file : files) {
}
}
if (fileName == null) {
- throw new FileNotFoundException(getVideoIdWithBracket() + "\82Ì\83t\83@\83C\83\8b\82ð\93Á\92è\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½\81B");
+ throw new FileNotFoundException(getVideoIdWithBracket() + "のファイルを特定できませんでした。");
}
}
}
/**
- * \93®\89æ\83t\83@\83C\83\8b\82ð\8eæ\93¾\82µ\82Ü\82·.
- * @param listener \90i\92»\92Ê\92m\82ð\8eó\82¯\8eæ\82é\82½\82ß\82Ì\83\8a\83X\83i.
- * @return \93®\89æ\83t\83@\83C\83\8b.
- * @throws IOException \93®\89æ\83t\83@\83C\83\8b\82ª\91¶\8dÝ\82µ\82È\82¢, \8eæ\93¾\82É\8e¸\94s\82µ\82½.
+ * 動画ファイルを取得します.
+ * @param listener 進捗通知を受け取るためのリスナ.
+ * @return 動画ファイル.
+ * @throws IOException 動画ファイルが存在しない, 取得に失敗した.
*/
public final File getVideoFile(TextProgressListener listener) throws IOException {
File file = new FileLocator(videoType.isAutoFileName(), videoType.getInitFile(), getVideoIdWithBracket(),
}
/**
- * \83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ð\8eæ\93¾\82µ\82Ü\82·.
- * @param listener \90i\92»\92Ê\92m\82ð\8eó\82¯\8eæ\82é\82½\82ß\82Ì\83\8a\83X\83i.
- * @return \83R\83\81\83\93\83g\83t\83@\83C\83\8b.
- * @throws IOException \83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ª\91¶\8dÝ\82µ\82È\82¢, \8eæ\93¾\82É\8e¸\94s\82µ\82½.
+ * コメントファイルを取得します.
+ * @param listener 進捗通知を受け取るためのリスナ.
+ * @return コメントファイル.
+ * @throws IOException コメントファイルが存在しない, 取得に失敗した.
*/
public final File getCommentFile(TextProgressListener listener) throws IOException {
File file = new FileLocator(commentType.isAutoFileName(), commentType.getInitFile(), getVideoIdWithBracket(),
}
/**
- * \93\8a\8de\8eÒ\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ð\8eæ\93¾\82µ\82Ü\82·.
- * @param listener \90i\92»\92Ê\92m\82ð\8eó\82¯\8eæ\82é\82½\82ß\82Ì\83\8a\83X\83i.
- * @return \93\8a\8de\8eÒ\83R\83\81\83\93\83g\83t\83@\83C\83\8b.
- * @throws IOException \83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ª\91¶\8dÝ\82µ\82È\82¢, \8eæ\93¾\82É\8e¸\94s\82µ\82½.
+ * 投稿者コメントファイルを取得します.
+ * @param listener 進捗通知を受け取るためのリスナ.
+ * @return 投稿者コメントファイル.
+ * @throws IOException コメントファイルが存在しない, 取得に失敗した.
*/
public final File getTcommFile(TextProgressListener listener) throws IOException {
File file = new FileLocator(tcommType.isAutoFileName(), tcommType.getInitFile(), getVideoIdWithBracket(),
private final File initFile;
/**
- * \83t\83@\83C\83\8b\82ð\83C\83\93\83X\83^\83\93\83X\89»\82·\82é\95û\96@\82ð\8ew\92è\82·\82é\83N\83\89\83X.
+ * ファイルをインスタンス化する方法を指定するクラス.
*/
public InstanciationType(InputFileSetting fileSetting) {
this.download = fileSetting.isDownload();
}
/**
- * \83R\83\93\83X\83g\83\89\83N\83^\82Å\8ew\92è\82µ\82½\8fð\8c\8f\82Å\83t\83@\83C\83\8b\82ð\8c\9f\8dõ\82·\82é\81B
- * autoFileName\82ªfalse\82Ì\8fê\8d\87\81A\92¼\90Ú\96¼\91O\8ew\92è\82Å\82 \82é\82½\82ß\8ew\92è\82³\82ê\82½\83t\83@\83C\83\8b\82ð\82»\82Ì\82Ü\82Ü\95Ô\82·\81B
- * autoFileName\82ªtrue\82Ì\8fê\8d\87\81AinitFile\83f\83B\83\8c\83N\83g\83\8a\82Éprefix\82Å\8en\82Ü\82èsuffix\82Å\8fI\82í\82é\83t\83@\83C\83\8b\82ª\91¶\8dÝ\82·\82é\82©\8c\9f\8dõ\82µ
- * \82 \82ê\82Î\82»\82ê\82ð\95Ô\82·\81B
- * \82±\82Ì\83t\83@\83C\83\8b\82à\96³\82¢\8fê\8d\87\81A\8ew\92è\82³\82ê\82½\83p\83\89\83\81\81[\83^\82É\8f]\82Á\82½\83t\83@\83C\83\8b\96¼\82ð\95Ô\82·\81B
- * \82±\82Ì\82Æ\82«\8ag\92£\8eq(suffixes)\82ª\95¡\90\94\8ew\92è\82³\82ê\82Ä\82¢\82½\8fê\8d\87\82Í\8dÅ\8f\89\82Ì\82à\82Ì\82ð\95Ô\82·\81B
- * @return \8f\8a\96]\82Ì\83t\83@\83C\83\8b\81B\83t\83@\83C\83\8b\82Í\91¶\8dÝ\82·\82é\8fê\8d\87\82à\82 \82è\81A\91¶\8dÝ\82µ\82È\82¢\8fê\8d\87\82à\82 \82é\82±\82Æ\82É\92\8d\88Ó\81B
+ * コンストラクタで指定した条件でファイルを検索する。
+ * autoFileNameがfalseの場合、直接名前指定であるため指定されたファイルをそのまま返す。
+ * autoFileNameがtrueの場合、initFileディレクトリにprefixで始まりsuffixで終わるファイルが存在するか検索し
+ * あればそれを返す。
+ * このファイルも無い場合、指定されたパラメータに従ったファイル名を返す。
+ * このとき拡張子(suffixes)が複数指定されていた場合は最初のものを返す。
+ * @return 所望のファイル。ファイルは存在する場合もあり、存在しない場合もあることに注意。
*/
File getFile() {
if (!isAutoNaming()) {
return null;
}
if (res.length > 1) {
- System.out.println("\95¡\90\94\82Ì\8có\95â\83t\83@\83C\83\8b\82ª\83q\83b\83g\82µ\82Ü\82µ\82½. \88Ó\90}\82µ\82È\82¢\83t\83@\83C\83\8b\82ª\91I\91ð\82³\82ê\82Ä\82¢\82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·:" + res[0]);
+ System.out.println("複数の候補ファイルがヒットしました. 意図しないファイルが選択されている可能性があります:" + res[0]);
}
return res[0];
}
public File get(File file, TextProgressListener listener) throws IOException {
File res = getClient().getTcomment(videoInfo, file, listener);
if (res == null) {
- throw new IOException("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82Ì\83_\83E\83\93\83\8d\81[\83h\82É\8e¸\94s\82µ\82Ü\82µ\82½");
+ throw new IOException("投稿者コメントファイルのダウンロードに失敗しました");
}
return res;
}
@Override
File get(File file, TextProgressListener listener) throws IOException {
- listener.setText("\93®\89æ\82Ì\83_\83E\83\93\83\8d\81[\83h\8aJ\8en\92\86");
+ listener.setText("動画のダウンロード開始中");
File res = client.getVideo(videoInfo, file, listener);
if (res == null) {
- throw new IOException("\93®\89æ\83t\83@\83C\83\8b\82Ì\83_\83E\83\93\83\8d\81[\83h\82É\8e¸\94s\82µ\82Ü\82µ\82½\81B");
+ throw new IOException("動画ファイルのダウンロードに失敗しました。");
}
return res;
}
import saccubus.net.VideoInfo;
/**
- * \93®\89æ\83t\83@\83C\83\8b, \83R\83\81\83\93\83g\83t\83@\83C\83\8b\82È\82Ç\95K\97v\82È\83t\83@\83C\83\8b\82Ì\82¤\82¿, 1\82Â\82Å\82à\83_\83E\83\93\83\8d\81[\83h\8f\88\97\9d\82ð\95K\97v\82Æ\82·\82é\8fê\8d\87\82Ì\83C\83\93\83X\83^\83\93\83X\89»\83N\83\89\83X.
+ * 動画ファイル, コメントファイルなど必要なファイルのうち, 1つでもダウンロード処理を必要とする場合のインスタンス化クラス.
* @author yuki
*/
public class WebFileInstanciator extends FileInstanciator {
super(videoType, commentType, tcommType, tag);
if (li.getMail() == null || li.getPass() == null || li.getMail().equals("") || li.getPass().equals("")) {
- throw new IllegalArgumentException("\83\81\81[\83\8b\83A\83h\83\8c\83X\82©\83p\83X\83\8f\81[\83h\82ª\8bó\94\92\82Å\82·\81B");
+ throw new IllegalArgumentException("メールアドレスかパスワードが空白です。");
}
String host;
client = new NicoClient(li.getMail(), li.getPass(), stopFlag, host, port);
if (!client.isLoggedIn()) {
- throw new IOException("\83\8d\83O\83C\83\93\82É\8e¸\94s");
+ throw new IOException("ログインに失敗");
}
try {
videoInfo = client.getVideoInfo(tag, time);
} catch (IOException ex) {
- throw new IOException(tag + "\82Ì\8fî\95ñ\82Ì\8eæ\93¾\82É\8e¸\94s", ex);
+ throw new IOException(tag + "の情報の取得に失敗", ex);
}
if (videoType.isDoanload()) {
}
/**
- * \93®\89æ\82Ì\83^\83C\83g\83\8b\82ð\8eæ\93¾\82·\82é\81B
- * \8eÀ\8dÛ\82Ì\93®\89æ\83^\83C\83g\83\8b\82Í\83t\83@\83C\83\8b\96¼\82É\97p\82¢\82é\82±\82Æ\82ª\8fo\97\88\82È\82¢\95¶\8e\9a\82ð\8aÜ\82ñ\82Å\82 \82é\8fê\8d\87\82ª\82 \82é\82½\82ß\81A\83t\83@\83C\83\8b\96¼\82É\93K\8d\87\82·\82é\82æ\82¤\82É\95Ò\8fW\82µ\82½\92l\82ª\95Ô\82é\81B
+ * 動画のタイトルを取得する。
+ * 実際の動画タイトルはファイル名に用いることが出来ない文字を含んである場合があるため、ファイル名に適合するように編集した値が返る。
* @return
*/
@Override
String name = videoInfo.getVideoTitle();
name = Normalizer.normalize(name, Normalizer.Form.NFKC);
name = name.replaceAll("[\\\\/:*?\"<>|.]", "_");
- name = name.replace('\u2212', '\uff0d'); // \81| U+2212(MINUS SIGN) -> U+FF0D(FULLWIDTH HYPHEN-MINUS)
- name = name.replace('\u301c', '\uff5e'); // \81` U+301C(WAVE DASH) -> U+FF5E(FULLWIDTH TILDE)
- name = name.replace('\u223c', '\uff5e'); // \81` U+223C(TILDE OPERATOR) -> U+FF5E(FULLWIDTH TILDE)
- name = name.replace('\u00a2', '\uffe0'); // \81\91 U+00A2(CENT SIGN) -> U+FFE0(FULLWIDTH CENT SIGN)
- name = name.replace('\u00a3', '\uffe1'); // \81\92 U+00A3(POUND SIGN) -> U+FFE1(FULLWIDTH POUND SIGN)
- name = name.replace('\u00ac', '\uffe2'); // \81Ê U+00AC(NOT SIGN) -> U+FFE2(FULLWIDHT NOT SIGN)
+ name = name.replace('\u2212', '\uff0d'); // - U+2212(MINUS SIGN) -> U+FF0D(FULLWIDTH HYPHEN-MINUS)
+ name = name.replace('\u301c', '\uff5e'); // ~ U+301C(WAVE DASH) -> U+FF5E(FULLWIDTH TILDE)
+ name = name.replace('\u223c', '\uff5e'); // ~ U+223C(TILDE OPERATOR) -> U+FF5E(FULLWIDTH TILDE)
+ name = name.replace('\u00a2', '\uffe0'); // ¢ U+00A2(CENT SIGN) -> U+FFE0(FULLWIDTH CENT SIGN)
+ name = name.replace('\u00a3', '\uffe1'); // £ U+00A3(POUND SIGN) -> U+FFE1(FULLWIDTH POUND SIGN)
+ name = name.replace('\u00ac', '\uffe2'); // ¬ U+00AC(NOT SIGN) -> U+FFE2(FULLWIDHT NOT SIGN)
return name;
}
}
String out = prop.getProperty("OUT");
String main = prop.getProperty("MAIN");
if (ext == null || in == null || out == null || main == null) {
- throw new IOException("\95Ï\8a·\83I\83v\83V\83\87\83\93\83t\83@\83C\83\8b\8f\91\8e®\8cë\82è\81B");
+ throw new IOException("変換オプションファイル書式誤り。");
}
return new FfmpegOption(ext, main, in, out);
}
private final boolean delete;
/**
- * @param file \91Î\8fÛ\83t\83@\83C\83\8b.
- * @param download \83_\83E\83\93\83\8d\81[\83h\82·\82é\95K\97v\82ª\82 \82ê\82Îtrue, \83\8d\81[\83J\83\8b\83t\83@\83C\83\8b\82ð\97p\82¢\82é\82Ì\82Å\82 \82ê\82Îfalse.
- * @param delete \95Ï\8a·\8cã\82É\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é\82Ì\82Å\82 \82ê\82Îtrue, \8ec\82µ\82½\82Ü\82Ü\82É\82·\82é\82Ì\82Å\82 \82ê\82Îfalse.
+ * @param file 対象ファイル.
+ * @param download ダウンロードする必要があればtrue, ローカルファイルを用いるのであればfalse.
+ * @param delete 変換後にファイルを削除するのであればtrue, 残したままにするのであればfalse.
*/
public InputFileSetting(SFile file, boolean download, boolean delete) {
this.file = file;
package saccubus.converter.profile;
/**
- * NG\90Ý\92è.
+ * NG設定.
* @author yuki
*/
public class NgSetting {
import saccubus.converter.filegetter.LoginInfo;
/**
- * Converter\82É\8f\88\97\9d\82³\82¹\82é\82½\82ß\82Ì\90Ý\92è.
+ * Converterに処理させるための設定.
* @author yuki
*/
public class Profile {
return loginInfo;
}
- /** @return \89½\82©\8eÀ\8ds\82·\82×\82«\8f\88\97\9d\82ª\82 \82ê\82Îtrue. */
+ /** @return 何か実行すべき処理があればtrue. */
public boolean shouldRun() {
return getOutputFileSetting().isConvert() || needsDownload();
}
- /** @return \89½\82©\83_\83E\83\93\83\8d\81[\83h\82·\82é\82à\82Ì\82ª\82 \82ê\82Îtrue. */
+ /** @return 何かダウンロードするものがあればtrue. */
public boolean needsDownload() {
return (videoSetting.isDownload() || commentSetting.isDownload() || tcommentSetting.isDownload());
}
public Proxy(String host, int port) {
if (StringUtils.isEmpty(host) || port < 0 || port > 65535) {
- throw new IllegalArgumentException("\83v\83\8d\83L\83V\82Ì\90Ý\92è\82ª\95s\93K\90Ø\82Å\82·");
+ throw new IllegalArgumentException("プロキシの設定が不適切です");
}
this.host = host;
this.port = port;
import java.io.File;
/**
- * \82³\82«\82ã\82Î\82·\82Å\88µ\82¤\83t\83@\83C\83\8b\82Í\81A\81u\95Û\91¶\82·\82é\83f\83B\83\8c\83N\83g\83\8a\81v\82Æ\81A\81u\95Û\91¶\82³\82ê\82½\83t\83@\83C\83\8b\82»\82Ì\82à\82Ì\81v\82Ì2\83p\83^\81[\83\93\82 \82é\81B
- * \82±\82Ì\83N\83\89\83X\82Í\82±\82ê\82ç\82ð\82Ü\82Æ\82ß\82Ä\88µ\82¤\82½\82ß\82Ì\82à\82Ì\81B
+ * さきゅばすで扱うファイルは、「保存するディレクトリ」と、「保存されたファイルそのもの」の2パターンある。
+ * このクラスはこれらをまとめて扱うためのもの。
* @author yuki
*/
public class SFile {
private final File file;
/**
- * @param isFile \83t\83@\83C\83\8b\82Å\82 \82ê\82Îtrue, \83f\83B\83\8c\83N\83g\83\8a\82Å\82 \82ê\82Îfalse.
- * @param file \82±\82Ì\83I\83u\83W\83F\83N\83g\82ª\8e¦\82·File\83C\83\93\83X\83^\83\93\83X.
- * @throws IllegalArgumentException \91¶\8dÝ\82µ\82È\82¢\83f\83B\83\8c\83N\83g\83\8a\82ð\8ew\92è\82µ\82½. isFile\82ªtrue\82Ì\8fê\8d\87\81A\90e\83f\83B\83\8c\83N\83g\83\8a\82ª\91¶\8dÝ\82µ\82È\82¢\82Æ\82±\82Ì\97á\8aO\82Æ\82È\82é.
+ * @param isFile ファイルであればtrue, ディレクトリであればfalse.
+ * @param file このオブジェクトが示すFileインスタンス.
+ * @throws IllegalArgumentException 存在しないディレクトリを指定した. isFileがtrueの場合、親ディレクトリが存在しないとこの例外となる.
*/
public SFile(boolean isFile, File file) {
this.isFile = isFile;
dir = file;
}
if (!dir.isDirectory()) {
- throw new IllegalArgumentException("\83f\83B\83\8c\83N\83g\83\8a\82ª\91¶\8dÝ\82µ\82Ü\82¹\82ñ:" + dir);
+ throw new IllegalArgumentException("ディレクトリが存在しません:" + dir);
}
}
package saccubus.converter.profile;
/**
- * \83j\83R\83j\83R\93®\89æ\83\86\81[\83U\90Ý\92è.
+ * ニコニコ動画ユーザ設定.
* @author yuki
*/
public class User {
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class NicoClient {
} else {
ConProxy = Proxy.NO_PROXY;
}
- // \83\8d\83O\83C\83\93
+ // ログイン
Logged_in = login();
StopFlag = flag;
}
}
/**
- * \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é.
- * @param vi \83r\83f\83I\8fî\95ñ.
- * @param file \83_\83E\83\93\83\8d\81[\83h\90æ\83t\83@\83C\83\8b.
- * @param status \90i\92»\92Ê\92m\83\8a\83X\83i.
- * @return \83_\83E\83\93\83\8d\81[\83h\82³\82ê\82½\83t\83@\83C\83\8b. \83_\83E\83\93\83\8d\81[\83h\82Å\82«\82È\82¯\82ê\82Înull.
+ * 投稿者コメントをダウンロードする.
+ * @param vi ビデオ情報.
+ * @param file ダウンロード先ファイル.
+ * @param status 進捗通知リスナ.
+ * @return ダウンロードされたファイル. ダウンロードできなければnull.
*/
public File getTcomment(VideoInfo vi, final File file, final TextProgressListener status) {
return downloadComment("500", file, vi, status, true);
boolean isTcomm) throws NumberFormatException {
System.out.print("Downloading comment size:" + back_comment + "...");
try {
- if (file.canRead()) { // \83t\83@\83C\83\8b\82ª\82·\82Å\82É\91¶\8dÝ\82·\82é\82È\82ç\8dí\8f\9c\82·\82é\81B
+ if (file.canRead()) { // ファイルがすでに存在するなら削除する。
file.delete();
}
OutputStream fos = new FileOutputStream(file);
if (max_size != 0) {
String per = Double.toString((((double) size) * 100) / max_size);
per = per.substring(0, Math.min(per.indexOf(".") + 3, per.length()));
- status.setText("\83R\83\81\83\93\83g\83_\83E\83\93\83\8d\81[\83h\81F" + per + "\83p\81[\83Z\83\93\83g\8a®\97¹");
+ status.setText("コメントダウンロード:" + per + "パーセント完了");
} else {
- status.setText("\83R\83\81\83\93\83g\83_\83E\83\93\83\8d\81[\83h\92\86\81F" + Integer.toString(size >> 10) + "kbytes\83_\83E\83\93\83\8d\81[\83h");
+ status.setText("コメントダウンロード中:" + Integer.toString(size >> 10) + "kbytesダウンロード");
}
if (StopFlag.needStop()) {
System.out.println("Stopped.");
return null;
}
try {
-// if (file.canRead()) { // \83t\83@\83C\83\8b\82ª\82·\82Å\82É\91¶\8dÝ\82·\82é\82È\82ç\8dí\8f\9c\82·\82é\81B
+// if (file.canRead()) { // ファイルがすでに存在するなら削除する。
// file.delete();
// }
HttpURLConnection con = (HttpURLConnection) (new URL(vi.getVideoUrl()))
.openConnection(ConProxy);
- /* \8fo\97Í\82Ì\82Ý */
+ /* 出力のみ */
con.setDoInput(true);
con.setRequestMethod("GET");
con.addRequestProperty("Cookie", Cookie);
/ max_size);
per = per.substring(0, Math.min(per.indexOf(".") + 3, per
.length()));
- status.setText("\93®\89æ\83_\83E\83\93\83\8d\81[\83h\81F" + per + "\83p\81[\83Z\83\93\83g\8a®\97¹");
+ status.setText("動画ダウンロード:" + per + "パーセント完了");
} else {
- status.setText("\93®\89æ\83_\83E\83\93\83\8d\81[\83h\92\86\81F" + Integer.toString(size >> 10)
- + "kbytes\83_\83E\83\93\83\8d\81[\83h");
+ status.setText("動画ダウンロード中:" + Integer.toString(size >> 10)
+ + "kbytesダウンロード");
}
if (StopFlag.needStop()) {
System.out.println("Stopped.");
return null;
}
- /** @return \83r\83f\83I\96¼ */
+ /** @return ビデオ名 */
public String getVideoHistoryAndTitle(String tag) throws IOException {
String url = "http://www.nicovideo.jp/watch/" + tag;
System.out.print("Getting video history...");
String videoTitle = null;
HttpURLConnection con = (HttpURLConnection) (new URL(url)).openConnection(ConProxy);
- /* \83\8a\83N\83G\83X\83g\82Ì\90Ý\92è */
+ /* リクエストの設定 */
con.setRequestMethod("GET");
con.addRequestProperty("Cookie", Cookie);
con.addRequestProperty("Connection", "close");
int index = -1;
while ((ret = br.readLine()) != null && index < 0) {
if ((index = ret.indexOf(TITLE_PARSE_STR_START)) >= 0) {
- videoTitle = ret.substring(index + TITLE_PARSE_STR_START.length(), ret.indexOf("\81]", index));
+ videoTitle = ret.substring(index + TITLE_PARSE_STR_START.length(), ret.indexOf("‐", index));
videoTitle = FileUtil.safeFileName(videoTitle);
}
}
try {
HttpURLConnection con = (HttpURLConnection) (new URL(url))
.openConnection(ConProxy);
- /* \83\8a\83N\83G\83X\83g\82Ì\90Ý\92è */
+ /* リクエストの設定 */
con.setRequestMethod("GET");
con.addRequestProperty("Cookie", Cookie);
con.addRequestProperty("Connection", "close");
System.out.println("Can't get WayBackKey:" + url);
return false;
}
- /* \96ß\82è\92l\82Ì\8eæ\93¾ */
+ /* 戻り値の取得 */
BufferedReader br = new BufferedReader(new InputStreamReader(con
.getInputStream()));
ret = br.readLine();
HttpURLConnection con = (HttpsURLConnection) (new URL(
"https://secure.nicovideo.jp/secure/login?site=niconico"))
.openConnection(ConProxy);
- /* \8fo\97Í\82Ì\82Ý */
+ /* 出力のみ */
con.setDoOutput(true);
HttpURLConnection.setFollowRedirects(false);
con.setInstanceFollowRedirects(false);
Map<String, String> map = new HashMap<String, String>();
System.out.print("Getting video informations...");
HttpURLConnection con = (HttpURLConnection) (new URL(url)).openConnection(ConProxy);
- /* \83\8a\83N\83G\83X\83g\82Ì\90Ý\92è */
+ /* リクエストの設定 */
con.setRequestMethod("GET");
con.addRequestProperty("Cookie", Cookie);
con.addRequestProperty("Connection", "close");
if (con.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new IOException("Can't getVideoInfo:" + url);
}
- /* \96ß\82è\92l\82Ì\8eæ\93¾ */
+ /* 戻り値の取得 */
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
String ret = br.readLine();
br.close();
void setText(String text);
/**
- * TextProgressListener\82Ì\89½\82à\82µ\82È\82¢\83o\81[\83W\83\87\83\93\82Ì\8eÀ\91\95.
+ * TextProgressListenerの何もしないバージョンの実装.
*/
static final TextProgressListener EMPTY_LISTENER = new TextProgressListener() {
* @param msgUrl
* @param userId
* @param videoLength
- * @param officialOption null\82à\89Â.
+ * @param officialOption nullも可.
*/
VideoInfo(String videoTitle, String threadId, String videoUrl, String msgUrl, String userId, int videoLength,
OfficialOption officialOption) {
if (videoTitle == null || threadId == null || videoUrl == null || msgUrl == null || userId == null) {
- throw new IllegalArgumentException("video information\82Ì\8fî\95ñ\82ª\95s\90³\82Å\82·\81B");
+ throw new IllegalArgumentException("video informationの情報が不正です。");
}
this.videoTitle = videoTitle;
this.threadId = threadId;
public OfficialOption(String threadKey, String force184) {
if (threadKey == null || force184 == null) {
- throw new IllegalArgumentException("\8cö\8e®\93®\89æ\97p\83L\81[\82ª\95s\90³\82Å\82·");
+ throw new IllegalArgumentException("公式動画用キーが不正です");
}
this.threadKey = threadKey;
this.force184 = force184;
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class Prompt {
public static void main(String[] args) throws IOException {
- // \91æ1\88ø\90\94\82ª\83\81\81[\83\8b\83A\83h\83\8c\83X\82Æ\8ev\82µ\82«\8e\9e\82Í\90Ì\82Ì\88ø\90\94\82Å\82 \82é\82Æ\82Ý\82È\82µ\82Ä\83p\81[\83X\81A\8eÀ\8ds\82·\82é.
+ // 第1引数がメールアドレスと思しき時は昔の引数であるとみなしてパース、実行する.
if (args.length > 0 && args[0].contains("@")) {
doWithOldArguments(args);
return;
try {
boolean res = future.get().booleanValue();
if (!res) {
- throw new IOException("ffmpeg\95Ï\8a·\8f\88\97\9d\82ª\90³\8fí\82É\8fI\97¹\82µ\82Ü\82¹\82ñ\82Å\82µ\82½\81B");
+ throw new IOException("ffmpeg変換処理が正常に終了しませんでした。");
}
} catch (Exception ex) {
- throw new IOException("\8eæ\93¾\8e¸\94s", ex);
+ throw new IOException("取得失敗", ex);
}
System.out.println("Finished.");
}
private Options createOptions(String[] args) {
Options options = new Options();
-// Option id = OptionBuilder.withArgName("mail").hasArg().withDescription("\83j\83R\83j\83R\93®\89æ\83\8d\83O\83C\83\93ID(\83\81\81[\83\8b\83A\83h\83\8c\83X)").create("id");
-// Option password = OptionBuilder.withArgName("password").hasArg().withDescription("\83j\83R\83j\83R\93®\89æ\83\8d\83O\83C\83\93\83p\83X\83\8f\81[\83h").
+// Option id = OptionBuilder.withArgName("mail").hasArg().withDescription("ニコニコ動画ログインID(メールアドレス)").create("id");
+// Option password = OptionBuilder.withArgName("password").hasArg().withDescription("ニコニコ動画ログインパスワード").
// create("password");
-// Option video = OptionBuilder.withArgName("id").hasArg().withDescription("\83j\83R\83j\83R\93®\89æ\83r\83f\83IID").create("video");
- Option videoFile = OptionBuilder.withArgName("file").hasArg().withDescription("\93®\89æ\83t\83@\83C\83\8b").create("file_video");
- Option commentFile = OptionBuilder.withArgName("file").hasArg().withDescription("\83R\83\81\83\93\83g\83t\83@\83C\83\8b").
+// Option video = OptionBuilder.withArgName("id").hasArg().withDescription("ニコニコ動画ビデオID").create("video");
+ Option videoFile = OptionBuilder.withArgName("file").hasArg().withDescription("動画ファイル").create("file_video");
+ Option commentFile = OptionBuilder.withArgName("file").hasArg().withDescription("コメントファイル").
create("file_comment");
- Option tcommentFile = OptionBuilder.withArgName("file").hasArg().withDescription("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\83t\83@\83C\83\8b").
+ Option tcommentFile = OptionBuilder.withArgName("file").hasArg().withDescription("投稿者コメントファイル").
create("file_tcomment");
- Option outputFile = OptionBuilder.withArgName("file").hasArg().withDescription("\8fo\97Í\83t\83@\83C\83\8b").create("file_output");
- Option ffmpeg = OptionBuilder.withArgName("option").hasArg().withDescription("ffmpeg\95Ï\8a·\83I\83v\83V\83\87\83\93").create("ffmpeg");
+ Option outputFile = OptionBuilder.withArgName("file").hasArg().withDescription("出力ファイル").create("file_output");
+ Option ffmpeg = OptionBuilder.withArgName("option").hasArg().withDescription("ffmpeg変換オプション").create("ffmpeg");
// options.addOption(id);
// options.addOption(password);
// options.addOption(video);
}
/**
- * \90Ì\82Ì\88ø\90\94\8c`\8e®\82Å\83v\83\8d\83O\83\89\83\80\82ð\8eÀ\8ds\82·\82é.
+ * 昔の引数形式でプログラムを実行する.
*/
private static void doWithOldArguments(String[] args) throws IOException {
String mail = args[0];
import saccubus.converter.profile.User;
/**
- * \8aî\96{\90Ý\92è.
+ * 基本設定.
* @author yuki
*/
public class BasicSetting {
import saccubus.converter.profile.NgSetting;
/**
- * \95Ï\8a·\90Ý\92è.
+ * 変換設定.
* @author yuki
*/
public class ConvertSetting {
String defaultFont = "";
String win_dir = System.getenv("windir");
if (win_dir != null) {
- //windows \82Ì\8fê\8d\87\82Ì\83f\83t\83H\83\8b\83g\83t\83H\83\93\83g\83p\83X
+ //windows の場合のデフォルトフォントパス
defaultFont = new File(win_dir, "Fonts" + File.separator + "msgothic.ttc").getPath();
}
import java.util.Properties;
/**
- * \93ü\97Í\83R\83\81\83\93\83g\90Ý\92è.
+ * 入力コメント設定.
* @author yuki
*/
public class InputCommentSetting extends InputFileSetting<Boolean> {
- /** \83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é. */
+ /** コメントをダウンロードする. */
private static final String PROP_SAVE_COMMENT = "SaveCommentFile";
- /** \95Ï\8a·\8cã\82É\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é. */
+ /** 変換後にコメントファイルを削除する. */
private static final String PROP_DEL_COMMENT_AFTER_CONV = "DeleteCommentAfterConv";
- /** \83R\83\81\83\93\83g\8eæ\93¾\90\94\82Í\8e©\93®\82Å\92²\90®\82·\82é. */
+ /** コメント取得数は自動で調整する. */
private static final String PROP_FIX_COMMENT_NUM = "FixCommentSize";
- /** \8eæ\93¾\83R\83\81\83\93\83g\90\94. */
+ /** 取得コメント数. */
private static final String PROP_BACK_COMMENT = "BackComment";
- /** \83t\83H\83\8b\83_/\83t\83@\83C\83\8b\95Û\91¶\91I\91ð\83\89\83W\83I\83{\83^\83\93. */
+ /** フォルダ/ファイル保存選択ラジオボタン. */
private static final String PROP_COMMENT_FIX_FILE_NAME = "CommentFixFileName";
- /** \83t\83H\83\8b\83_\96¼. */
+ /** フォルダ名. */
private static final String PROP_COMMENT_FOLDER = "CommentFixFileNameFolder";
- /** \83t\83@\83C\83\8b\96¼. */
+ /** ファイル名. */
private static final String PROP_COMMENT_FILE = "CommentFile";
private final boolean selfAdjustNumOfComment;
private final int numOfComment;
import java.io.File;
/**
- * \93ü\97Í\83t\83@\83C\83\8b\90Ý\92è\82Ì\82½\82ß\82Ì\83X\81[\83p\83N\83\89\83X.
+ * 入力ファイル設定のためのスーパクラス.
* @author yuki
*/
public abstract class InputFileSetting<T> extends ProcessFileSetting<T> {
private final boolean deleteAfterConvert;
/**
- * \93ü\97Í\83t\83@\83C\83\8b\90Ý\92è\82Ì\82½\82ß\82Ì\83X\81[\83p\83N\83\89\83X.
- * @param processKind \83_\83E\83\93\83\8d\81[\83h\82·\82é\82Ì\82Å\82 \82ê\82Îtrue, \83\8d\81[\83J\83\8b\83t\83@\83C\83\8b\82ð\97p\82¢\82é\82Ì\82Å\82 \82ê\82Îfalse.
- * @param autoNaming \83t\83H\83\8b\83_\96¼\82Ì\82Ý\82ð\8ew\92è\82µ\82Ä\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\96½\96¼/\8e©\93®\8c\9f\8dõ\82·\82é\82Ì\82Å\82 \82ê\82Îtrue,
- * \83t\83@\83C\83\8b\96¼\82Ü\82Å\8ew\92è\82·\82é\82Ì\82Å\82 \82ê\82Îfalse.
- * @param folder \89æ\96Ê\82Å\93ü\97Í\82µ\82½\83t\83H\83\8b\83_\96¼. autoNaming\82ªtrue\82Ì\8fê\8d\87\82É\97p\82¢\82ç\82ê\82é.
- * @param file \89æ\96Ê\82Å\93ü\97Í\82µ\82½\83t\83@\83C\83\8b\96¼. autoNaming\82ªfalse\82Ì\8fê\8d\87\82É\97p\82¢\82ç\82ê\82é.
- * @param deleteAfterConvert \95Ï\8a·\8f\88\97\9d\8cã\82É\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é\82Ì\82Å\82 \82ê\82Îtrue.
+ * 入力ファイル設定のためのスーパクラス.
+ * @param processKind ダウンロードするのであればtrue, ローカルファイルを用いるのであればfalse.
+ * @param autoNaming フォルダ名のみを指定してファイル名は自動命名/自動検索するのであればtrue,
+ * ファイル名まで指定するのであればfalse.
+ * @param folder 画面で入力したフォルダ名. autoNamingがtrueの場合に用いられる.
+ * @param file 画面で入力したファイル名. autoNamingがfalseの場合に用いられる.
+ * @param deleteAfterConvert 変換処理後にファイルを削除するのであればtrue.
*/
public InputFileSetting(T processKind, boolean autoNaming, File folder,
File file, boolean deleteAfterConvert) {
import java.util.Properties;
/**
- * \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82É\8aÖ\82·\82é\90Ý\92è.
+ * 投稿者コメントに関する設定.
* @author yuki
*/
public class InputTcommentSetting extends InputFileSetting<Boolean> {
/**
- * \81u\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g\81v\83p\83l\83\8b\82Ì\90Ý\92è.
- * @param download \83_\83E\83\93\83\8d\81[\83h\82·\82é\95K\97v\82ª\82 \82ê\82Îtrue. \83\8d\81[\83J\83\8b\82É\82 \82é\83t\83@\83C\83\8b\82ð\97p\82¢\82é\82Ì\82Å\82 \82ê\82Îfalse.
- * @param inputDirectory \83\86\81[\83U\82ª\81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h\82É\93ü\97Í\82µ\82½\92l.
- * @param inputFile \83\86\81[\83U\82ª\81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\83e\83L\83X\83g\83t\83B\81[\83\8b\83h\82É\93ü\97Í\82µ\82½\92l.
- * @param delete \8f\88\97\9d\8fI\97¹\8cã\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é\82Ì\82Å\82 \82ê\82Îtrue. \8ec\82µ\82½\82Ü\82Ü\82Å\82 \82ê\82Îfalse.
+ * 「入力投稿者コメント」パネルの設定.
+ * @param download ダウンロードする必要があればtrue. ローカルにあるファイルを用いるのであればfalse.
+ * @param inputDirectory ユーザが「保存するフォルダを指定し、ファイル名は自動で決定する」テキストフィールドに入力した値.
+ * @param inputFile ユーザが「保存するファイル名を指定する」テキストフィールドに入力した値.
+ * @param delete 処理終了後ファイルを削除するのであればtrue. 残したままであればfalse.
*/
public InputTcommentSetting(boolean download, boolean autoFileName, String inputDirectory, String inputFile,
boolean delete) {
import saccubus.VideoSaveKind;
/**
- * \93ü\97Í\93®\89æ\90Ý\92è\82ð\95Û\8e\9d\82·\82é\83N\83\89\83X.
+ * 入力動画設定を保持するクラス.
* @author yuki
*/
public class InputVideoSetting extends InputFileSetting<VideoSaveKind> {
return new InputVideoSetting(kind, autoNaming, new File(folder), new File(file), delete, new File(nibrFile));
}
- /** \96{\89Æ\82³\82«\82ã\82Î\82·\82Å\95Û\91¶\82µ\82Ä\82¢\82½\8fê\8d\87\81APROP_SAVE_VIDEO\82Ítrue/false\82È\82Ì\82Å\95Ï\8a·\82·\82é. */
+ /** 本家さきゅばすで保存していた場合、PROP_SAVE_VIDEOはtrue/falseなので変換する. */
private static VideoSaveKind convertVideoSaveKind(Properties prop) {
VideoSaveKind kind;
String saveVideo = prop.getProperty(PROP_SAVE_VIDEO);
import saccubus.converter.profile.FfmpegOption;
/**
- * \93®\89æ\90Ý\92è.
+ * 動画設定.
* @author yuki
*/
public class MovieSetting {
import java.util.Properties;
/**
- * \8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\82É\8aÖ\82·\82é\90Ý\92è.
+ * 出力コメント付き動画に関する設定.
* @author yuki
*/
public class OutputVideoSetting extends ProcessFileSetting<Boolean> {
/**
*
- * @param processKind \95Ï\8a·\8f\88\97\9d\82ð\8ds\82¤\82Ì\82Å\82 \82ê\82Îtrue.
- * @param cutIdName \8fo\97Í\96¼\82É\93®\89æID\82ð\82Â\82¯\82È\82¢\82Ì\82Å\82 \82ê\82Îtrue. autoNaming\82ªtrue\82Ì\8fê\8d\87\82É\97p\82¢\82ç\82ê\82é.
- * @param addComment \95Ï\8a·\8f\88\97\9d\8e\9e, \83R\83\81\83\93\83g\82ð\95t\89Á\82·\82é\82Ì\82Å\82 \82ê\82Îtrue.
- * @param addTcomment \95Ï\8a·\8f\88\97\9d\8e\9e, \93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\95t\89Á\82·\82é\82Ì\82Å\82 \82ê\82Îtrue.
+ * @param processKind 変換処理を行うのであればtrue.
+ * @param cutIdName 出力名に動画IDをつけないのであればtrue. autoNamingがtrueの場合に用いられる.
+ * @param addComment 変換処理時, コメントを付加するのであればtrue.
+ * @param addTcomment 変換処理時, 投稿者コメントを付加するのであればtrue.
*/
public OutputVideoSetting(boolean processKind, boolean autoNaming, File folder, File file, boolean cutIdName,
boolean addComment, boolean addTcomment) {
import java.util.Properties;
/**
- * \8f\88\97\9d\91Î\8fÛ\83t\83@\83C\83\8b\90Ý\92è\82Ì\82½\82ß\82Ì\83X\81[\83p\83N\83\89\83X.
+ * 処理対象ファイル設定のためのスーパクラス.
* @author yuki
*/
public abstract class ProcessFileSetting<T> {
private final File file;
/**
- * \8f\88\97\9d\91Î\8fÛ\83t\83@\83C\83\8b\90Ý\92è\82Ì\82½\82ß\82Ì\83X\81[\83p\83N\83\89\83X.
- * @param processKind \8f\88\97\9d\82·\82é\8eí\97Þ\82ð\90Ý\92è\82·\82é.
- * \91Î\8fÛ\83t\83@\83C\83\8b\82É\82æ\82è\88Ó\96¡\82Í\88Ù\82È\82é\82ª, \93ü\97Í\83t\83@\83C\83\8b\82Å\82Í\83_\83E\83\93\83\8d\81[\83h\82·\82é\82Ì\82Å\82 \82ê\82Îtrue,
- * \8fo\97Í\83t\83@\83C\83\8b\82Å\82 \82ê\82Î\95Ï\8a·\82·\82é(\8fo\97Í\82·\82é)\82Ì\82Å\82 \82ê\82Îtrue, \82Æ\82¢\82¤\82æ\82¤\82É\97p\82¢\82é.
- * @param autoNaming \83t\83H\83\8b\83_\96¼\82Ì\82Ý\82ð\8ew\92è\82µ\82Ä\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\96½\96¼/\8e©\93®\8c\9f\8dõ\82·\82é\82Ì\82Å\82 \82ê\82Îtrue,
- * \83t\83@\83C\83\8b\96¼\82Ü\82Å\8ew\92è\82·\82é\82Ì\82Å\82 \82ê\82Îfalse.
- * @param folder \89æ\96Ê\82Å\93ü\97Í\82µ\82½\83t\83H\83\8b\83_\96¼. autoNaming\82ªtrue\82Ì\8fê\8d\87\82É\97p\82¢\82ç\82ê\82é.
- * @param file \89æ\96Ê\82Å\93ü\97Í\82µ\82½\83t\83@\83C\83\8b\96¼. autoNaming\82ªfalse\82Ì\8fê\8d\87\82É\97p\82¢\82ç\82ê\82é.
+ * 処理対象ファイル設定のためのスーパクラス.
+ * @param processKind 処理する種類を設定する.
+ * 対象ファイルにより意味は異なるが, 入力ファイルではダウンロードするのであればtrue,
+ * 出力ファイルであれば変換する(出力する)のであればtrue, というように用いる.
+ * @param autoNaming フォルダ名のみを指定してファイル名は自動命名/自動検索するのであればtrue,
+ * ファイル名まで指定するのであればfalse.
+ * @param folder 画面で入力したフォルダ名. autoNamingがtrueの場合に用いられる.
+ * @param file 画面で入力したファイル名. autoNamingがfalseの場合に用いられる.
*/
public ProcessFileSetting(T processKind, boolean autoNaming, File folder, File file) {
this.processKind = processKind;
}
/**
- * @return \81u\95Û\91¶\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é\81v\82Ì\82Å\82 \82ê\82Îtrue.
- * \81u\95Û\91¶\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é\81v\82Ì\82Å\82 \82ê\82Îfalse.
+ * @return 「保存するフォルダを指定し、ファイル名は自動で決定する」のであればtrue.
+ * 「保存するファイル名を指定する」のであればfalse.
*/
public final boolean isAutoNaming() {
return autoNaming;
/**
* <p>
- * \83^\83C\83g\83\8b: \82³\82«\82ã\82Î\82·
+ * タイトル: さきゅばす
* </p>
*
* <p>
- * \90à\96¾: \83j\83R\83j\83R\93®\89æ\82Ì\93®\89æ\82ð\83R\83\81\83\93\83g\82Â\82«\82Å\95Û\91¶
+ * 説明: ニコニコ動画の動画をコメントつきで保存
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2007 PSI
+ * 著作権: Copyright (c) 2007 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼:
+ * 会社名:
* </p>
*
- * @author \96¢\93ü\97Í
+ * @author 未入力
* @version 1.0
*/
public class SProperties {
private static final String PROP_FILE = "./saccubus.xml";
public static final String[] ShadowKindArray = {
- "00:\82È\82µ",
- "01:\83j\83R\83j\83R\93®\89æ\95\97",
- "02:\89E\89º",
- "03:\88Í\82¢\8d\9e\82Ý"
+ "00:なし",
+ "01:ニコニコ動画風",
+ "02:右下",
+ "03:囲い込み"
};
private final BasicSetting basicSetting;
private final InputVideoSetting inputVideoSetting;
private InputFileSetting buildVideoSetting() {
final InputVideoSetting setting = getInputVideoSetting();
- // Nicobrowser\83_\83E\83\93\83\8d\81[\83h\83t\83@\83C\83\8b\82Ì\8fê\8d\87\82Í\8fí\82É\83t\83@\83C\83\8b\8ew\92è.
+ // Nicobrowserダウンロードファイルの場合は常にファイル指定.
final boolean isFile = (!setting.isAutoNaming() || setting.getProcessKind() == VideoSaveKind.NICOBROWSER);
File video;
if (setting.getProcessKind() == VideoSaveKind.NICOBROWSER) {
}
}
final SFile videoFile = new SFile(isFile, video);
- // Nicobrowser\83_\83E\83\93\83\8d\81[\83h\83t\83@\83C\83\8b\82Í\8dí\8f\9c\91Î\8fÛ\82É\82È\82ç\82È\82¢.
+ // Nicobrowserダウンロードファイルは削除対象にならない.
boolean delete = setting.isDeleteAfterConvert() && (setting.getProcessKind() != VideoSaveKind.NICOBROWSER);
return new InputFileSetting(videoFile, (setting.getProcessKind() == VideoSaveKind.SAVE), delete);
try {
fo = FfmpegOption.load(movie.getOptionFile());
} catch (IOException ex) {
- throw new IOException("\83I\83v\83V\83\87\83\93\83t\83@\83C\83\8b\82Ì\8f\91\8e®\82ª\8cë\82Á\82Ä\82¢\82Ü\82·\81F" + movie.getOptionFile().getName(), ex);
+ throw new IOException("オプションファイルの書式が誤っています:" + movie.getOptionFile().getName(), ex);
}
}
/**
- * \83h\83\89\83b\83N\81E\83A\83\93\83h\81E\83h\83\8d\83b\83v\82ð\8eÀ\8c»\82·\82é\82½\82ß\82Ì\83N\83\89\83X\81B
+ * ドラック・アンド・ドロップを実現するためのクラス。
*/
package saccubus.util;
/**
- * \83t\83@\83C\83\8b\82É\8aÖ\82·\82é\83\86\81[\83e\83B\83\8a\83e\83B
+ * ファイルに関するユーティリティ
*/
package saccubus.util;
public class FileUtil {
private static Pattern safeFileName_SPACE = Pattern.compile(" {2}+");
public static String safeFileName(String str) {
- //\8eÀ\91Ì\8eQ\8fÆ\82Ì\83p\81[\83X
+ //実体参照のパース
int old_index = 0;
int new_index = 0;
StringBuffer sb = new StringBuffer();
sb.append(new String(new char[]{(char) Integer.parseInt(ch)}));
old_index++;
}
- //\8dÅ\8cã\82É\92Ç\89Á
+ //最後に追加
sb.append(str,old_index,str.length());
str = sb.toString();
- //\83t\83@\83C\83\8b\83V\83X\83e\83\80\82Å\88µ\82¦\82é\8c`\82É
- str = str.replace('/', '\81^');
- str = str.replace('\\', '\81\8f');
- str = str.replace('?', '\81H');
- str = str.replace('*', '\81\96');
- str = str.replace(':', '\81F');
- str = str.replace('|', '\81b');
- str = str.replace('\"', '\81h');
- str = str.replace('<', '\81\83');
- str = str.replace('>', '\81\84');
- str = str.replace('.', '\81D');
+ //ファイルシステムで扱える形に
+ str = str.replace('/', '/');
+ str = str.replace('\\', '¥');
+ str = str.replace('?', '?');
+ str = str.replace('*', '*');
+ str = str.replace(':', ':');
+ str = str.replace('|', '|');
+ str = str.replace('\"', '”');
+ str = str.replace('<', '<');
+ str = str.replace('>', '>');
+ str = str.replace('.', '.');
str = safeFileName_SPACE.matcher(str).replaceAll(" ");
return str;
}
/**
- * IO\82É\8aÖ\82·\82é\83\86\81[\83e\83B\83\8a\83e\83B\81B
+ * IOに関するユーティリティ。
*/
package saccubus.util;
*/
public class IOUtil {
/*
- * OutputStream\82Ö\83f\81[\83^\82ð\8f\91\82«\8d\9e\82Þ
+ * OutputStreamへデータを書き込む
*/
public static void writeInt(OutputStream os, int i) throws IOException {
- // \83\8a\83g\83\8b\83G\83\93\83f\83B\83A\83\93
+ // リトルエンディアン
os.write((i >> 0) & 0xff);
os.write((i >> 8) & 0xff);
os.write((i >> 16) & 0xff);
/**
- * \89E\83N\83\8a\83b\83N\83\81\83j\83\85\81[\8dì\90¬\97p\81B
- * 2005\94N\82©\81[\81B\82¸\82¢\82Ô\82ñ\91O\82Ì\82ð\97¬\97p\82µ\82Ä\82é\82ñ\82¾\82È\82 \81B
+ * 右クリックメニュー作成用。
+ * 2005年かー。ずいぶん前のを流用してるんだなあ。
*/
package saccubus.util;
/**
* <p>
- * \83^\83C\83g\83\8b: \83|\83P\83\82\83\93\83Z\81[\83u\83f\81[\83^\83G\83f\83B\83^ for GBA
+ * タイトル: ポケモンセーブデータエディタ for GBA
* </p>
*
* <p>
- * \90à\96¾:
+ * 説明:
* </p>
*
* <p>
- * \92\98\8dì\8c : Copyright (c) 2005 PSI
+ * 著作権: Copyright (c) 2005 PSI
* </p>
*
* <p>
- * \89ï\8eÐ\96¼: \83Õ\81i\83v\83T\83C\81j\82Ì\8b»\96¡\8aÖ\90S\8bó\8aÔ
+ * 会社名: ψ(プサイ)の興味関心空間
* </p>
*
* @author PSI
public PopupRightClick(JTextComponent owner) {
this.Owner = owner;
- popup = new JPopupMenu("\83\81\83j\83\85\81[");
- CopyMenu = new JMenuItem("\83R\83s\81[(CTRL + C)");
+ popup = new JPopupMenu("メニュー");
+ CopyMenu = new JMenuItem("コピー(CTRL + C)");
CopyMenu.setActionCommand(Actin_Copy);
CopyMenu.addActionListener(this);
popup.add(CopyMenu);
- CutMenu = new JMenuItem("\90Ø\82è\8eæ\82è(CTRL + X)");
+ CutMenu = new JMenuItem("切り取り(CTRL + X)");
CutMenu.setActionCommand(Actin_Cut);
CutMenu.addActionListener(this);
popup.add(CutMenu);
- PasteMenu = new JMenuItem("\93\\82è\95t\82¯(CTRL + V)");
+ PasteMenu = new JMenuItem("貼り付け(CTRL + V)");
PasteMenu.setActionCommand(Actin_Paste);
PasteMenu.addActionListener(this);
popup.add(PasteMenu);
*
* @param e
* MouseEvent
- * @todo \82±\82Ì java.awt.event.MouseListener \83\81\83\\83b\83h\82ð\8eÀ\91\95
+ * @todo この java.awt.event.MouseListener メソッドを実装
*/
public void mouseClicked(MouseEvent e) {
}
*
* @param e
* MouseEvent
- * @todo \82±\82Ì java.awt.event.MouseListener \83\81\83\\83b\83h\82ð\8eÀ\91\95
+ * @todo この java.awt.event.MouseListener メソッドを実装
*/
public void mouseEntered(MouseEvent e) {
}
*
* @param e
* MouseEvent
- * @todo \82±\82Ì java.awt.event.MouseListener \83\81\83\\83b\83h\82ð\8eÀ\91\95
+ * @todo この java.awt.event.MouseListener メソッドを実装
*/
public void mouseExited(MouseEvent e) {
pressed = false;
*
* @param e
* MouseEvent
- * @todo \82±\82Ì java.awt.event.MouseListener \83\81\83\\83b\83h\82ð\8eÀ\91\95
+ * @todo この java.awt.event.MouseListener メソッドを実装
*/
public void mousePressed(MouseEvent e) {
pressed = true;
*
* @param e
* MouseEvent
- * @todo \82±\82Ì java.awt.event.MouseListener \83\81\83\\83b\83h\82ð\8eÀ\91\95
+ * @todo この java.awt.event.MouseListener メソッドを実装
*/
public void mouseReleased(MouseEvent e) {
- // \89E\83N\83\8a\83b\83N\82Ì\8e\9e\82¾\82¯\82Ì\98b
+ // 右クリックの時だけの話
if (pressed && SwingUtilities.isRightMouseButton(e)) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
}
/**
- * \82±\82Á\82¿\82ÍPopupMenu
+ * こっちはPopupMenu
*
* @param e
* ActionEvent
- * @todo \82±\82Ì java.awt.event.ActionListener \83\81\83\\83b\83h\82ð\8eÀ\91\95
+ * @todo この java.awt.event.ActionListener メソッドを実装
*/
public void actionPerformed(ActionEvent e) {
String ActionCommand = e.getActionCommand();
- if (ActionCommand.equals(Actin_Cut)) { // \83J\83b\83g
+ if (ActionCommand.equals(Actin_Cut)) { // カット
Owner.cut();
- } else if (ActionCommand.equals(Actin_Copy)) { // \83R\83s\81[
+ } else if (ActionCommand.equals(Actin_Copy)) { // コピー
Owner.copy();
- } else if (ActionCommand.equals(Actin_Paste)) { // \93\\82è\95t\82¯
+ } else if (ActionCommand.equals(Actin_Paste)) { // 貼り付け
Owner.paste();
}
}
package yukihane;
/**
- * nicobrowser.util.Util\82æ\82è, \95K\97v\82È\82à\82Ì\82ð\83s\83b\83N\83A\83b\83v\82µ\82½\83N\83\89\83X.
+ * nicobrowser.util.Utilより, 必要なものをピックアップしたクラス.
* @author yuki
*/
public class Util {
/**
- * Content-Type \82©\82ç\8ag\92£\8eq\82ð\8c\88\92è\82·\82é.
- * @param contentType Content-Type\95¶\8e\9a\97ñ.
- * @return \90\84\91ª\82³\82ê\82é\8ag\92£\8eq.
+ * Content-Type から拡張子を決定する.
+ * @param contentType Content-Type文字列.
+ * @return 推測される拡張子.
*/
public static String getExtention(String contentType) {
if ("video/flv".equals(contentType) || "video/x-flv".equals(contentType)) {
return instance;
}
/**
- * \83t\83@\83C\83\8b\96¼\82©\82çDB\82ð\8c\9f\8dõ\82·\82é.
- * @param fileName \83t\83@\83C\83\8b\96¼.
- * @return \83R\83\93\83e\83\93\83c\8fî\95ñ. \88ê\92v\82·\82é\82à\82Ì\82ª\96³\82¯\82ê\82Înull.
+ * ファイル名からDBを検索する.
+ * @param fileName ファイル名.
+ * @return コンテンツ情報. 一致するものが無ければnull.
*/
public NicoContent findNicoContent(String fileName) {
EntityManager manager = factory.createEntityManager();
setParameter(1, baseName);
List<NicoContent> results = query.getResultList();
if (results.size() > 1) {
- Logger.getLogger(getClass().getName()).log(Level.WARNING, "\93¯\88ê\83t\83@\83C\83\8b\96¼\82Ì\83t\83@\83C\83\8b\82ª\95¡\90\94\82 \82è\82Ü\82µ\82½");
+ Logger.getLogger(getClass().getName()).log(Level.WARNING, "同一ファイル名のファイルが複数ありました");
}
if (results.isEmpty()) {
private static final String FWS = "FWS";
/**
- * \88³\8fkSWF\82©\82Ç\82¤\82©\94»\92è\82·\82é.
- * @param file \94»\92è\91Î\8fÛ.
- * @return \88³\8fkSWF\82Å\82 \82ê\82Îtrue.
+ * 圧縮SWFかどうか判定する.
+ * @param file 判定対象.
+ * @return 圧縮SWFであればtrue.
*/
public static boolean isCws(File file) {
BufferedInputStream bis = null;
}
/**
- * \88³\8fkSWF\82ð\93W\8aJ\82·\82é.
- * @param in \93W\8aJ\91Î\8fÛ.
- * @return \93W\8aJ\8cã\82Ì\83t\83@\83C\83\8b. \91Î\8fÛ\82ª\88³\8fkSWF\82Å\82È\82¯\82ê\82Înull.
+ * 圧縮SWFを展開する.
+ * @param in 展開対象.
+ * @return 展開後のファイル. 対象が圧縮SWFでなければnull.
*/
public static File createFws(File in, File out) {
if (!isCws(in)) {
byte buffer[] = new byte[1024];
bis = new BufferedInputStream(new FileInputStream(in));
bis.read(buffer, 0, CWS.length()); // CWS
- bis.read(buffer, 0, 5); // \82»\82Ì\91¼\83w\83b\83_
+ bis.read(buffer, 0, 5); // その他ヘッダ
bos = new BufferedOutputStream(new FileOutputStream(out));
bos.write(FWS.getBytes());
public void testMailAddress() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+ window.tabbedPane("mainTabbedPane").selectTab("基本設定");
window.textBox("mailAddressField").enterText("mail@example.com");
SProperties.saveSetting(getProperties());
}
public void testPassword() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+ window.tabbedPane("mainTabbedPane").selectTab("基本設定");
window.textBox("passwordField").enterText("pass word input");
SProperties.saveSetting(getProperties());
}
public void testUseProxy() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+ window.tabbedPane("mainTabbedPane").selectTab("基本設定");
window.checkBox("useProxyCheckBox").check();
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+ window.tabbedPane("mainTabbedPane").selectTab("基本設定");
window.checkBox("useProxyCheckBox").uncheck();
SProperties.saveSetting(getProperties());
}
public void testProxyHost() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+ window.tabbedPane("mainTabbedPane").selectTab("基本設定");
window.textBox("proxyTextField").enterText("proxy.example.com");
SProperties.saveSetting(getProperties());
}
public void testProxyPort() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+ window.tabbedPane("mainTabbedPane").selectTab("基本設定");
window.textBox("proxyPortTextField").enterText("8090");
SProperties.saveSetting(getProperties());
}
public void testMovieSouce() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力動画");
window.radioButton("videoUseNiBrButton").check();
window.textBox("nibrFileField").enterText("nibr_file.mp4");
window.radioButton("videoNoSaveButton").check();
window.textBox("videoSavedFileField").selectAll().enterText("C:\\movie_file.flv");
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力動画");
window.radioButton("videoSaveButton").check();
window.checkBox("delVideoCheckBox").click();
window.textBox("videoSavedFolderField").selectAll().enterText("C:\\works\\movie");
window.textBox("videoSavedFileField").selectAll().enterText("C:\\movie_file\\file.flv");
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力動画");
window.checkBox("delVideoCheckBox").click();
window.textBox("videoSavedFolderField").deleteText();
window.textBox("videoSavedFileField").deleteText();
public void testMovieSouce2() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力動画");
window.radioButton("saveFolderRadioButton").check();
window.textBox("videoSavedFolderField").selectAll().enterText("folder\\");
window.textBox("videoSavedFileField").selectAll().enterText("file.flv");
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力動画");
window.radioButton("saveFileRadioButton").check();
window.textBox("videoSavedFolderField").selectAll().enterText("folder1\\folder2\\");
window.textBox("videoSavedFileField").selectAll().enterText("folder\\file.flv");
public void testMovieSourceFolderButton() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力動画");
window.button("showSavingVideoFolderDialogButton").click();
JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
File folder = new File("F:\\docs\\NetBeansProjects");
public void testMovieSourceFileButton() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力動画");
window.button("showSavingVideoFileDialogButton").click();
JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
File folder = new File("F:\\docs\\NetBeansProjects\\saccubus_frontend\\[out]video\\aa.flv");
public void testDownloadComment() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.checkBox("savingCommentCheckBox").check();
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.checkBox("savingCommentCheckBox").uncheck();
SProperties.saveSetting(getProperties());
}
public void testDeleteComment() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.checkBox("delCommentCheckBox").check();
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.checkBox("delCommentCheckBox").uncheck();
SProperties.saveSetting(getProperties());
}
public void testCommentDownloadNum() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.checkBox("fixCommentNumCheckBox").check();
window.textBox("commentNumField").selectAll().enterText("100");
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.checkBox("fixCommentNumCheckBox").uncheck();
window.radioButton("commentSaveFolderRadioButton").check();
window.textBox("commentNumField").deleteText();
public void testCommentDownloadFolder() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.radioButton("commentSaveFolderRadioButton").check();
window.textBox("commentSavedFolderField").selectAll().enterText("c:\\comment\\");
window.textBox("commentSavedFileField").selectAll().enterText("c:\\comment\\file.xml");
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.radioButton("commentSaveFileRadioButton").check();
window.textBox("commentSavedFolderField").selectAll().enterText("comment");
window.textBox("commentSavedFileField").selectAll().enterText("file.xml");
public void testCommentFolderButton() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.button("showSavingCommentFolderDialogButton").click();
JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
File folder = new File("F:\\docs\\NetBeansProjects");
public void testCommentFileButton() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
window.button("showSavingCommentFileDialogButton").click();
JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
File folder = new File("F:\\docs\\NetBeansProjects\\comment.xml");
public void testDownloadTcomment() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力投稿者コメント");
window.checkBox("needDownloadTcomment").check();
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力投稿者コメント");
window.checkBox("needDownloadTcomment").uncheck();
SProperties.saveSetting(getProperties());
}
public void testDeleteTcomment() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力投稿者コメント");
window.checkBox("delTcomment").check();
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力投稿者コメント");
window.checkBox("delTcomment").uncheck();
SProperties.saveSetting(getProperties());
}
public void testTcommentDownloadFolder() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力投稿者コメント");
window.radioButton("tcommentSaveInFolder").check();
window.textBox("tcommentFolder").selectAll().enterText("c:\\comment\\");
window.textBox("tcommentFile").selectAll().enterText("c:\\comment\\file.xml");
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力投稿者コメント");
window.radioButton("tcommentSaveToFile").check();
window.textBox("tcommentFolder").selectAll().enterText("comment");
window.textBox("tcommentFile").selectAll().enterText("file.xml");
public void testTcommentFolderButton() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力投稿者コメント");
window.button("tcoomentFolderChooserButton").click();
JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
File folder = new File("F:\\docs\\NetBeansProjects\\saccubus_frontend\\src");
public void testTcommentFileButton() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力投稿者コメント");
window.button("tcommentFileChooserButton").click();
JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
File folder = new File("F:\\docs\\NetBeansProjects\\tcomment.xml");
public void testConvertVideo() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.checkBox("savingConvertedVideoCheckBox").uncheck();
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.checkBox("savingConvertedVideoCheckBox").check();
SProperties.saveSetting(getProperties());
}
public void testAddComment() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.checkBox("addComment").uncheck();
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.checkBox("addComment").check();
SProperties.saveSetting(getProperties());
}
public void testAddTcomment() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.checkBox("addTcomment").uncheck();
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.checkBox("addTcomment").check();
SProperties.saveSetting(getProperties());
}
public void testNoAddId() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.checkBox("notAddVideoIdConvVideoCheckBox").uncheck();
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.checkBox("notAddVideoIdConvVideoCheckBox").check();
SProperties.saveSetting(getProperties());
}
public void testConvertedVideoSavePlace() {
Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.radioButton("convSaveFolderRadioButton").check();
window.textBox("convertedVideoSavedFolderField").setText("folder");
window.textBox("convertedVideoSavedFileField").setText("converted.avi");
SProperties.saveSetting(getProperties());
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
window.radioButton("convSaveFileRadioButton").check();
window.textBox("convertedVideoSavedFolderField").setText("folder\\folder2");
window.textBox("convertedVideoSavedFileField").setText("folder\\converted.avi");
public void storeToXML(OutputStream os, String comment) {
System.out.println("storeToXML mocked.");
- // \8aî\96{\90Ý\92è
- window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
- // \83\86\81[\83U\90Ý\92è
+ // 基本設定
+ window.tabbedPane("mainTabbedPane").selectTab("基本設定");
+ // ユーザ設定
assertThat(map.get("MailAddress")).isEqualTo(window.textBox("mailAddressField").text());
assertThat(map.get("Password")).isEqualTo(window.textBox("passwordField").text());
- // \83v\83\8d\83L\83V\90Ý\92è
+ // プロキシ設定
assertThat(Boolean.parseBoolean(map.get("UseProxy"))).isEqualTo(window.checkBox("useProxyCheckBox").
component().isSelected());
assertThat(map.get("Proxy")).isEqualTo(window.textBox("proxyTextField").text());
if (!"".equals(port)) {
assertThat(map.get("ProxyPort")).isEqualTo(port);
} else {
- assertThat(map.get("ProxyPort")).as("\83|\81[\83g\82ª\8bó\82Ì\8fê\8d\87\82É\82Í-1(\96³\8cø\82È\94Ô\8d\86)\82ð\90Ý\92è\82·\82é").isEqualTo("-1");
+ assertThat(map.get("ProxyPort")).as("ポートが空の場合には-1(無効な番号)を設定する").isEqualTo("-1");
}
- // \95Û\91¶\90Ý\92è - \93ü\97Í\93®\89æ
- window.tabbedPane("mainTabbedPane").selectTab("\95Û\91¶\90Ý\92è");
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+ // 保存設定 - 入力動画
+ window.tabbedPane("mainTabbedPane").selectTab("保存設定");
+ window.tabbedPane("saveTabbedPane").selectTab("入力動画");
final VideoSaveKind saveVideo = VideoSaveKind.valueOf(map.get("SaveVideoFile"));
switch (saveVideo) {
assertThat(map.get("NicoBrowserFileName")).isEqualTo(window.textBox("nibrFileField").text());
- // \95Û\91¶\90Ý\92è - \93ü\97Í\83R\83\81\83\93\83g
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+ // 保存設定 - 入力コメント
+ window.tabbedPane("saveTabbedPane").selectTab("入力コメント");
assertThat(Boolean.parseBoolean(map.get("SaveCommentFile"))).isEqualTo(window.checkBox(
"savingCommentCheckBox").component().isSelected());
"delCommentCheckBox").component().isSelected());
assertThat(Boolean.parseBoolean(map.get("FixCommentSize"))).isEqualTo(window.checkBox(
"fixCommentNumCheckBox").component().isSelected());
- // \8bó\82¾\82Á\82½\82ç\83f\83t\83H\83\8b\83g\92l500\82ð\90Ý\92è\82·\82é
+ // 空だったらデフォルト値500を設定する
String backComment = (window.textBox("commentNumField").text().isEmpty()) ? "500" : window.textBox(
"commentNumField").text();
assertThat(map.get("BackComment")).isEqualTo(backComment);
assertThat(map.get("CommentFile")).isEqualTo(window.textBox("commentSavedFileField").text());
- // \95Û\91¶\90Ý\92è - \93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g
- window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+ // 保存設定 - 入力投稿者コメント
+ window.tabbedPane("saveTabbedPane").selectTab("入力投稿者コメント");
assertThat(Boolean.parseBoolean(map.get("TCDownload"))).isEqualTo(window.checkBox("needDownloadTcomment").
component().isSelected());
assertThat(map.get("TCFileName")).isEqualTo(window.textBox("tcommentFile").text());
- // \95Û\91¶\90Ý\92è - \8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ
- window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+ // 保存設定 - 出力コメント付き動画
+ window.tabbedPane("saveTabbedPane").selectTab("出力コメント付き動画");
assertThat(Boolean.parseBoolean(map.get("SaveConvertedFile"))).isEqualTo(window.checkBox(
"savingConvertedVideoCheckBox").component().isSelected());
assertThat(map.get("ConvertedFile")).isEqualTo(window.textBox("convertedVideoSavedFileField").text());
- // \8aî\96{\90Ý\92è
- window.tabbedPane("mainTabbedPane").selectTab("\93®\89æ\90Ý\92è");
+ // 基本設定
+ window.tabbedPane("mainTabbedPane").selectTab("動画設定");
assertThat(map.get("FFnpegPath")).isEqualTo(window.textBox("ffmpegPathField").text());
assertThat(map.get("VhookPath")).isEqualTo(window.textBox("vhookPathField").text());
assertThat(map.get("CMD_OUT")).isEqualTo(window.textBox("outputOptionField").text());
- // \95Ï\8a·\90Ý\92è
- window.tabbedPane("mainTabbedPane").selectTab("\95Ï\8a·\90Ý\92è");
+ // 変換設定
+ window.tabbedPane("mainTabbedPane").selectTab("変換設定");
assertThat(Boolean.parseBoolean(map.get("VhookDisabled"))).isEqualTo(window.checkBox("disableVhookCheckBox").
component().isSelected());
assertThat(map.get("ShowCommentNum")).isEqualTo(window.textBox("viewCommentField").text());