Added per-tab preference to not use a search match color in the primary table Added ability to use single or double quotes to surround multi-word strings in expressions
Project: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/commit/963870d0 Tree: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/tree/963870d0 Diff: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/diff/963870d0 Branch: refs/heads/master Commit: 963870d06983a15c0bb99dbe534985c00c32daf3 Parents: 9784229 Author: Scott Deboy <[email protected]> Authored: Fri Nov 12 07:09:35 2010 +0000 Committer: Scott Deboy <[email protected]> Committed: Fri Nov 12 07:09:35 2010 +0000 ---------------------------------------------------------------------- .../chainsaw/ApplicationPreferenceModel.java | 10 +++++++++ .../org/apache/log4j/chainsaw/LogPanel.java | 3 ++- .../log4j/chainsaw/TableColorizingRenderer.java | 2 +- .../apache/log4j/chainsaw/color/ColorPanel.java | 22 +++++++++++++++++++- .../log4j/chainsaw/help/release-notes.html | 5 +++++ 5 files changed, 39 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/963870d0/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java b/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java index 721e634..ad0a58c 100644 --- a/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java +++ b/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java @@ -75,6 +75,7 @@ public class ApplicationPreferenceModel { private static final int CONFIGURATION_URL_ENTRY_COUNT = 10; private List defaultColumnNames = new ArrayList(); private boolean defaultColumnsSet; + private boolean bypassSearchColors = false; /** * @param listener @@ -234,6 +235,7 @@ public class ApplicationPreferenceModel { if (model.isDefaultColumnsSet()) { setDefaultColumnNames(model.getDefaultColumnNames()); } + setBypassSearchColors(model.isBypassSearchColors()); } //use a lighter version of search color as the delta color @@ -518,4 +520,12 @@ public class ApplicationPreferenceModel { public List getDefaultColumnNames() { return defaultColumnNames; } + + public void setBypassSearchColors(boolean bypassSearchColors) { + this.bypassSearchColors = bypassSearchColors; + } + + public boolean isBypassSearchColors() { + return bypassSearchColors; + } } http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/963870d0/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 7bdd00d..449266f 100644 --- a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java +++ b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java @@ -1772,7 +1772,7 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi if (currentPoint != null) { ((TableColorizingRenderer)currentTable.getDefaultRenderer(Object.class)).setUseNormalTimes(); ((ChainsawCyclicBufferTableModel)currentTable.getModel()).reFilter(); - setEnabled(false); + setEnabled(true); } } }); @@ -4280,6 +4280,7 @@ public class LogPanel extends DockablePanel implements EventBatchListener, Profi private String lastTextToMatch; public AutoFilterComboBox() { + textField.setPreferredSize(getPreferredSize()); setModel(model); setEditor(new AutoFilterEditor()); ((JTextField)getEditor().getEditorComponent()).getDocument().addDocumentListener(new AutoFilterDocumentListener()); http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/963870d0/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java b/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java index 983db9a..b6029ff 100644 --- a/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java +++ b/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java @@ -431,7 +431,7 @@ public class TableColorizingRenderer extends DefaultTableCellRenderer { background = applicationPreferenceModel.getSearchBackgroundColor(); foreground = applicationPreferenceModel.getSearchForegroundColor(); } else { - if (colorizeSearch) { + if (colorizeSearch && !applicationPreferenceModel.isBypassSearchColors()) { background = loggingEventWrapper.isSearchMatch()?applicationPreferenceModel.getSearchBackgroundColor():loggingEventWrapper.getBackground(); foreground = loggingEventWrapper.isSearchMatch()?applicationPreferenceModel.getSearchForegroundColor():loggingEventWrapper.getForeground(); } else { http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/963870d0/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java b/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java index dcc4621..95a8b11 100644 --- a/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java +++ b/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java @@ -46,6 +46,7 @@ import javax.swing.DefaultCellEditor; import javax.swing.DefaultComboBoxModel; import javax.swing.Icon; import javax.swing.JButton; +import javax.swing.JCheckBox; import javax.swing.JColorChooser; import javax.swing.JComboBox; import javax.swing.JDialog; @@ -113,8 +114,9 @@ public class ColorPanel extends JPanel private Vector alternatingColorDataVector; private Vector alternatingColorDataVectorEntry; private ApplicationPreferenceModel applicationPreferenceModel; + private JCheckBox bypassSearchColorsCheckBox; - public ColorPanel(final RuleColorizer currentLogPanelColorizer, final FilterModel filterModel, + public ColorPanel(final RuleColorizer currentLogPanelColorizer, final FilterModel filterModel, final Map allLogPanelColorizers, final ApplicationPreferenceModel applicationPreferenceModel) { super(new BorderLayout()); @@ -229,6 +231,9 @@ public class ColorPanel extends JPanel southPanel.add(Box.createVerticalStrut(5)); southPanel.add(Box.createVerticalStrut(5)); JPanel searchAndAlternatingColorPanel = buildSearchAndAlternatingColorPanel(); + JPanel bypassSearchColorsPanel = buildBypassSearchColorsPanel(); + bypassSearchColorsCheckBox.setSelected(applicationPreferenceModel.isBypassSearchColors()); + JPanel globalLabelPanel = new JPanel(); globalLabelPanel.setLayout(new BoxLayout(globalLabelPanel, BoxLayout.X_AXIS)); JLabel globalLabel = new JLabel("Global colors:"); @@ -236,6 +241,7 @@ public class ColorPanel extends JPanel globalLabelPanel.add(Box.createHorizontalGlue()); southPanel.add(globalLabelPanel); southPanel.add(searchAndAlternatingColorPanel); + southPanel.add(bypassSearchColorsPanel); southPanel.add(Box.createVerticalStrut(5)); JPanel closePanel = buildClosePanel(); southPanel.add(closePanel); @@ -316,6 +322,15 @@ public class ColorPanel extends JPanel alternatingColorDataVectorEntry.set(1, applicationPreferenceModel.getAlternatingColorForegroundColor()); } + public JPanel buildBypassSearchColorsPanel() { + JPanel panel = new JPanel(); + panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS)); + + bypassSearchColorsCheckBox = new JCheckBox("Don't use a search color for matching rows"); + panel.add(bypassSearchColorsCheckBox); + return panel; + } + public JPanel buildSearchAndAlternatingColorPanel() { JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS)); @@ -533,6 +548,7 @@ public class ColorPanel extends JPanel applyRules(currentRuleSet, colorizer); saveSearchColors(); saveAlternatingColors(); + saveBypassFlag(); } }); @@ -566,6 +582,10 @@ public class ColorPanel extends JPanel applicationPreferenceModel.setAlternatingForegroundColor(alternatingColorForegroundColor); } + private void saveBypassFlag() { + applicationPreferenceModel.setBypassSearchColors(bypassSearchColorsCheckBox.isSelected()); + } + JPanel buildUpDownPanel() { JPanel panel = new JPanel(new BorderLayout()); JPanel innerPanel = new JPanel(); http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/963870d0/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 681cfc0..cf5e053 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,6 +10,11 @@ <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>11 Nov 2010</h2> +<ul> +<li>Added per-tab preference to not use a search match color in the primary table</li> +<li>Added ability to use single or double quotes to surround multi-word strings in expressions</li> +</ul> <h2>6 Nov 2010</h2> <ul> <li>Updated the expression handling logic to no longer require spaces around operators & operands in expressions</li>
