Ignore:
Timestamp:
07/09/06 00:47:17 (18 years ago)
Author:
Nicholas Riley
Message:

Basic functionality works.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/hiptop/pester/net/sabi/pester/AlarmListView.java

    r241 r242  
    3535    private Menu sPeriodUnitsMenu;
    3636    private PopupMenu sPeriodUnitsPopup;
     37    // XXX don't allow <5 second repeating alarms
    3738    private CheckBox sRepeatCheckBox;
    3839    private DateTimeEditor sTimeEditor, sDateEditor;
     
    128129    protected void constrainDate() {
    129130        // XXX schedule every minute (second?) if in AT mode
     131        // XXX could use onPeriodicPulse() perhaps
    130132        Date now = new Date();
    131133        sDateEditor.min(now);
    132134        sDatePicker.min(now);
    133         sSetAlarmButton.setEnabled(editingDate().compareTo(now) > 0);
     135        sSetAlarmButton.setEnabled(sInButton.getValue() == 1 ||
     136                                   editingDate().compareTo(now) > 0);
    134137    }
    135138
     
    153156                sAlarmList.addItem(sEditingAlarm);
    154157                setFocusedItem(sEditingAlarm);
    155                 sFocusedAlarm = sEditingAlarm; // XXX do we need this?
     158                sFocusedAlarm = sEditingAlarm;
    156159            } else {
    157160                sEditingAlarm.update();
    158161            }
    159162        case EVENT_CANCEL_ALARM:
    160             if (sEditingAlarm == sFocusedAlarm) { // existing alarm
    161                 // XXX (re)schedule alarm
    162                 sEditingAlarm.endEditing();
    163             }
     163            if (sEditingAlarm == sFocusedAlarm)
     164                sEditingAlarm.schedule();
    164165            sEditingAlarm = null;
    165166            return true;
     
    170171        case EVENT_IN:
    171172            sAtButton.setValue(0);
     173            constrainDate();
    172174            return true;
    173175        case EVENT_AT:
     
    177179        case EVENT_TIME_EDITOR:
    178180            Date date = editingDate();
    179             // XXX factor this out (it's used twice)
    180181            // XXX do this on exit from the field, not on change
    181182            if (date.compareTo(new Date()) <= 0) {
     
    214215    }
    215216    public void onItemRemoved(ActiveList list, Object item, int index) {
     217        ((Alarm)item).cancel();
    216218        sAlarmListWindow.updateAlarmCount();
    217219        super.onItemRemoved(list, item, index);
Note: See TracChangeset for help on using the changeset viewer.