You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2017/05/30 23:48:42 UTC
[05/50] [abbrv] logging-chainsaw git commit: replaced alt and ctrl
keyboard masks where appropriate with
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()) calls
replaced alt and ctrl keyboard masks where appropriate with Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()) calls
Added cmd-F and cmd-R to set focus in find and refine focus comboboxes, respectively, and cmd-shift-F and cmd-shift-R to clear those fields
Added keyboard shortcuts to release notes.
Project: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/commit/622fc259
Tree: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/tree/622fc259
Diff: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/diff/622fc259
Branch: refs/heads/master
Commit: 622fc259013d2af1214e88fcf7c280276a09edb9
Parents: 5343147
Author: Scott Deboy <sd...@apache.org>
Authored: Sat Oct 23 06:27:25 2010 +0000
Committer: Scott Deboy <sd...@apache.org>
Committed: Sat Oct 23 06:27:25 2010 +0000
----------------------------------------------------------------------
.../log4j/chainsaw/ChainsawToolBarAndMenus.java | 25 +++----
.../org/apache/log4j/chainsaw/FileMenu.java | 6 +-
.../apache/log4j/chainsaw/FileSaveAction.java | 4 +-
.../org/apache/log4j/chainsaw/LogPanel.java | 71 ++++++++++++++++----
.../java/org/apache/log4j/chainsaw/LogUI.java | 6 +-
.../org/apache/log4j/chainsaw/WelcomePanel.html | 52 ++++++++------
.../log4j/chainsaw/help/release-notes.html | 27 ++++----
7 files changed, 123 insertions(+), 68 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/622fc259/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
index 51c8a79..9f5165a 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
@@ -20,6 +20,7 @@ package org.apache.log4j.chainsaw;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Insets;
+import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
@@ -213,7 +214,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_T));
action.putValue(
Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.ALT_MASK));
+ KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
action.putValue(
Action.SMALL_ICON, new ImageIcon(ChainsawIcons.WINDOW_ICON));
@@ -238,7 +239,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_B));
action.putValue(
Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_B, InputEvent.CTRL_MASK));
+ KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
action.putValue(
Action.SMALL_ICON, new ImageIcon(ChainsawIcons.SCROLL_TO_BOTTOM));
@@ -258,7 +259,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
action.putValue(Action.SHORT_DESCRIPTION, "Scroll to top");
action.putValue("enabled", Boolean.TRUE);
action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_T));
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
return action;
}
@@ -312,7 +313,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
action.putValue(Action.SHORT_DESCRIPTION, "Toggle marker for selected row");
action.putValue("enabled", Boolean.TRUE);
action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_T));
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.CTRL_MASK));
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
return action;
}
@@ -330,7 +331,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
action.putValue(Action.SHORT_DESCRIPTION, "Removes all markers");
action.putValue("enabled", Boolean.TRUE);
action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_R));
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK));
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | InputEvent.SHIFT_MASK));
return action;
}
@@ -376,7 +377,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_C));
action.putValue(
Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, InputEvent.CTRL_MASK));
+ KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
action.putValue(
Action.SHORT_DESCRIPTION, "Removes all the events from the current view");
action.putValue(Action.SMALL_ICON, new ImageIcon(ChainsawIcons.DELETE));
@@ -696,7 +697,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_D));
action.putValue(
Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.ALT_MASK));
+ KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
action.putValue(Action.SHORT_DESCRIPTION, "Hides/Shows the Detail Pane");
action.putValue(Action.SMALL_ICON, new ImageIcon(ChainsawIcons.INFO));
@@ -753,14 +754,14 @@ class ChainsawToolBarAndMenus implements ChangeListener {
detailPaneButton.getActionMap().put(
toggleDetailPaneAction.getValue(Action.NAME), toggleDetailPaneAction);
detailPaneButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
- KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.ALT_MASK),
+ KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
toggleDetailPaneAction.getValue(Action.NAME));
logTreePaneButton.setAction(toggleLogTreeAction);
logTreePaneButton.getActionMap().put(
toggleLogTreeAction.getValue(Action.NAME), toggleLogTreeAction);
logTreePaneButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
- KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.ALT_MASK),
+ KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
toggleLogTreeAction.getValue(Action.NAME));
logTreePaneButton.setText(null);
@@ -768,7 +769,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
scrollToBottomButton.getActionMap().put(
toggleScrollToBottomAction.getValue(Action.NAME), toggleScrollToBottomAction);
scrollToBottomButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
- KeyStroke.getKeyStroke(KeyEvent.VK_B, InputEvent.CTRL_MASK),
+ KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
toggleScrollToBottomAction.getValue(Action.NAME));
scrollToBottomButton.setText(null);
@@ -894,7 +895,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
action.putValue(Action.SHORT_DESCRIPTION, "Searches for the next colorized event from the current location");
action.putValue("enabled", Boolean.TRUE);
action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_N));
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_DOWN_MASK));
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
return action;
}
@@ -913,7 +914,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
action.putValue(Action.SHORT_DESCRIPTION, "Searches for the next colorized event from the current location");
action.putValue("enabled", Boolean.TRUE);
action.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_P));
- action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.CTRL_DOWN_MASK));
+ action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
return action;
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/622fc259/src/main/java/org/apache/log4j/chainsaw/FileMenu.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/FileMenu.java b/src/main/java/org/apache/log4j/chainsaw/FileMenu.java
index 24abde8..7420251 100644
--- a/src/main/java/org/apache/log4j/chainsaw/FileMenu.java
+++ b/src/main/java/org/apache/log4j/chainsaw/FileMenu.java
@@ -21,8 +21,8 @@
*/
package org.apache.log4j.chainsaw;
+import java.awt.Toolkit;
import java.awt.event.ActionEvent;
-import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.net.URL;
import java.util.Iterator;
@@ -75,7 +75,7 @@ class FileMenu extends JMenu {
loadLog4JAction.putValue(
Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));
+ KeyStroke.getKeyStroke(KeyEvent.VK_O, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
loadLog4JAction.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_L));
loadLog4JAction.putValue(Action.SHORT_DESCRIPTION, "Loads events from a local XMLLayout-formatted file ");
loadLog4JAction.putValue(Action.SMALL_ICON, new ImageIcon(ChainsawIcons.FILE_OPEN));
@@ -112,7 +112,7 @@ class FileMenu extends JMenu {
exitAction.putValue(
Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK));
+ KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
exitAction.putValue(Action.SHORT_DESCRIPTION, "Exits the Application");
exitAction.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_X));
exitAction.putValue(Action.NAME, "Exit");
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/622fc259/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java b/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java
index 9357fb7..9fe7a55 100644
--- a/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java
+++ b/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java
@@ -17,8 +17,8 @@
package org.apache.log4j.chainsaw;
+import java.awt.Toolkit;
import java.awt.event.ActionEvent;
-import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
@@ -66,7 +66,7 @@ class FileSaveAction extends AbstractAction {
putValue(
Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
+ KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_S));
putValue(
Action.SHORT_DESCRIPTION, "Saves displayed events for the current tab");
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/622fc259/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
index e2d388a..ea80971 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
@@ -706,19 +706,19 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
//we've mapped f2, shift f2 and ctrl-f2 to marker-related actions, unmap them from the table
table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke("F2"), "none");
table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.SHIFT_MASK), "none");
- table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.CTRL_MASK), "none");
- table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), "none");
+ table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), "none");
+ table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | InputEvent.SHIFT_MASK), "none");
//we're also mapping ctrl-a to scroll-to-top, unmap from the table
- table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK), "none");
+ table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), "none");
searchTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke("F2"), "none");
searchTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.SHIFT_MASK), "none");
- searchTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.CTRL_MASK), "none");
- searchTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), "none");
+ searchTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), "none");
+ searchTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | InputEvent.SHIFT_MASK), "none");
//we're also mapping ctrl-a to scroll-to-top, unmap from the table
- searchTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK), "none");
+ searchTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), "none");
//add a listener to update the 'refine focus'
tableModel.addNewKeyListener(new NewKeyListener() {
@@ -1099,8 +1099,6 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
final JLabel filterLabel = new JLabel("Refine focus on: ");
filterLabel.setFont(filterLabel.getFont().deriveFont(Font.BOLD));
- filterLabel.setDisplayedMnemonic('k');
- filterLabel.setLabelFor(filterCombo);
upperPanel.add(filterLabel);
upperPanel.add(Box.createHorizontalStrut(3));
@@ -1129,10 +1127,8 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
//add some space between refine focus and search sections of the panel
upperPanel.add(Box.createHorizontalStrut(25));
- final JLabel findLabel = new JLabel("Search: ");
+ final JLabel findLabel = new JLabel("Find: ");
findLabel.setFont(filterLabel.getFont().deriveFont(Font.BOLD));
- findLabel.setDisplayedMnemonic('j');
- findLabel.setLabelFor(findCombo);
upperPanel.add(findLabel);
upperPanel.add(Box.createHorizontalStrut(3));
@@ -1184,6 +1180,53 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
);
upperPanel.add(removeFindButton);
+ //define search and refine focus selection and clear actions
+ Action findFocusAction = new AbstractAction() {
+ public void actionPerformed(ActionEvent actionEvent) {
+ findCombo.requestFocus();
+ }
+ };
+
+ Action filterFocusAction = new AbstractAction() {
+ public void actionPerformed(ActionEvent actionEvent) {
+ filterCombo.requestFocus();
+ }
+ };
+
+ Action findClearAction = new AbstractAction() {
+ public void actionPerformed(ActionEvent actionEvent) {
+ findCombo.setSelectedIndex(-1);
+ findNext();
+ }
+ };
+
+ Action filterClearAction = new AbstractAction() {
+ public void actionPerformed(ActionEvent actionEvent) {
+ setRefineFocusText("");
+ filterCombo.refilter();
+ }
+ };
+
+ //now add them to the action and input maps for the logpanel
+ KeyStroke ksFindFocus =
+ KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
+ KeyStroke ksFilterFocus =
+ KeyStroke.getKeyStroke(KeyEvent.VK_R, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
+ KeyStroke ksFindClear =
+ KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.SHIFT_MASK |Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
+ KeyStroke ksFilterClear =
+ KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.SHIFT_MASK | Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
+
+ getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(ksFindFocus, "FindFocus");
+ getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(ksFilterFocus, "FilterFocus");
+ getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(ksFindClear, "FindClear");
+ getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(ksFilterClear, "FilterClear");
+
+ getActionMap().put("FindFocus", findFocusAction);
+ getActionMap().put("FilterFocus", filterFocusAction);
+ getActionMap().put("FindClear", findClearAction);
+ getActionMap().put("FilterClear", filterClearAction);
+
/*
* Detail pane definition
*/
@@ -2767,7 +2810,7 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
dockToggleLogTreeAction.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_T));
dockToggleLogTreeAction.putValue(
Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.ALT_MASK));
+ KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
dockToggleLogTreeAction.putValue(
Action.SMALL_ICON, new ImageIcon(ChainsawIcons.WINDOW_ICON));
@@ -2797,7 +2840,7 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
final SmallButton dockClearButton = new SmallButton(undockedClearAction);
dockClearButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
- KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, InputEvent.CTRL_MASK),
+ KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
undockedClearAction.getValue(Action.NAME));
dockClearButton.getActionMap().put(
undockedClearAction.getValue(Action.NAME), undockedClearAction);
@@ -2827,7 +2870,7 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi
});
toggleScrollToBottomButton.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
- KeyStroke.getKeyStroke(KeyEvent.VK_B, InputEvent.CTRL_MASK),
+ KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
dockToggleScrollToBottomAction.getValue(Action.NAME));
toggleScrollToBottomButton.getActionMap().put(
dockToggleScrollToBottomAction.getValue(Action.NAME), dockToggleScrollToBottomAction);
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/622fc259/src/main/java/org/apache/log4j/chainsaw/LogUI.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogUI.java b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
index 30a0abf..e85a974 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogUI.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
@@ -798,11 +798,11 @@ public class LogUI extends JFrame implements ChainsawViewer, SettingsListener {
});
KeyStroke ksRight =
- KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, Event.CTRL_MASK);
+ KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
KeyStroke ksLeft =
- KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, Event.CTRL_MASK);
+ KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
KeyStroke ksGotoLine =
- KeyStroke.getKeyStroke(KeyEvent.VK_G, Event.CTRL_MASK);
+ KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
getTabbedPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
ksRight, "MoveRight");
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/622fc259/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html
----------------------------------------------------------------------
diff --git a/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html b/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html
index 96d371a..eafcb52 100644
--- a/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html
+++ b/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html
@@ -22,7 +22,7 @@
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#800000" ALINK="#FF00FF" BACKGROUND="?">
-<p><a name="TheTop"></a><table border="0" cellpadding="0" cellspacing="0" width="100%">
+<a name="TheTop"></a><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td><b><font size="+2">Chainsaw v2</font></b> - brought to you by the Log4j Dev team</td>
<!--<td rowspan="2" align="right"><img align="top" src="logo.jpg" border="0" alt="Log4j Logo"></td>-->
@@ -31,7 +31,7 @@
<tr>
<td><b>Release notes and tutorial are available from the Help menu</b></td>
</tr>
-</table></p>
+</table>
<!-- Removing this until we can work out why the Anchor tags don't work in Swing... -->
<!--
<table border="1" cellspacing="2" cellpadding="2">
@@ -44,7 +44,7 @@
<p><table border="0" cellspacing="2" cellpadding="2" >
<tr><td colspan="6" class="TableTitle" bgcolor="#000089"><font color="white">Hot Keys</font></td></tr>
<tr valign="top">
- <td nowrap class="HotKey">CTRL-LEFT</td>
+ <td nowrap class="HotKey">CMD-LEFT</td>
<td width="50" align="center">-</td>
<td>Activate a tab to the left</td>
<td nowrap class="HotKey">CTRL-RIGHT</td>
@@ -60,18 +60,18 @@
<td>Find previous</td>
</tr>
<tr valign="top">
- <td nowrap class="HotKey">CTRL-A</td>
+ <td nowrap class="HotKey">CMD-A</td>
<td width="50" align="center">-</td>
<td>Scroll to top</td>
- <td nowrap class="HotKey">CTRL-B</td>
+ <td nowrap class="HotKey">CMD-B</td>
<td width="50" align="center">-</td>
<td>Scroll to bottom</td>
</tr>
<tr valign="top" bgcolor="#EEEEEE">
- <td nowrap class="HotKey">CTRL-F2 or double-click on a row</td>
+ <td nowrap class="HotKey">CMD-F2 or double-click on a row</td>
<td width="50" align="center">-</td>
<td>Define a 'marker' (add a note to a row)</td>
- <td nowrap class="HotKey">CTRL-SHIFT-F2</td>
+ <td nowrap class="HotKey">CMD-SHIFT-F2</td>
<td width="50" align="center">-</td>
<td>Clear all markers</td>
</tr>
@@ -84,34 +84,42 @@
<td>Find previous marker</td>
</tr>
<tr valign="top" bgcolor="#EEEEEE">
- <td nowrap class="HotKey">ALT-J</td>
+ <td nowrap class="HotKey">CMD-F</td>
<td width="50" align="center">-</td>
- <td>Set focus in 'search' field</td>
- <td nowrap class="HotKey">ALT-K</td>
+ <td>Set focus in 'find' field</td>
+ <td nowrap class="HotKey">CMD-R</td>
<td width="50" align="center">-</td>
<td>Set focus in 'refine focus' field</td>
</tr>
+<tr valign="top" bgcolor="#EEEEEE">
+ <td nowrap class="HotKey">CMD--SHIFT-F</td>
+ <td width="50" align="center">-</td>
+ <td>Clear 'find' field</td>
+ <td nowrap class="HotKey">CMD-SHIFT-R</td>
+ <td width="50" align="center">-</td>
+ <td>Clear 'refine focus' field</td>
+</tr>
<tr valign="top" >
- <td nowrap class="HotKey">CTRL-S</td>
+ <td nowrap class="HotKey">CMD-S</td>
<td width="50" align="center">-</td>
<td>Save displayed events</td>
- <td nowrap class="HotKey">CTRL-O</td>
+ <td nowrap class="HotKey">CMD-O</td>
<td width="50" align="center">-</td>
<td>Load file of XML events</td>
</tr>
<tr valign="top" bgcolor="#EEEEEE">
- <td nowrap class="HotKey">ALT-C or CTRL-BACKSPACE</td>
+ <td nowrap class="HotKey">CMD-BACKSPACE</td>
<td width="50" align="center">-</td>
<td>Purges current panels events</td>
- <td nowrap class="HotKey">ALT-P or F12</td>
+ <td nowrap class="HotKey">F12</td>
<td width="50" align="center">-</td>
<td>Pause display</td>
</tr>
<tr valign="top">
- <td nowrap class="HotKey">ALT-D</td>
+ <td nowrap class="HotKey">CMD-D</td>
<td width="50" align="center">-</td>
<td>Show/Hide the Detail pane</td>
- <td nowrap class="HotKey">ALT-T</td>
+ <td nowrap class="HotKey">CMD-T</td>
<td width="50" align="center">-</td>
<td>Show/Hide the Logger Tree pane</td>
</tr>
@@ -124,20 +132,20 @@
<td>Show Receivers Dialog</td>
</tr>
<tr valign="top">
- <td nowrap class="HotKey">CTRL-N</td>
+ <td nowrap class="HotKey">CMD-N</td>
<td width="50" align="center">-</td>
<td>Go to next colored row</td>
- <td nowrap class="HotKey">CTRL-P</td>
+ <td nowrap class="HotKey">CMD-P</td>
<td width="50" align="center">-</td>
<td>Go to previous colored row</td>
</tr>
<tr valign="top" bgcolor="#EEEEEE">
- <td nowrap class="HotKey">CTRL-G</td>
+ <td nowrap class="HotKey">CMD-G</td>
<td width="50" align="center">-</td>
<td>Go to line</td>
- <td nowrap class="HotKey">ALT-X</td>
- <td width="50" align="center">-</td>
- <td>Exits the Application</td>
+ <td></td>
+ <td></td>
+ <td></td>
</tr>
</table></P>
<!--<p><a href="#TheTop">Back to top</a></p>-->
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/622fc259/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
----------------------------------------------------------------------
diff --git a/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html b/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
index bbdc8c6..3457d51 100644
--- a/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
+++ b/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
@@ -10,14 +10,19 @@
<b>NOTE:</b> The mechanism and format used to persist settings in Chainsaw is subject to change. If you are experiencing problems displaying events in Chainsaw, please delete everything in the $user.dir/.chainsaw directory and restart Chainsaw.
<br>
<h1>2.1</h1>
-<h2>20 Sep 2010</h2>
+<h2>22 Oct 2010</h2>
<ul>
-<li>Changed 'Wrap message field' preference default to true</li>
+<li>Updated keyboard shortcuts to use system-specific option (Apple command key, Windows control key)</li>
+<li>Adding new find and refine-focus key accelerators (Option-F focuses on Find field, option-R focuses on refine focus field</li>
</ul>
<h2>13 Oct 2010</h2>
<ul>
<li>Added log panel preference to display search results in the detail panel. When the preference is enabled and a search is performed, the matching rows are displayed in a table in the details panel. Clicking on a row in that table selects the row in the main event table.</li>
</ul>
+<h2>22 Sep 2010</h2>
+<ul>
+<li>Changed 'Wrap message field' preference default to true</li>
+</ul>
<h2>15 Sep 2010</h2>
<ul>
<li>New feature: Clickable thumbnail bar on the left shows time delta to prior displayed event if the time delta is > 1 second (behaves similarly to the thumbnail bar on the right which shows colors and search matches, but represents the time delta between events). A bigger delta is represented as a wider line.</li>
@@ -72,7 +77,7 @@
</ul>
<h2>13 Jun 2010</h2>
<ul>
-<li>When mouse is moved into the thumbnail bar, event details for the closest event w/a color rule or search match is displayed as a tooltip (enabled by default, configurable via Tab Preferences dialog, Visuals section).</li>
+<li>When mouse is moved into the thumbnail bar, event details for the closest event w/a color rule or find match is displayed as a tooltip (enabled by default, configurable via Tab Preferences dialog, Visuals section).</li>
<li>If the 'You have no Receivers defined' dialog is displayed, a configuration URL is provided and the 'don't show me this again' checkbox is selected, the provided configuration URL is set as the Auto Config URL in application-wide preferences and used from then on when Chainsaw starts.</li>
<li>Added ability to ignore a (possibly compound) expression, similar to ignoring loggers (available in the logger tree below hidden loggers). Ignored expression is persisted on a per-tab basis.</li>
</ul>
@@ -103,11 +108,11 @@
</ul>
<h2>11 May 2010</h2>
<ul>
-<li>Added search and alternating row color global preferences (updated from color settings window)</li>
+<li>Added find and alternating row color global preferences (updated from color settings window)</li>
</ul>
<h2>9 May 2010</h2>
<ul>
-<li>Added preference to display matching search text in the table as bold (on by default)</li>
+<li>Added preference to display matching find text in the table as bold (on by default)</li>
</ul>
<h2>2 May 2010</h2>
<ul>
@@ -119,13 +124,13 @@
</ul>
<h2>7 Apr 2010</h2>
<ul>
-<li>Forward and backward search, as well as forward and backward next-color search now wrap.</li>
-<li>Added display of matching search count in status bar.</li>
+<li>Forward and backward find, as well as forward and backward next-color find now wrap.</li>
+<li>Added display of matching find count in status bar.</li>
</ul>
<h2>6 Apr 2010</h2>
<ul>
<li>Added default color rule support (ability to assign a tab's color rules as the default color rules for new tabs). Default color rules can be applied to pre-existing tabs via the 'apply a tabs colors' drop down box in the color rule dialog.</li>
-<li>Pressing enter in the search box now initiates a search.</li>
+<li>Pressing enter in the find box now initiates a find.</li>
<li>Updated thumbnail rendering logic to display warnings, errors, fatal events and events with markers more prominently than other events.</li>
</ul>
<h2>3 Apr 2010</h2>
@@ -146,7 +151,7 @@ just creates a text file containing the xml events.
<h2>1 Apr 2010</h2>
<ul>
<li>Updated thumbnail bar to display all events with a defined color (will include the default color rules for marker, warning, error & fatal events).</li>
-<li>Added search matches to thumbnail bar (will display black in the left half of the row if the row matches the search expression).</li>
+<li>Added find matches to thumbnail bar (will display black in the left half of the row if the row matches the find expression).</li>
<li>Added ctrl-n to go to next colorized event, ctrl-p to go to previous colorized event.</li>
</ul>
<h2>27 Mar 2010</h2>
@@ -172,8 +177,6 @@ Changed 'default' detail pane layout to hide some fields, added 'full' detail pa
<li>
New color rule: any row with a value in the 'log4j.marker' field will display as light green
</li>
-<li>
-Added keyboard mnemonics to search field (alt-j) and refine focus field (alt-k), added shortcuts to Welcome page</li>
</ul>
<h2>16 Mar 2010</h2>
<ul>
@@ -209,7 +212,7 @@ LogPanel context menu now provides 'Show times relative to this row' and 'Hide r
<h2>22 Feb 2010</h2>
<ul>
<li>Implemented marker support (ability to add notes to rows). Double click a row to toggle on or off a default note, or click in a row to define a custom note. Navigate between markers with F2/Shift F2.
- If you want to use these markers to colorize or build custom search expressions, use the column key PROP.log4j.marker.
+ If you want to use these markers to colorize or build custom find expressions, use the column key PROP.log4j.marker.
Markers are saved and reloaded through the file-save as and file-load log4j file menus.
</li>
<li>Auto-configuration URL field now remembers the 10 most recent configuration files and provides a 'browse' button to load a configuration file without typing the URL.