Return-Path: Delivered-To: apmail-logging-general-archive@www.apache.org Received: (qmail 11759 invoked from network); 24 Jun 2010 06:39:44 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 24 Jun 2010 06:39:44 -0000 Received: (qmail 531 invoked by uid 500); 24 Jun 2010 06:39:44 -0000 Delivered-To: apmail-logging-general-archive@logging.apache.org Received: (qmail 382 invoked by uid 500); 24 Jun 2010 06:39:41 -0000 Mailing-List: contact general-help@logging.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Logging General" List-Id: Delivered-To: mailing list general@logging.apache.org Received: (qmail 372 invoked by uid 99); 24 Jun 2010 06:39:40 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Jun 2010 06:39:40 +0000 X-ASF-Spam-Status: No, hits=-1803.5 required=10.0 tests=ALL_TRUSTED,AWL X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Jun 2010 06:39:38 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 27FA523888EA; Thu, 24 Jun 2010 06:38:45 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r957433 - in /logging/chainsaw/trunk/src/main: java/org/apache/log4j/chainsaw/ java/org/apache/log4j/chainsaw/color/ java/org/apache/log4j/chainsaw/helper/ java/org/apache/log4j/chainsaw/layout/ java/org/apache/log4j/chainsaw/vfs/ resources... Date: Thu, 24 Jun 2010 06:38:44 -0000 To: general@logging.apache.org From: sdeboy@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100624063845.27FA523888EA@eris.apache.org> Author: sdeboy Date: Thu Jun 24 06:38:43 2010 New Revision: 957433 URL: http://svn.apache.org/viewvc?rev=957433&view=rev Log: Added 'Load Chainsaw configuration' menu item to file menu, reworded file-open menu items (file-open currently supports only log4j or util.logging XML-formatted log files). Fixed graphical glitches noticed when running in Linux with default look and feel (toolbar & dialog button text, layout tweaks) Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawAbout.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileMenu.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/NoReceiversWarningPanel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/SmallToggleButton.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/helper/OkCancelPanel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java Thu Jun 24 06:38:43 2010 @@ -68,8 +68,8 @@ public abstract class AbstractPreference private final JLabel titleLabel = new JLabel("Selected Pref Panel"); private final JPanel mainPanel = new JPanel(new BorderLayout(10, 10)); private final JPanel selectedPrefPanel = new JPanel(new BorderLayout(0, 3)); - private final JButton okButton = new JButton("OK"); - private final JButton cancelButton = new JButton("Cancel"); + private final JButton okButton = new JButton(" OK "); + private final JButton cancelButton = new JButton(" Cancel "); private ActionListener okCancelListener; private Component currentlyDisplayedPanel = null; private final JTree prefTree = new JTree(); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java Thu Jun 24 06:38:43 2010 @@ -76,8 +76,9 @@ public class ApplicationPreferenceModelP private JTextField cyclicBufferSize; private JComboBox configurationURL; private final Logger logger; + private GeneralAllPrefPanel generalAllPrefPanel; - ApplicationPreferenceModelPanel(ApplicationPreferenceModel model) { + ApplicationPreferenceModelPanel(ApplicationPreferenceModel model) { this.committedPreferenceModel = model; logger = LogManager.getLogger(ApplicationPreferenceModelPanel.class); initComponents(); @@ -155,8 +156,9 @@ public static void main(String[] args) { new DefaultMutableTreeNode("Preferences"); DefaultTreeModel model = new DefaultTreeModel(rootNode); - DefaultMutableTreeNode general = - new DefaultMutableTreeNode(new GeneralAllPrefPanel()); + generalAllPrefPanel = new GeneralAllPrefPanel(); + DefaultMutableTreeNode general = + new DefaultMutableTreeNode(generalAllPrefPanel); DefaultMutableTreeNode visuals = new DefaultMutableTreeNode(new VisualsPrefPanel()); @@ -167,7 +169,11 @@ public static void main(String[] args) { return model; } - public class VisualsPrefPanel extends BasicPrefPanel { + public void browseForConfiguration() { + generalAllPrefPanel.browseForConfiguration(); + } + + public class VisualsPrefPanel extends BasicPrefPanel { private final JRadioButton topPlacement = new JRadioButton("Top"); private final JRadioButton bottomPlacement = new JRadioButton("Bottom"); private final JCheckBox statusBar = new JCheckBox("Show Status bar"); @@ -489,45 +495,12 @@ public static void main(String[] args) { p6.add(configURLPanel); - JButton browseButton = new JButton("Browse"); + JButton browseButton = new JButton(" Browse "); browseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - String defaultPath = "."; - if (configurationURL.getItemCount() > 0) { - Object selectedItem = configurationURL.getSelectedItem(); - if (selectedItem != null) { - File currentConfigurationPath = new File(selectedItem.toString()).getParentFile(); - if (currentConfigurationPath != null) { - defaultPath = currentConfigurationPath.getPath(); - //JFileChooser constructor will not navigate to this location unless we remove the prefixing protocol and slash - //at least on winxp - if (defaultPath.toLowerCase().startsWith("file:\\")) { - defaultPath = defaultPath.substring("file:\\".length()); - } - } - } - } - - JFileChooser chooser = new JFileChooser(defaultPath); - int result = chooser.showOpenDialog(ApplicationPreferenceModelPanel.this); - if (JFileChooser.APPROVE_OPTION == result) { - File f = chooser.getSelectedFile(); - try - { - String newConfigurationFile = f.toURI().toURL().toExternalForm(); - if (!committedPreferenceModel.getConfigurationURLs().contains(newConfigurationFile)) { - configurationURL.addItem(newConfigurationFile); - } - configurationURL.setSelectedItem(newConfigurationFile); - } - catch (MalformedURLException e1) - { - e1.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - } + browseForConfiguration(); } }); Box browsePanel = new Box(BoxLayout.X_AXIS); @@ -557,7 +530,43 @@ public static void main(String[] args) { configurationURL.setSelectedItem(configToDisplay); } - private void initSliderComponent() { + public void browseForConfiguration() { + String defaultPath = "."; + if (configurationURL.getItemCount() > 0) { + Object selectedItem = configurationURL.getSelectedItem(); + if (selectedItem != null) { + File currentConfigurationPath = new File(selectedItem.toString()).getParentFile(); + if (currentConfigurationPath != null) { + defaultPath = currentConfigurationPath.getPath(); + //JFileChooser constructor will not navigate to this location unless we remove the prefixing protocol and slash + //at least on winxp + if (defaultPath.toLowerCase().startsWith("file:\\")) { + defaultPath = defaultPath.substring("file:\\".length()); + } + } + } + } + + JFileChooser chooser = new JFileChooser(defaultPath); + int result = chooser.showOpenDialog(ApplicationPreferenceModelPanel.this); + if (JFileChooser.APPROVE_OPTION == result) { + File f = chooser.getSelectedFile(); + try + { + String newConfigurationFile = f.toURI().toURL().toExternalForm(); + if (!committedPreferenceModel.getConfigurationURLs().contains(newConfigurationFile)) { + configurationURL.addItem(newConfigurationFile); + } + configurationURL.setSelectedItem(newConfigurationFile); + } + catch (MalformedURLException e1) + { + e1.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + } + } + + private void initSliderComponent() { responsiveSlider.setToolTipText( "Adjust to set the responsiveness of the app. How often the view is updated."); responsiveSlider.setSnapToTicks(true); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawAbout.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawAbout.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawAbout.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawAbout.java Thu Jun 24 06:38:43 2010 @@ -63,7 +63,7 @@ class ChainsawAbout extends JDialog { setBackground(Color.white); getContentPane().setLayout(new BorderLayout()); - JButton closeButton = new JButton("Close"); + JButton closeButton = new JButton(" Close "); closeButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setVisible(false); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java Thu Jun 24 06:38:43 2010 @@ -1059,8 +1059,8 @@ class ChainsawToolBarAndMenus implements new ExpressionRuleContext(new FilterModel(), entryField)); panel.add(entryField, BorderLayout.CENTER); - JButton ok = new JButton("OK"); - JButton close = new JButton("Close"); + JButton ok = new JButton(" OK "); + JButton close = new JButton(" Close "); JPanel lowerPanel = new JPanel(); lowerPanel.add(ok); lowerPanel.add(Box.createHorizontalStrut(7)); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileMenu.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileMenu.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileMenu.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileMenu.java Thu Jun 24 06:38:43 2010 @@ -51,6 +51,7 @@ import org.apache.log4j.xml.XMLDecoder; * @author Scott Deboy */ class FileMenu extends JMenu { + private Action loadConfigAction; private Action exitAction; private Action loadLog4JAction; private Action loadUtilLoggingAction; @@ -62,9 +63,15 @@ class FileMenu extends JMenu { super("File"); setMnemonic(KeyEvent.VK_F); + loadConfigAction = new AbstractAction("Load Chainsaw configuration"){ + public void actionPerformed(ActionEvent actionEvent) { + logUI.showApplicationPreferencesBrowse(); + } + }; + loadLog4JAction = new FileLoadAction( - logUI, new XMLDecoder(logUI), "Process events from local log4j XML-formatted file (.xml or .zip)...", false); + logUI, new XMLDecoder(logUI), "Open log4j XML-formatted file (.xml or .zip)...", false); loadLog4JAction.putValue( Action.ACCELERATOR_KEY, @@ -76,19 +83,20 @@ class FileMenu extends JMenu { loadUtilLoggingAction = new FileLoadAction( logUI, new UtilLoggingXMLDecoder(logUI), - "Process events from local java.util.logging XML-formatted file...", false); + "Open util.logging XML-formatted file (.xml or .zip)...", false); remoteLog4JAction = new FileLoadAction( - logUI, new XMLDecoder(logUI), "Process events from remote log4j XML-formatted file...", + logUI, new XMLDecoder(logUI), "Open remote log4j XML-formatted file (.xml or .zip)...", true); remoteUtilLoggingAction = new FileLoadAction( logUI, new UtilLoggingXMLDecoder(logUI), - "Process events from remote java.util.logging XML-formatted file...", true); + "Open remote util.logging XML-formatted file (.xml or .zip)...", true); saveAction = new FileSaveAction(logUI); + JMenuItem loadChainsawConfig = new JMenuItem(loadConfigAction); JMenuItem loadLog4JFile = new JMenuItem(loadLog4JAction); JMenuItem loadUtilLoggingFile = new JMenuItem(loadUtilLoggingAction); JMenuItem remoteLog4JFile = new JMenuItem(remoteLog4JAction); @@ -111,6 +119,7 @@ class FileMenu extends JMenu { JMenuItem menuItemExit = new JMenuItem(exitAction); + add(loadChainsawConfig); add(loadLog4JFile); add(loadUtilLoggingFile); addSeparator(); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java Thu Jun 24 06:38:43 2010 @@ -89,7 +89,7 @@ class FileSaveAction extends AbstractAct } chooser.setAcceptAllFileFilterUsed(true); - chooser.setDialogTitle("Save displayed events to XML file..."); + chooser.setDialogTitle("Save displayed events (XML or .zipped XML)..."); chooser.showSaveDialog(parent); File selectedFile = chooser.getSelectedFile(); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java Thu Jun 24 06:38:43 2010 @@ -1073,7 +1073,7 @@ public class LogPanel extends DockablePa new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0)); //Adding a button to clear filter expressions which are currently remembered by Chainsaw... - final JButton clearButton = new JButton("Clear expression"); + final JButton clearButton = new JButton(" Clear expression "); clearButton.setToolTipText("Click here to remove the selected expression from the list"); clearButton.addActionListener( new AbstractAction() { Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java Thu Jun 24 06:38:43 2010 @@ -236,15 +236,15 @@ public class LogPanelPreferencePanel ext private JTextField customFormatText = new JTextField("", 10); private JTextField loggerPrecision = new JTextField(10); - private JRadioButton rdCustom = new JRadioButton("Custom Format"); + private JRadioButton rdCustom = new JRadioButton("Custom Format "); private final JRadioButton rdISO = new JRadioButton( - "Fast ISO 8601 format (yyyy-MM-dd HH:mm:ss)"); + "Fast ISO 8601 format (yyyy-MM-dd HH:mm:ss) "); private final JTextField timeZone = new JTextField(10); - private final JRadioButton rdLevelIcons = new JRadioButton("Icons"); - private final JRadioButton rdLevelText = new JRadioButton("Text"); - private final JCheckBox wrapMessage = new JCheckBox("Display entire message and marker text in the table (multi-line rows)"); - private final JCheckBox highlightSearchMatchText = new JCheckBox("Highlight search match text"); + private final JRadioButton rdLevelIcons = new JRadioButton("Icons "); + private final JRadioButton rdLevelText = new JRadioButton("Text "); + private final JCheckBox wrapMessage = new JCheckBox("Wrap message field (display multi-line rows) "); + private final JCheckBox highlightSearchMatchText = new JCheckBox("Highlight search match text "); private JRadioButton rdLast; //~ Constructors ========================================================== @@ -337,7 +337,7 @@ public class LogPanelPreferencePanel ext dateFormatPanel.add(customPanel); dateFormatPanel.add(Box.createVerticalStrut(5)); - JLabel dateFormatLabel = new JLabel("Time zone of events on tab (leave blank for local time zone"); + JLabel dateFormatLabel = new JLabel("Time zone of events (or blank for local time zone"); dateFormatPanel.add(dateFormatLabel); timeZone.setMaximumSize(timeZone.getPreferredSize()); @@ -378,7 +378,7 @@ public class LogPanelPreferencePanel ext loggerFormatPanel.add(Box.createVerticalStrut(3)); final JLabel precisionLabel = - new JLabel("Number of package levels to hide (leave blank to display full logger)"); + new JLabel("Number of package levels to hide (or blank to display full logger)"); loggerFormatPanel.add(precisionLabel); loggerFormatPanel.add(Box.createVerticalStrut(5)); @@ -387,7 +387,6 @@ public class LogPanelPreferencePanel ext loggerFormatPanel.add(loggerPrecision); add(loggerFormatPanel); - add(Box.createVerticalGlue()); } /* Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java Thu Jun 24 06:38:43 2010 @@ -54,7 +54,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; - import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.BorderFactory; @@ -66,7 +65,6 @@ import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JEditorPane; import javax.swing.JFrame; -import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPopupMenu; @@ -85,7 +83,6 @@ import javax.swing.event.ChangeListener; import javax.swing.event.EventListenerList; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; - import org.apache.log4j.Appender; import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.Level; @@ -108,7 +105,6 @@ import org.apache.log4j.chainsaw.prefs.S import org.apache.log4j.chainsaw.prefs.SettingsListener; import org.apache.log4j.chainsaw.prefs.SettingsManager; import org.apache.log4j.chainsaw.receivers.ReceiversPanel; -import org.apache.log4j.helpers.Constants; import org.apache.log4j.net.SocketNodeEventListener; import org.apache.log4j.plugins.Plugin; import org.apache.log4j.plugins.PluginEvent; @@ -430,8 +426,11 @@ public class LogUI extends JFrame implem }}); LogManager.getRootLogger().setLevel(Level.TRACE); - - logUI.activateViewer(); + EventQueue.invokeLater(new Runnable() { + public void run() { + logUI.activateViewer(); + } + }); logger.info("SecurityManager is now: " + System.getSecurityManager()); @@ -1444,12 +1443,9 @@ public class LogUI extends JFrame implem dialog.setLocation( (screenSize.width / 2) - (dialog.getWidth() / 2), (screenSize.height / 2) - (dialog.getHeight() / 2)); - dialog.setVisible(true); - - dialog.dispose(); - applicationPreferenceModel.setShowNoReceiverWarning( - !noReceiversWarningPanel.isDontWarnMeAgain()); + dialog.setVisible(true); + applicationPreferenceModel.setShowNoReceiverWarning(!noReceiversWarningPanel.isDontWarnMeAgain()); if (noReceiversWarningPanel.getModel().isManualMode()) { applicationPreferenceModel.setReceivers(true); @@ -1550,6 +1546,12 @@ public class LogUI extends JFrame implem preferencesFrame.setVisible(true); } + public void showApplicationPreferencesBrowse() { + applicationPreferenceModelPanel.updateModel(); + preferencesFrame.setVisible(true); + applicationPreferenceModelPanel.browseForConfiguration(); + } + public void showAboutBox() { if (aboutBox == null) { aboutBox = new ChainsawAbout(this); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java Thu Jun 24 06:38:43 2010 @@ -381,7 +381,7 @@ final class LoggerNameTreePanel extends ignoreExpressionEntryField.addKeyListener(new ExpressionRuleContext(filterModel, ignoreExpressionEntryField)); ignoreExpressionDialogPanel.add(new JScrollPane(ignoreExpressionEntryField), BorderLayout.CENTER); - JButton ignoreExpressionCloseButton = new JButton(new AbstractAction("Close") { + JButton ignoreExpressionCloseButton = new JButton(new AbstractAction(" Close ") { public void actionPerformed(ActionEvent e) { String ignoreText = ignoreExpressionEntryField.getText(); @@ -396,7 +396,7 @@ final class LoggerNameTreePanel extends Box ignoreListButtonPanel = Box.createHorizontalBox(); - JButton unhideAll = new JButton(new AbstractAction("Unhide All") { + JButton unhideAll = new JButton(new AbstractAction(" Unhide All ") { public void actionPerformed(final ActionEvent e) { @@ -411,7 +411,7 @@ final class LoggerNameTreePanel extends ignoreListButtonPanel.add(unhideAll); ignoreListButtonPanel.add(Box.createHorizontalGlue()); - JButton ignoreCloseButton = new JButton(new AbstractAction("Close") { + JButton ignoreCloseButton = new JButton(new AbstractAction(" Close ") { public void actionPerformed(ActionEvent e) { Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/NoReceiversWarningPanel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/NoReceiversWarningPanel.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/NoReceiversWarningPanel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/NoReceiversWarningPanel.java Thu Jun 24 06:38:43 2010 @@ -28,10 +28,10 @@ import java.awt.event.FocusListener; import java.io.File; import java.net.MalformedURLException; import java.net.URL; - import javax.swing.AbstractAction; import javax.swing.BorderFactory; import javax.swing.Box; +import javax.swing.BoxLayout; import javax.swing.ButtonGroup; import javax.swing.DefaultComboBoxModel; import javax.swing.DefaultListCellRenderer; @@ -44,12 +44,11 @@ import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JRadioButton; -import javax.swing.JTextArea; +import javax.swing.JTextPane; import javax.swing.SwingUtilities; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; import javax.swing.filechooser.FileFilter; - import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.apache.log4j.chainsaw.prefs.SettingsManager; @@ -72,7 +71,7 @@ class NoReceiversWarningPanel extends JP private final JComboBox previousConfigs = new JComboBox(); private final JRadioButton simpleReceiver = new JRadioButton( - "Define a Socket-based receiver"); + "Define a "); private final JRadioButton justLoadingFile = new JRadioButton( "I'm fine thanks, don't worry"); @@ -82,7 +81,7 @@ class NoReceiversWarningPanel extends JP "Use most recent configuration defined through the Receiver configuration panel"); private final JRadioButton manualOption = new JRadioButton( "Define receivers through the Receiver configuration panel (configuration saved on exit)"); - private final JButton okButton = new JButton("Ok"); + private final JButton okButton = new JButton(" OK "); private final PanelModel model = new PanelModel(); final DefaultComboBoxModel configModel = new DefaultComboBoxModel(); @@ -131,10 +130,9 @@ class NoReceiversWarningPanel extends JP gc.weightx = 1.0; gc.weighty = 1.0; - JTextArea description = new JTextArea("To load events into Chainsaw, a 'receiver' configuration must be provided.\n\n" + + JTextPane description = new JTextPane(); + description.setText("To load events into Chainsaw, a 'receiver' configuration must be provided.\n\n" + "NOTE: An example receiver configuration is available from the Welcome tab ('view example receiver configuration')"); - description.setWrapStyleWord(true); - description.setLineWrap(true); description.setEditable(false); description.setOpaque(false); description.setFont(getFont()); @@ -239,7 +237,7 @@ class NoReceiversWarningPanel extends JP }); final JButton searchButton = new JButton(new AbstractAction( - "Browse...") { + " Browse... ") { public void actionPerformed(ActionEvent e) { try { @@ -323,11 +321,11 @@ class NoReceiversWarningPanel extends JP } }); - JPanel simpleSocketPanel = new JPanel(new GridBagLayout()); - - GridBagConstraints simpleSocketGC = new GridBagConstraints(); + JPanel simpleSocketPanel = new JPanel(); + simpleSocketPanel.setLayout(new BoxLayout(simpleSocketPanel, BoxLayout.X_AXIS)); - simpleSocketPanel.add(simpleReceiver, simpleSocketGC); + simpleSocketPanel.add(simpleReceiver); + simpleSocketPanel.add(Box.createHorizontalStrut(5)); final JComboBox socketCombo = new JComboBox(simplePortModel); @@ -361,8 +359,10 @@ class NoReceiversWarningPanel extends JP }); simpleSocketPanel.add(receiverCombo); + simpleSocketPanel.add(Box.createHorizontalStrut(5)); simpleSocketPanel.add(new JLabel(" on port ")); - simpleSocketPanel.add(socketCombo, simpleSocketGC); + simpleSocketPanel.add(Box.createHorizontalStrut(5)); + simpleSocketPanel.add(socketCombo); /** * This listener activates/deactivates certain controls based on the current Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/SmallToggleButton.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/SmallToggleButton.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/SmallToggleButton.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/SmallToggleButton.java Thu Jun 24 06:38:43 2010 @@ -45,7 +45,7 @@ import javax.swing.border.SoftBevelBorde class SmallToggleButton extends JToggleButton implements ItemListener, MouseListener { protected Border m_highlighted = new SoftBevelBorder(BevelBorder.RAISED); - protected Border m_raised = BorderFactory.createEmptyBorder(); + protected Border m_raised = BorderFactory.createEmptyBorder(3, 3, 3, 3); protected Border m_inactive = m_raised; protected Border m_border = m_inactive; protected Border m_lowered = new SoftBevelBorder(BevelBorder.LOWERED); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java Thu Jun 24 06:38:43 2010 @@ -493,7 +493,7 @@ public class ColorPanel extends JPanel panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS)); panel.add(Box.createHorizontalGlue()); - JButton saveAsDefaultButton = new JButton("Save as default"); + JButton saveAsDefaultButton = new JButton(" Save as default "); saveAsDefaultButton.addActionListener( new AbstractAction() { @@ -505,7 +505,7 @@ public class ColorPanel extends JPanel panel.add(saveAsDefaultButton); - JButton applyButton = new JButton("Apply"); + JButton applyButton = new JButton(" Apply "); applyButton.addActionListener( new AbstractAction() { @@ -519,7 +519,7 @@ public class ColorPanel extends JPanel panel.add(Box.createHorizontalStrut(10)); panel.add(applyButton); - JButton closeButton = new JButton("Close"); + JButton closeButton = new JButton(" Close "); closeButton.addActionListener( new AbstractAction() { @@ -649,7 +649,7 @@ public class ColorPanel extends JPanel buttonPanel.setAlignmentX(Component.LEFT_ALIGNMENT); JPanel newPanel = new JPanel(); - JButton newButton = new JButton("New"); + JButton newButton = new JButton(" New "); newButton.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent evt) { @@ -674,7 +674,7 @@ public class ColorPanel extends JPanel newPanel.add(newButton); JPanel deletePanel = new JPanel(); - final JButton deleteButton = new JButton("Delete"); + final JButton deleteButton = new JButton(" Delete "); deleteButton.setEnabled(false); deleteButton.addActionListener( Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/helper/OkCancelPanel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/helper/OkCancelPanel.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/helper/OkCancelPanel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/helper/OkCancelPanel.java Thu Jun 24 06:38:43 2010 @@ -26,8 +26,8 @@ import javax.swing.JPanel; public class OkCancelPanel extends JPanel { - private final JButton cancelButton = new JButton("Cancel"); - private final JButton okButton = new JButton("Ok"); + private final JButton cancelButton = new JButton(" Cancel "); + private final JButton okButton = new JButton(" OK "); public OkCancelPanel() { setLayout(new GridBagLayout()); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java Thu Jun 24 06:38:43 2010 @@ -63,8 +63,8 @@ public final class LayoutEditorPane exte private final Action cutAction; private final JToolBar editorToolbar = new JToolBar(); private final JToolBar okCancelToolbar = new JToolBar(); - private final JButton okButton = new JButton("Ok"); - private final JButton cancelButton = new JButton("Cancel"); + private final JButton okButton = new JButton(" OK "); + private final JButton cancelButton = new JButton(" Cancel "); // private final JButton applyButton = new JButton(); private final JEditorPane patternEditor = new JEditorPane("text/plain", ""); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java Thu Jun 24 06:38:43 2010 @@ -532,7 +532,7 @@ public class VFSLogFilePatternReceiver e gc.anchor=GridBagConstraints.SOUTH; gc.fill=GridBagConstraints.NONE; - JButton submitButton = new JButton("Submit"); + JButton submitButton = new JButton(" Submit "); panel.add(submitButton, gc); getContentPane().add(panel); Modified: logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html (original) +++ logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html Thu Jun 24 06:38:43 2010 @@ -94,7 +94,7 @@ CTRL-S - - Save displayed events as XML + Save displayed events CTRL-O - Load file of XML events Modified: logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html?rev=957433&r1=957432&r2=957433&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html (original) +++ logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html Thu Jun 24 06:38:43 2010 @@ -1,20 +1,3 @@ - @@ -27,6 +10,11 @@ NOTE: 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.

2.1

+

24 Jun 2010

+
    +
  • Added 'Load Chainsaw configuration' menu item to file menu, reworded file-open menu items (file-open currently supports only log4j or util.logging XML-formatted log files).
  • +
  • Fixed graphical glitches noticed when running in Linux with default look and feel.
  • +

20 Jun 2010

  • Added new 'ignore loggers below selection' context menu item to logger tree context menu (makes it easy to quickly display specific loggers without building expressions - hide all loggers below the selection and then enable individual sub-loggers).
  • @@ -54,6 +42,10 @@
    • Loggers can now be ignored from the logger tree even while focus-on is enabled.
    +

    5 Jun 2010

    +
      +
    • Added new 'ignore all loggers' context menu item to logger tree context menu (makes it easy to quickly display specific loggers without building expressions - hide all loggers and then enable individual loggers).
    • +

    20 May 2010

    • For users who would like to specify the Chainsaw configuration file from the command line, specify the URL to a configuration file as the first argument to Chainsaw (will bypass the the initial use of the automatic configuration URL mechanism). Example: java -classpath {classpath here} org.apache.log4j.chainsaw.LogUI file:///c:/downloads/tools/log4j/config/log4j.xml