psmith      2003/12/19 21:27:16

  Modified:    src/java/org/apache/log4j/chainsaw LogUI.java
                        ApplicationPreferenceModel.java
                        ApplicationPreferenceModelPanel.java
               src/java/org/apache/log4j/chainsaw/prefs default.properties
  Log:
  added a confirm on exit preference item, on by default.
  
  Revision  Changes    Path
  1.62      +6 -0      jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java
  
  Index: LogUI.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -u -r1.61 -r1.62
  --- LogUI.java        20 Dec 2003 04:59:53 -0000      1.61
  +++ LogUI.java        20 Dec 2003 05:27:16 -0000      1.62
  @@ -1215,6 +1215,12 @@
      * Shutsdown by ensuring the Appender gets a chance to close.
      */
     private void shutdown() {
  +    if(getApplicationPreferenceModel().isConfirmExit()) {
  +      if(JOptionPane.showConfirmDialog(LogUI.this, "Are you sure you want to exit 
Chainsaw?", "Confirm Exit", JOptionPane.YES_NO_OPTION, 
JOptionPane.INFORMATION_MESSAGE) != JOptionPane.YES_OPTION) {
  +        return;
  +      }
  +    }
  +    
       JWindow progress = new JWindow();
       final ProgressPanel panel = new ProgressPanel(1, 3, "Shutting down");
       progress.getContentPane().add(panel);
  
  
  
  1.10      +20 -0     
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java
  
  Index: ApplicationPreferenceModel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ApplicationPreferenceModel.java   19 Dec 2003 10:12:26 -0000      1.9
  +++ ApplicationPreferenceModel.java   20 Dec 2003 05:27:16 -0000      1.10
  @@ -70,6 +70,7 @@
       private boolean statusBar;
       private boolean toolbar;
       private boolean receivers;
  +    private boolean confirmExit;
       
       private String lookAndFeelClassName;
       
  @@ -189,6 +190,7 @@
          setToolbar(event.asBoolean("toolbar"));
          setReceivers(event.asBoolean("receivers"));
          setLookAndFeelClassName(event.getSetting("lookAndFeelClassName"));
  +       setConfirmExit(event.asBoolean("confirmExit"));
       }
   
       /* (non-Javadoc)
  @@ -203,6 +205,7 @@
           event.saveSetting("toolbar", isToolbar());
           event.saveSetting("receivers", isReceivers());
           event.saveSetting("lookAndFeelClassName", getLookAndFeelClassName());
  +        event.saveSetting("confirmExit",isConfirmExit());
       }
   
       /**
  @@ -219,6 +222,7 @@
         setToolbar(model.isToolbar());
         setReceivers(model.isReceivers());
         setLookAndFeelClassName(model.getLookAndFeelClassName());
  +      setConfirmExit(model.isConfirmExit());
       }
       /**
        * @return Returns the responsiveness.
  @@ -314,6 +318,22 @@
         String oldValue = this.lookAndFeelClassName;
         this.lookAndFeelClassName = lookAndFeelClassName;
         firePropertyChange("lookAndFeelClassName", oldValue, 
this.lookAndFeelClassName);
  +    }
  +
  +    /**
  +     * @return Returns the confirmExit.
  +     */
  +    public final boolean isConfirmExit() {
  +      return confirmExit;
  +    }
  +
  +    /**
  +     * @param confirmExit The confirmExit to set.
  +     */
  +    public final void setConfirmExit(boolean confirmExit) {
  +      boolean oldValue = this.confirmExit;
  +      this.confirmExit = confirmExit;
  +      firePropertyChange("confirmExit", oldValue, this.confirmExit);
       }
   
   }
  
  
  
  1.8       +44 -16    
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
  
  Index: ApplicationPreferenceModelPanel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ApplicationPreferenceModelPanel.java      19 Dec 2003 10:13:15 -0000      1.7
  +++ ApplicationPreferenceModelPanel.java      20 Dec 2003 05:27:16 -0000      1.8
  @@ -270,22 +270,26 @@
                 ((Boolean) evt.getNewValue()).booleanValue());
             }
           });
  -      
  -      uncommittedPreferenceModel.addPropertyChangeListener("lookAndFeelClassName", 
new PropertyChangeListener(){
   
  -        public void propertyChange(PropertyChangeEvent evt) {
  +      uncommittedPreferenceModel.addPropertyChangeListener(
  +        "lookAndFeelClassName",
  +        new PropertyChangeListener() {
  +          public void propertyChange(PropertyChangeEvent evt) {
  +            String lf = evt.getNewValue().toString();
  +
  +            Enumeration enumeration = lookAndFeelGroup.getElements();
  +
  +            while (enumeration.hasMoreElements()) {
  +              JRadioButton button = (JRadioButton) enumeration.nextElement();
  +
  +              if (button.getName().equals(lf)) {
  +                button.setSelected(true);
   
  -           String lf = evt.getNewValue().toString();
  -           
  -           Enumeration enumeration = lookAndFeelGroup.getElements();
  -           while(enumeration.hasMoreElements()) {
  -             JRadioButton button = (JRadioButton) enumeration.nextElement();
  -             if(button.getName().equals(lf)) {
  -               button.setSelected(true);
  -               break;
  -             }
  -           }
  -        }});
  +                break;
  +              }
  +            }
  +          }
  +        });
       }
   
       /**
  @@ -352,9 +356,12 @@
         } catch (Exception e) {
           LogLog.debug("Can't find new GTK L&F, might be Windows, or <JDK1.4.2");
         }
  +
         add(lfPanel);
  -      
  -      add(new JLabel("Look and Feel change will apply the next time you start 
Chainsaw"));
  +
  +      add(
  +        new JLabel(
  +          "Look and Feel change will apply the next time you start Chainsaw"));
       }
     }
   
  @@ -367,6 +374,7 @@
         new JCheckBox("Prompt me on startup if there are no Receivers defined");
       private final JSlider responsiveSlider =
         new JSlider(JSlider.HORIZONTAL, 1, 4, 2);
  +    private final JCheckBox confirmExit = new JCheckBox("Confirm Exit");
       Dictionary sliderLabelMap = new Hashtable();
   
       /**
  @@ -388,6 +396,8 @@
         p.add(showNoReceiverWarning);
         p.add(Box.createHorizontalGlue());
   
  +      confirmExit.setToolTipText("Is set, you will be prompted to confirm the exit 
Chainsaw");
  +      
         setupInitialValues();
         setupListeners();
   
  @@ -401,6 +411,7 @@
         p1.add(identifierExpression);
         add(p1);
         add(p);
  +      add(confirmExit);
         add(Box.createVerticalGlue());
       }
   
  @@ -480,6 +491,23 @@
                 LogLog.debug("Adjust responsiveness to " + value);
                 uncommittedPreferenceModel.setResponsiveness(value);
               }
  +          }
  +        });
  +
  +      uncommittedPreferenceModel.addPropertyChangeListener(
  +        "confirmExit",
  +        new PropertyChangeListener() {
  +          public void propertyChange(PropertyChangeEvent evt) {
  +            boolean value = ((Boolean) evt.getNewValue()).booleanValue();
  +            confirmExit.setSelected(value);
  +          }
  +        });
  +
  +      confirmExit.addActionListener(
  +        new ActionListener() {
  +          public void actionPerformed(ActionEvent e) {
  +            uncommittedPreferenceModel.setConfirmExit(
  +              confirmExit.isSelected());
             }
           });
       }
  
  
  
  1.11      +1 -0      
jakarta-log4j/src/java/org/apache/log4j/chainsaw/prefs/default.properties
  
  Index: default.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/prefs/default.properties,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- default.properties        19 Dec 2003 10:11:10 -0000      1.10
  +++ default.properties        20 Dec 2003 05:27:16 -0000      1.11
  @@ -22,6 +22,7 @@
   showNoReceiverWarning=true
   identifierExpression=PROP.hostname - PROP.application
   lookAndFeelClassName=
  +confirmExit=true
   
   # These are the default LogPanel settings
   dateFormatPattern=ISO8601
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to