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>

Reply via email to