Author: echatellier
Date: 2009-10-08 19:08:09 +0200 (Thu, 08 Oct 2009)
New Revision: 2671
Modified:
trunk/src/main/java/org/chorem/jtimer/ui/alert/AlertCellEditor.java
trunk/src/main/java/org/chorem/jtimer/ui/alert/AlertCellRenderer.java
trunk/src/main/java/org/chorem/jtimer/ui/widget/DurationEditor.java
Log:
Fix duration editor bound changes.
Modified: trunk/src/main/java/org/chorem/jtimer/ui/alert/AlertCellEditor.java
===================================================================
--- trunk/src/main/java/org/chorem/jtimer/ui/alert/AlertCellEditor.java 2009-10-02 13:23:49 UTC (rev 2670)
+++ trunk/src/main/java/org/chorem/jtimer/ui/alert/AlertCellEditor.java 2009-10-08 17:08:09 UTC (rev 2671)
@@ -89,7 +89,7 @@
break;
case 1:
- DurationEditor durationEditor = new DurationEditor();
+ DurationEditor durationEditor = new DurationEditor(9999);
long duration = ((Long)value).longValue();
durationEditor.setDuration(duration);
durationEditor.addPropertyChangeListener("duration", this);
Modified: trunk/src/main/java/org/chorem/jtimer/ui/alert/AlertCellRenderer.java
===================================================================
--- trunk/src/main/java/org/chorem/jtimer/ui/alert/AlertCellRenderer.java 2009-10-02 13:23:49 UTC (rev 2670)
+++ trunk/src/main/java/org/chorem/jtimer/ui/alert/AlertCellRenderer.java 2009-10-08 17:08:09 UTC (rev 2671)
@@ -60,7 +60,7 @@
break;
case 1:
- DurationEditor durationEditor = new DurationEditor();
+ DurationEditor durationEditor = new DurationEditor(9999);
long duration = ((Long)value).longValue();
durationEditor.setDuration(duration);
c = durationEditor;
Modified: trunk/src/main/java/org/chorem/jtimer/ui/widget/DurationEditor.java
===================================================================
--- trunk/src/main/java/org/chorem/jtimer/ui/widget/DurationEditor.java 2009-10-02 13:23:49 UTC (rev 2670)
+++ trunk/src/main/java/org/chorem/jtimer/ui/widget/DurationEditor.java 2009-10-08 17:08:09 UTC (rev 2671)
@@ -66,12 +66,22 @@
/**
* Constructor.
+ *
+ * Default hours set to 24.
*/
public DurationEditor() {
+ this(24);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param maxHourValue max hour value
+ */
+ public DurationEditor(int maxHourValue) {
super(new FlowLayout(FlowLayout.CENTER, 0, 0));
-
- // hack set 9999 Integer.MAX_VALUE make zone too huge
- hourSpinnerModel = new SpinnerNumberModel(0, 0, 9999, 1);
+
+ hourSpinnerModel = new SpinnerNumberModel(0, 0, maxHourValue, 1);
hourSpinner = new JSpinner(hourSpinnerModel);
add(hourSpinner);
@@ -135,7 +145,8 @@
}
// down
} else if (value < 0) {
- if (minuteSpinnerModel.getPreviousValue() != null) {
+ if (hourSpinnerModel.getNumber().intValue() > 0 ||
+ minuteSpinnerModel.getNumber().intValue() > 0) {
secondSpinnerModel.setValue(value + 60);
minuteSpinnerModel.setValue(minuteSpinnerModel.getPreviousValue());
} else {