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
git-svn-id: https://svn.apache.org/repos/asf/logging/chainsaw/trunk@1034281 13f79535-47bb-0310-9956-ffa450edef68
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 @@
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 @@
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 List getDefaultColumnNames() {
return defaultColumnNames;
}
+
+ public void setBypassSearchColors(boolean bypassSearchColors) {
+ this.bypassSearchColors = bypassSearchColors;
+ }
+
+ public boolean isBypassSearchColors() {
+ return bypassSearchColors;
+ }
}
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 @@
if (currentPoint != null) {
((TableColorizingRenderer)currentTable.getDefaultRenderer(Object.class)).setUseNormalTimes();
((ChainsawCyclicBufferTableModel)currentTable.getModel()).reFilter();
- setEnabled(false);
+ setEnabled(true);
}
}
});
@@ -4280,6 +4280,7 @@
private String lastTextToMatch;
public AutoFilterComboBox() {
+ textField.setPreferredSize(getPreferredSize());
setModel(model);
setEditor(new AutoFilterEditor());
((JTextField)getEditor().getEditorComponent()).getDocument().addDocumentListener(new AutoFilterDocumentListener());
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 @@
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 {
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.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 @@
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 @@
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 @@
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 @@
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 @@
applyRules(currentRuleSet, colorizer);
saveSearchColors();
saveAlternatingColors();
+ saveBypassFlag();
}
});
@@ -566,6 +582,10 @@
applicationPreferenceModel.setAlternatingForegroundColor(alternatingColorForegroundColor);
}
+ private void saveBypassFlag() {
+ applicationPreferenceModel.setBypassSearchColors(bypassSearchColorsCheckBox.isSelected());
+ }
+
JPanel buildUpDownPanel() {
JPanel panel = new JPanel(new BorderLayout());
JPanel innerPanel = new JPanel();
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>