From 3f86aa815738a75db6c774bc17f8687505b75f09 Mon Sep 17 00:00:00 2001 From: peeweedee Date: Thu, 13 Mar 2014 22:43:22 +0900 Subject: [PATCH] =?utf8?q?=E3=82=AD=E3=83=BC=E3=83=9C=E3=83=BC=E3=83=89?= =?utf8?q?=E3=82=B7=E3=83=A7=E3=83=BC=E3=83=88=E3=82=AB=E3=83=83=E3=83=88?= =?utf8?q?=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- TinyBannavi/05_history.txt | 6 ++ TinyBannavi/src/tainavi/AbsToolBar.java | 6 +- TinyBannavi/src/tainavi/Viewer.java | 99 ++++++++++++++++++++++++++------- 3 files changed, 90 insertions(+), 21 deletions(-) diff --git a/TinyBannavi/05_history.txt b/TinyBannavi/05_history.txt index f7ee861..464a96d 100644 --- a/TinyBannavi/05_history.txt +++ b/TinyBannavi/05_history.txt @@ -10,6 +10,12 @@ 2chの番ナビスレ:http://toro.2ch.net/test/read.cgi/av/1352223253/ ★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆★ +3.22.16β+1.5.12(2014-03-XX) +■変更点 + ・(その他) CTRL+Fで検索ボックスに移動などのキーボードショートカットの追加(>>375.) +■バグ修正 + ・(リスト形式) 一部のカラムのサイズ変更が維持されない問題を修正(>>733.) + 3.22.15β+1.5.12(2014-02-22) ■変更点  ・(その他) sfのサイト構成変更にオンラインバージョンアップのコードを対応 diff --git a/TinyBannavi/src/tainavi/AbsToolBar.java b/TinyBannavi/src/tainavi/AbsToolBar.java index b69378b..46df7f7 100644 --- a/TinyBannavi/src/tainavi/AbsToolBar.java +++ b/TinyBannavi/src/tainavi/AbsToolBar.java @@ -425,7 +425,11 @@ public abstract class AbsToolBar extends JToolBar implements HDDRecorderSelectab return search; } } - + + public void setFocusInSearchBox() { + jTextField_keyword.requestFocusInWindow(); + } + /** * */ diff --git a/TinyBannavi/src/tainavi/Viewer.java b/TinyBannavi/src/tainavi/Viewer.java index 8a88724..a63189c 100644 --- a/TinyBannavi/src/tainavi/Viewer.java +++ b/TinyBannavi/src/tainavi/Viewer.java @@ -20,14 +20,7 @@ import java.awt.Toolkit; import java.awt.TrayIcon; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; +import java.awt.event.*; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; @@ -50,16 +43,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.imageio.ImageIO; -import javax.swing.ImageIcon; -import javax.swing.JComponent; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.JPopupMenu; -import javax.swing.SwingUtilities; -import javax.swing.ToolTipManager; -import javax.swing.UIManager; +import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -4770,7 +4754,80 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H listed.saveTreeExpansion(); paper.saveTreeExpansion(); } - + + private void setKeyboardShortCut() { + class ShortCut { + final String action; + final int key; + final int mask; + final Action callback; + + public ShortCut(String aAction, int aKey, int aMask, Action aCallback) { + action = aAction; + key = aKey; + mask = aMask; + callback = aCallback; + } + } + + final String FIND_ACTION = "find"; + final String SELECT_ACTION_LISTTAB = "listtab"; + final String SELECT_ACTION_PAPERTAB = "papertab"; + final String SELECT_ACTION_RSVEDTAB = "rsvedtab"; + final String SELECT_ACTION_RECEDTAB = "recedtab"; + final String SELECT_ACTION_AUTORESTAB = "autorestab"; + + final Action find_action = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + toolBar.setFocusInSearchBox(); + } + }; + final Action select_action_listtab = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + mainWindow.setSelectedTab(MWinTab.LISTED); + } + }; + final Action select_action_papertab = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + mainWindow.setSelectedTab(MWinTab.PAPER); + } + }; + final Action select_action_rsvedtab = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + mainWindow.setSelectedTab(MWinTab.RSVED); + } + }; + final Action select_action_recedtab = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + mainWindow.setSelectedTab(MWinTab.RECED); + } + }; + final Action select_action_autorestab = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + mainWindow.setSelectedTab(MWinTab.AUTORES); + } + }; + + ArrayList sca = new ArrayList(); + sca.add(new ShortCut(FIND_ACTION, KeyEvent.VK_F, KeyEvent.CTRL_DOWN_MASK, find_action)); + sca.add(new ShortCut(SELECT_ACTION_LISTTAB, KeyEvent.VK_1, KeyEvent.ALT_DOWN_MASK, select_action_listtab)); + sca.add(new ShortCut(SELECT_ACTION_PAPERTAB, KeyEvent.VK_2, KeyEvent.ALT_DOWN_MASK, select_action_papertab)); + sca.add(new ShortCut(SELECT_ACTION_RSVEDTAB, KeyEvent.VK_3, KeyEvent.ALT_DOWN_MASK, select_action_rsvedtab)); + sca.add(new ShortCut(SELECT_ACTION_RECEDTAB, KeyEvent.VK_4, KeyEvent.ALT_DOWN_MASK, select_action_recedtab)); + sca.add(new ShortCut(SELECT_ACTION_AUTORESTAB, KeyEvent.VK_5, KeyEvent.ALT_DOWN_MASK, select_action_autorestab)); + + InputMap imap = getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); + for ( ShortCut sc : sca ) { + imap.put(KeyStroke.getKeyStroke(sc.key, sc.mask), sc.action); + getRootPane().getActionMap().put(sc.action, sc.callback); + } + } /******************************************************************************* * main() @@ -5092,7 +5149,9 @@ public class Viewer extends JFrame implements ChangeListener,TickTimerListener,H setTitleBar(); // タイトルバー更新 ShowInitTab(); // 前回開いていたタブを開く - + + setKeyboardShortCut(); + // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ // タイマーを起動する // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ -- 2.11.0