From: <es...@us...> - 2009-11-16 20:24:17
|
Revision: 431 http://columba.svn.sourceforge.net/columba/?rev=431&view=rev Author: eschman Date: 2009-11-16 20:24:05 +0000 (Mon, 16 Nov 2009) Log Message: ----------- [feature] allow the user to view readonly events with the EditEventDialog but hide the ok button Modified Paths: -------------- columba/trunk/calendar/src/main/java/org/columba/calendar/facade/DialogFacade.java columba/trunk/calendar/src/main/java/org/columba/calendar/ui/action/EditActivityAction.java columba/trunk/calendar/src/main/java/org/columba/calendar/ui/action/NewAppointmentAction.java columba/trunk/calendar/src/main/java/org/columba/calendar/ui/box/CalendarBox.java columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/EditEventDialog.java columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/RecurrenceDialog.java Modified: columba/trunk/calendar/src/main/java/org/columba/calendar/facade/DialogFacade.java =================================================================== --- columba/trunk/calendar/src/main/java/org/columba/calendar/facade/DialogFacade.java 2009-11-16 19:04:47 UTC (rev 430) +++ columba/trunk/calendar/src/main/java/org/columba/calendar/facade/DialogFacade.java 2009-11-16 20:24:05 UTC (rev 431) @@ -41,7 +41,7 @@ try { IEventInfo model = (IEventInfo) store.get(activityId); - EditEventDialog dialog = new EditEventDialog(null, model); + EditEventDialog dialog = new EditEventDialog(null, model, store.isReadOnly(activityId)); if (dialog.success()) { IEventInfo updatedModel = dialog.getModel(); Modified: columba/trunk/calendar/src/main/java/org/columba/calendar/ui/action/EditActivityAction.java =================================================================== --- columba/trunk/calendar/src/main/java/org/columba/calendar/ui/action/EditActivityAction.java 2009-11-16 19:04:47 UTC (rev 430) +++ columba/trunk/calendar/src/main/java/org/columba/calendar/ui/action/EditActivityAction.java 2009-11-16 20:24:05 UTC (rev 431) @@ -71,16 +71,14 @@ String id = (String) activity.getId(); ICalendarStore oldStore = activity.getStore(); - if (oldStore == null || oldStore.isReadOnly(id)) - return; // retrieve event from store try { IEventInfo model = (IEventInfo) oldStore.get(id); EditEventDialog dialog = new EditEventDialog(m.getContainer() - .getFrame(), model); - if (dialog.success()) { + .getFrame(), model, oldStore.isReadOnly(id)); + if (dialog.success() && !oldStore.isReadOnly(id)) { IEventInfo updatedModel = dialog.getModel(); ICalendarStore newStore = CalendarList.getInstance().get(updatedModel @@ -103,14 +101,10 @@ } public void selectionChanged(ActivitySelectionChangedEvent event) { - - if (event.getSelection().length == 0) setEnabled(false); else { - IActivity activity = event.getSelection()[0]; - ICalendarStore store = activity.getStore(); - setEnabled(store != null && !store.isReadOnly(activity.getId())); + setEnabled(true); } } Modified: columba/trunk/calendar/src/main/java/org/columba/calendar/ui/action/NewAppointmentAction.java =================================================================== --- columba/trunk/calendar/src/main/java/org/columba/calendar/ui/action/NewAppointmentAction.java 2009-11-16 19:04:47 UTC (rev 430) +++ columba/trunk/calendar/src/main/java/org/columba/calendar/ui/action/NewAppointmentAction.java 2009-11-16 20:24:05 UTC (rev 431) @@ -90,7 +90,7 @@ // FIXME calendar? IEventInfo eventInfo = new EventInfo(model.getId(), "", model); - EditEventDialog dialog = new EditEventDialog(null, eventInfo); + EditEventDialog dialog = new EditEventDialog(null, eventInfo, false); if (dialog.success()) { Modified: columba/trunk/calendar/src/main/java/org/columba/calendar/ui/box/CalendarBox.java =================================================================== --- columba/trunk/calendar/src/main/java/org/columba/calendar/ui/box/CalendarBox.java 2009-11-16 19:04:47 UTC (rev 430) +++ columba/trunk/calendar/src/main/java/org/columba/calendar/ui/box/CalendarBox.java 2009-11-16 20:24:05 UTC (rev 431) @@ -171,7 +171,7 @@ try { IEventInfo model = (IEventInfo) store.get(selected.getId()); - EditEventDialog dialog = new EditEventDialog(null, model); + EditEventDialog dialog = new EditEventDialog(null, model, store.isReadOnly(selected.getId())); if (dialog.success()) { IEventInfo updatedModel = dialog.getModel(); Modified: columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/EditEventDialog.java =================================================================== --- columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/EditEventDialog.java 2009-11-16 19:04:47 UTC (rev 430) +++ columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/EditEventDialog.java 2009-11-16 20:24:05 UTC (rev 431) @@ -94,14 +94,17 @@ DatePicker endDayDatePicker; + boolean readOnly; + boolean success = false; private IEventInfo model; - public EditEventDialog(JFrame parentFrame, IEventInfo model) { + public EditEventDialog(JFrame parentFrame, IEventInfo model, boolean readOnly) { super(parentFrame, true); this.model = model; + this.readOnly = readOnly; startDayDatePicker = new DatePicker(); @@ -167,6 +170,8 @@ okButton.addActionListener(this); okButton.setActionCommand("OK"); //$NON-NLS-1$ okButton.setDefaultCapable(true); + if (readOnly) + okButton.setEnabled(false); getRootPane().setDefaultButton(okButton); ButtonWithMnemonic helpButton = new ButtonWithMnemonic( @@ -397,7 +402,7 @@ categoriesTextField.setText(model.getEvent().getCategories()); - } else { + } else if (!readOnly) { model.getEvent().setSummary(summaryTextField.getText()); model.getEvent().setLocation(locationTextField.getText()); model.getEvent().setCategories(categoriesTextField.getText()); @@ -488,7 +493,7 @@ endTimePicker.setEnabled(true); } } else if (action.equals("RecurrenceDialog")) { - RecurrenceDialog r = new RecurrenceDialog(null, model); + RecurrenceDialog r = new RecurrenceDialog(null, model, readOnly); if (r.success()) { model = r.getModel(); } Modified: columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/RecurrenceDialog.java =================================================================== --- columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/RecurrenceDialog.java 2009-11-16 19:04:47 UTC (rev 430) +++ columba/trunk/calendar/src/main/java/org/columba/calendar/ui/dialog/RecurrenceDialog.java 2009-11-16 20:24:05 UTC (rev 431) @@ -49,6 +49,8 @@ private IEventInfo model; + private boolean readOnly; + private boolean success = false; // frequency @@ -65,12 +67,13 @@ JRadioButton rUntilDate = new JRadioButton(); DatePicker endDatePicker; - public RecurrenceDialog(Frame parentFrame, IEventInfo model) { + public RecurrenceDialog(Frame parentFrame, IEventInfo model, boolean readOnly) { super(parentFrame, true); endDatePicker = new DatePicker(); this.model = model; + this.readOnly = readOnly; setLayout(new BorderLayout()); getContentPane().add( @@ -227,7 +230,7 @@ endDatePicker.setEnabled(false); r.setEndType(IRecurrence.RECURRENCE_END_FOREVER); } - } else { + } else if (!readOnly) { if (freqComboBox.getSelectedItem().equals(RECURRENCE_DAILY)) { r.setType(IRecurrence.RECURRENCE_DAILY); } else if (freqComboBox.getSelectedItem().equals(RECURRENCE_WEEKLY)) { @@ -274,6 +277,8 @@ okButton.addActionListener(this); okButton.setActionCommand("OK"); //$NON-NLS-1$ okButton.setDefaultCapable(true); + if (readOnly) + okButton.setEnabled(false); getRootPane().setDefaultButton(okButton); ButtonWithMnemonic helpButton = new ButtonWithMnemonic( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |