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]