aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/ChangeLog.pre-1-4
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/ChangeLog.pre-1-4')
-rw-r--r--calendar/ChangeLog.pre-1-421872
1 files changed, 21872 insertions, 0 deletions
diff --git a/calendar/ChangeLog.pre-1-4 b/calendar/ChangeLog.pre-1-4
new file mode 100644
index 0000000000..912411acd1
--- /dev/null
+++ b/calendar/ChangeLog.pre-1-4
@@ -0,0 +1,21872 @@
+2003-06-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes part of #43388
+
+ * importers/icalendar-importer.c (prepare_events):
+ (prepare_tasks): use external iterators for removing components from
+ the main component.
+
+2003-05-29 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #43763
+
+ * gui/e-week-view.c (e_week_view_init): use g_signal_connect_after
+ for "button_press_event" callback.
+
+ * gui/e-day-view.c (e_day_view_init): ditto.
+
+2003-05-29 JP Rosevear <jpr@ximian.com>
+
+ Fixes #43775
+
+ * gui/weekday-picker.c (get_day_text): calculate the characters to
+ display correctly
+ (configure_items): use it
+ (weekday_picker_style_set): ditto
+
+ * gui/print.c (format_date): use e_utf8_strftime
+ (print_week_view_background): ditto
+ (print_month_summary): ditto
+ (range_selector_new): ditto
+ (print_comp_item): ditto
+
+ * gui/itip-utils.c (comp_description): the translation is already
+ utf8
+
+ * gui/e-itip-control.c (write_label_piece): the string is already
+ in utf8
+
+ * gui/e-day-view.c (e_day_view_style_set): use e_utf8_strftime
+ (e_day_view_recalc_cell_sizes): ditto
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw): use
+ e_utf8_strftime
+
+ * gui/e-cell-date-edit-text.c (ecd_get_text): return the
+ duplicated buffer (its already utf8)
+ (show_date_warning): use e_utf8_strftime
+
+ * gui/calendar-model.c (date_value_to_string): return the
+ duplicated buffer (its already utf8)
+ (calendar_model_value_to_string): the translations should already
+ be in utf8
+
+ * gui/calendar-config.c
+ (calendar_config_locale_supports_12_hour_format): use
+ e_utf8_strftime
+
+ * gui/calendar-commands.c (calendar_set_folder_bar_label): use
+ e_utf8_strftime
+
+2003-05-28 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #43455
+
+ * gui/tasks-control.c (confirm_expunge): converted to a GtkMessageDialog
+ and removed object weak's ref code, not needed anymore.
+
+2003-05-20 JP Rosevear <jpr@ximian.com>
+
+ Fixes #43308
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_style_set):
+ adjust row heights to reflect changes in etable row heights and
+ set display top to align properly
+
+2003-05-22 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor-page.c (comp_editor_page_destroy): unref
+ not ref the client
+
+2003-05-22 JP Rosevear <jpr@ximian.com>
+
+ Fixes #41329
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_on_zoomed_out_toggled): make sure the
+ meeting time is shown afterwards
+ (e_meeting_time_selector_on_working_hours_toggled): ditto
+
+2003-05-21 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #41234
+
+ * gui/dialogs/e-delegate-dialog.glade: changed button ordering.
+
+2003-05-20 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_setup_view_menus): Removed
+ debugging message.
+
+2003-05-20 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/dialogs/save-comp.c (save_component_dialog): Change this
+ dialog from using a gnome_message_box (which has been deprecated),
+ to using a gtk_message_dialog. This HIG-ifies this dialog, and
+ fixes bug #42046.
+
+2003-05-20 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #42056
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct):
+ Don't create accel groups for menuitem mnemonics. Don't use
+ deprecated functions where we actually need accel groups.
+
+2003-05-19 Dan Winship <danw@ximian.com>
+
+ * pcs/cal-backend.c (cal_backend_finalize): Don't double-free
+ newly-added categories that the gui hasn't been told about yet.
+ #43321
+
+2003-05-19 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/main.c (factory): set 'initialized' to TRUE when initialization
+ is done, or we get the initialization code called over and over.
+
+2003-05-19 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/e-meeting-time-sel.c: (e_meeting_time_selector_construct):
+ Added HIG-blessed padding to (some of) the widgets in the
+ dialog.
+
+ * gui/dialogs/meeting-page.glade: Added HIG-blessed border width
+ and spacing to the meeting page of the event editor.
+
+ * gui/dialogs/schedule-page.glade: Added HIG-blessed border width
+ to the schedule page on the event editor.
+
+
+2003-05-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_destroy): remove the query time
+ out if its still alive
+ (update_query_timeout): update the query and clear the time out
+ (client_cal_opened_cb): add the query update timeout
+
+2003-05-19 JP Rosevear <jpr@ximian.com>
+
+ Fixes #43103
+
+ * gui/e-day-view.c (e_day_view_init): connect normally instead of
+ after so that our boolean return values afffect the action signal
+ emmissions properly
+ (e_day_view_on_top_canvas_drag_motion): fix proto to be a gboolean
+ (e_day_view_on_main_canvas_drag_motion): ditto
+
+ * gui/e-week-view.c (e_week_view_init): connect normally instead
+ of after so that our boolean return values afffect the action
+ signal emmissions properly
+
+2003-05-16 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor.c (make_title_from_comp): the title is
+ already in UTF-8
+
+2003-05-16 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #42220
+
+ * gui/e-day-view.c (e_day_view_finish_resize): hide canvas items and
+ update internal fields before updating the object.
+
+2003-05-15 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor.c (comp_editor_finalize): unref the
+ client and the ui component
+
+2003-05-15 JP Rosevear <jpr@ximian.com>
+
+ Fixes #41935
+
+ * gui/e-week-view.c (e_week_view_init): listen for scroll events
+ on the canvas
+ (e_week_view_on_button_press): don't scroll here
+ (e_week_view_on_scroll): scroll here
+
+ * gui/e-day-view.c (e_day_view_init): listen for scroll events on
+ the time and main canvases
+ (e_day_view_on_main_canvas_button_press): don't scroll here
+ (e_day_view_on_main_canvas_scroll): scroll here
+ (e_day_view_on_time_canvas_scroll): and here
+
+2003-05-15 JP Rosevear <jpr@ximian.com>
+
+ Fixes #43029
+
+ * gui/e-week-view.c (e_week_view_init): don't listen for destroy
+ signal
+ (e_week_view_destroy): check for NULL and make invisible NULL
+ after we destroy it, unref cursors and NULL them out as well,
+ guard against freeing events multiple times
+
+ * gui/e-day-view.c (e_day_view_destroy): check for NULL and make
+ invisible NULL after we destroy it, unref cursors and NULL them
+ out as well, guard against freeing events multiple times
+ (e_day_view_init): don't listen for destroy signal
+
+ * gui/e-calendar-table.c (e_calendar_table_init): don't listen for
+ destroy signal
+ (e_calendar_table_destroy): check for NULL and make invisible NULL
+ after we destroy it
+
+2003-05-15 JP Rosevear <jpr@ximian.com>
+
+ Fixes #41930
+
+ * idl/evolution-calendar.idl: Make sure everything that can raise
+ a NotFound exception lists it
+
+2003-05-15 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_refresh_free_busy): ref ourselves the
+ number of times we'll get called back
+
+2003-05-14 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-tasks.c (e_tasks_destroy): guard against multiple destroys
+
+ * cal-client/cal-client.c (cal_client_finalize): unref the
+ bonobo listener
+
+ * gui/gnome-cal.c (gnome_calendar_destroy): guard against multiple
+ destroy calls
+
+ * gui/e-week-view.c (e_week_view_init): connect after destroy
+ (invisible_destroyed): don't unref, its already destroyed
+
+ * gui/e-day-view.c (e_day_view_init): connect after destroy
+ (invisible_destroyed): don't unref, its already destroyed
+
+ * gui/e-calendar-table.c (e_calendar_table_class_init): make sure
+ we set the parent class
+ (e_calendar_table_init): connect after the destroy handler runs
+ (e_calendar_table_destroy): guard against multiple destroys
+ (invisible_destroyed): don't unref the invisible, its already
+ being destroyed
+
+ * gui/calendar-offline-handler.c (backend_cal_set_mode): unref the
+ client, we are done with it now
+ (backend_cal_opened_online): ditto
+ (impl_dispose): unref our main client
+
+ * gui/calendar-commands.c (control_util_set_folder_bar_label):
+ release/unref the shell view once we are done with it
+ (control_util_show_settings): ditto
+
+2003-05-13 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/alarm-queue.c (notify_dialog_cb): fixed memory
+ leak introduced by previous commit.
+
+2003-05-12 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #41760
+
+ * gui/alarm-notify/alarm-queue.c (create_snooze): don't add a new
+ alarm, but update the already existing one.
+ (notify_dialog_cb): make sure we don't remove the alarm if we are
+ snoozing.
+
+2003-05-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-page.glade: fix button conversion problem
+
+ * gui/dialogs/task-details-page.c
+ (task_details_page_fill_widgets): only free the percent if its
+ non-null
+
+2003-05-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-client.c (cal_client_discard_alarm): added missing
+ assignment.
+
+2003-05-05 JP Rosevear <jpr@ximian.com>
+
+ Fixes #41811
+
+ * gui/alarm-notify/Makefile.am: don't dist idl generated files
+
+2003-05-01 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-editor.c (task_editor_finalize): unref the
+ model again
+ (task_editor_edit_comp): don't allow editing if the assignee has
+ delegated
+
+ * gui/dialogs/meeting-page.c (popup_delete_cb): set the new
+ non-delegator to be editable
+
+ * gui/dialogs/event-editor.c (event_editor_edit_comp): don't allow
+ editing if the attendee has delegated
+ (event_editor_finalize): unref the model again
+
+ * gui/e-meeting-model.c: remove e-table-without related functions
+ (finalize): don't create without table
+ (e_meeting_model_etable_from_model): build the table with this as
+ model
+ (e_meeting_model_etable_model_to_view_row): directly use the
+ model_to_view call
+ (e_meeting_model_etable_view_to_model_row): as above
+ (attendee_changed_cb): make sure pre change is alwasy called
+
+ * gui/e-meeting-model.h: use DECLS, remove protos for long dead
+ functions, don't include config.h
+
+2003-04-30 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/alarm-notify.c (alarm_notify_add_calendar): removed
+ unused code.
+
+2003-04-29 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-editor.c (task_editor_finalize): ditto
+
+ * gui/dialogs/event-editor.c (event_editor_finalize): don't unref
+ the model here
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_destroy): null
+ up the display_top and display_main for re-entrancy purposes
+
+2003-04-25 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): kill warnings
+
+2003-04-28 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/dialogs/alarm-options.glade: Added HIG-blessed padding
+ to the alarm options dialog. Fixes bug #41221.
+
+2003-04-28 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.glade: Added appropriate spacing
+ and padding to the calendar/tasks page of the settings dialog.
+ Fixes bug #41129
+
+
+2003-04-28 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/dialogs/task-page.glade: Finishes up fixing #41256 by
+ adding appropriate spacing/padding to the main task page.
+
+ * gui/dialogs/task-details-page.glade: Added appropriate
+ spacing and padding to the task-details page. Partially
+ fixes #41256.
+
+
+2003-04-28 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/dialogs/recurrence-page.glade: Added padding/spacing
+ to this page as specified by the HIG. Partially fixes #41215.
+
+ * gui/dialogs/alarm-page.glade: Added padding/spacing/stock
+ buttons to the alarm page. Partially fixes #41215.
+
+ * gui/dialogs/event-page.glade: Added padding/spacing to the
+ event-page (partially fixes #41215)
+
+
+2003-04-27 Rodney Dawes <dobey@ximian.com>
+
+ Fixes #35814
+
+ * gui/calendar-component.c: Change mnemonic/keybinding for
+ New Meeting to not conflict with other items in the File->New menu
+
+2003-04-24 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #41661
+
+ * idl/evolution-calendar.idl: added discardAlarm method to
+ GNOME:Evolution:Calendar:Cal interface.
+
+ * pcs/cal.c (cal_class_init): set new epv's method.
+ (impl_Cal_discardAlarm): implementation of new CORBA method.
+
+ * pcs/cal-backend.[ch]: added 'discard_alarm' virtual method, and
+ CAL_BACKEND_RESULT_NOT_IMPLEMENTED to CalBackendResult enum.
+ (cal_backend_class_init): initialize new class method.
+ (cal_backend_discard_alarm): new method.
+ (cal_backend_update_objects, cal_backend_remove_object): return
+ proper CalBackendResult values.
+
+ * pcs/cal-backend-file.c (cal_backend_file_class_init): initialize
+ new class method.
+ (cal_backend_file_discard_alarm): implementation of new method.
+
+ * pcs/cal-client.[ch] (cal_client_discard_alarm): new function.
+
+ * gui/alarm-notify/alarm-queue.c (remove_qeueud_alarm): don't remove
+ the alarm directly from the component, call cal_client_discard_alarm
+ and let the backend deal with it.
+
+2003-04-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/apps_evolution_calendar.schemas: set the hpane default to
+ 32000 so we never see a pane no matter the start up window size
+ unless the user changes it
+
+2003-04-24 JP Rosevear <jpr@ximian.com>
+
+ Fixes #37552
+
+ * gui/dialogs/Makefile.am: build delete-error.[hc]
+
+ * gui/e-tasks.c: wrap calls to cal_client_remove_object with
+ delete_error_dialog
+
+ * gui/e-itip-control.c: ditto
+
+ * gui/e-calendar-table.c: ditto
+
+ * gui/e-week-view.c: ditto
+
+ * gui/e-day-view.c: ditto
+
+ * gui/dialogs/delete-error.[hc]: gemerate an error message based
+ on result
+
+2003-04-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_delete_occurrence): removed
+ unused variable..
+
+2003-04-23 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #41641
+
+ * gui/e-day-view.c (e_day_view_focus_in): Remove assert an old
+ input method code.
+ (e_day_view_focus_out): Ditto.
+ (e_day_view_reshape_long_event): Set input method context.
+ (e_day_view_reshape_day_event): Ditto.
+ (e_day_view_on_editing_started): Let EText handle the context popup.
+ (e_day_view_on_editing_stopped): Turn off EText's handling of context
+ popup.
+
+ * gui/e-week-view.c (e_week_view_reshape_event_span): Set input
+ method context.
+ (e_week_view_on_text_item_event): Let the EText item handle
+ right-click context popup if we're editing it.
+ (e_week_view_on_editing_started): Let the EText item handle the
+ context popup.
+ (e_weeK_view_on_editing_stopped): Turn off EText's handling of
+ context popup.
+
+2003-04-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #41671
+
+ * gui/alarm-notify/notify-main.c (main): added calls to gnome_sound_init
+ and gnome_sound_shutdown.
+
+ * gui/alarm-notify/alarm-queue.c (audio_notification): check that the
+ sound file exists, and gdk_beep if not.
+
+2003-04-22 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes part of #41148, #41216 and #41235
+
+ * gui/e-itip-control.c (init):
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct,
+ e_meeting_time_selector_add_key_color):
+ * gui/e-timezone-entry.c (e_timezone_entry_init):
+ * gui/gnome-cal.c (setup_widgets):
+ * gui/tasks-control.c (confirm_expunge):
+ * gui/dialogs/comp-editor.c (setup_widgets):
+ * gui/dialogs/e-delegate-dialog.c (e_delegate_dialog_construct):
+ * gui/dialogs/meeting-page.c (meeting_page_construct):
+ * gui/dialogs/recurrence-page.c (make_weekly_special,
+ make_monthly_special, make_ending_count_special):
+ * gui/dialogs/schedule-page.c (schedule_page_construct):
+ use HIG-suggested spacing.
+
+2003-04-21 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #22444
+
+ * gui/calendar-commands.c: added new verbs for occurrence-related
+ menu items.
+ (delete_occurrence_cmd): added callback for "Delete this occurrence"
+ menu item. "Delete all occurrences" is just the same as "Delete".
+ (sensitize_calendar_commands): sensitive ocurrence-related menu items.
+
+ * gui/gnome-cal.[ch] (gnome_calendar_delete_selected_occurrence): new
+ function.
+ (gnome_calendar_get_current_view_widget): made this public.
+
+ * gui/e-week-view.[ch] (e_week_view_get_selected_event):
+ (e_week_view_delete_occurrence): new functions.
+ (e_week_view_delete_occurrence_internal): real implementation of the
+ 'Delete Occurrence' logic.
+ (e_week_view_on_delete_occurrence): call delete_instance_internal.
+
+ * gui/e-day-view.[ch] (e_day_view_get_selected_event):
+ (e_day_view_delete_occurrence): new functions.
+ (e_week_view_delete_occurrence_internal): real implementation of the
+ 'Delete Occurrence' logic.
+ (e_week_view_on_delete_occurrence): call delete_occurrence_internal.
+
+2003-04-18 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/alarm-notify.glade: removed 'heading' and
+ 'message' labels.
+
+ * gui/alarm-notify/alarm-notify-dialog.c: removed deleted widgets.
+ (alarm_notify_dialog): don't load the removed widgets.
+
+2003-04-18 Rodney Dawes <dobey@ximian.com>
+
+ Fixes #21499
+
+ * gui/Makefile.am:
+ * gui/calendar-commands.c:
+ * gui/tasks-control.c:
+ * gui/dialogs/Makefile.am:
+ * gui/dialogs/comp-editor.c:
+ Use PREFIX instead of EVOLUTION_DATADIR for bonobo_ui_util_set_ui ()
+
+2003-04-17 JP Rosevear <jpr@ximian.com>
+
+ Fixes #41459
+
+ * gui/dialogs/meeting-page.c: comment out delegation stuff
+
+2003-04-17 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #34498
+
+ * gui/alarm-notify/alarm-queue.c: added a 'uid' field to the
+ CompQueuedAlarms structure.
+ (remove_queued_alarm): free the 'uid' field when freeing the
+ structure.
+ (add_component_alarms): g_strdup the component's UID and use that as
+ the key for the hash table.
+
+2003-04-16 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #41129, #41215, #41221, #41256
+
+ * gui/alarm-notify/alarm-notify.glade:
+ * gui/dialogs/alarm-options.glade:
+ * gui/dialogs/alarm-page.glade:
+ * gui/dialogs/cal-prefs-dialog.glade:
+ * gui/dialogs/e-delegate-dialog.glade:
+ * gui/dialogs/meeting-page.glade:
+ * gui/dialogs/recurrence-page.glade:
+ * gui/dialogs/schedule-page.glade:
+ * gui/dialogs/task-details-dialog.glade:
+ * gui/dialogs/task-page.glade:
+ * gui/dialogs/event-page.glade: set spacing to 6 pixels
+ everywhere.
+
+2003-04-16 JP Rosevear <jpr@ximian.com>
+
+ Fixes #41230
+
+ * gui/e-itip-control.c (show_current): make sure to pass TRUE for
+ tasks
+ (start_calendar_server): make sure we don't gtk_main_quit if we
+ haven't gtk_main'ed
+ (start_calendar_server_cb): ditto
+
+2003-04-15 JP Rosevear <jpr@ximian.com>
+
+ Fixes #39735 and 40257
+
+ * gui/gnome-cal.c: convert float pane positions to ints
+ (setup_widgets): set the initial position after realization and
+ track the drags to get the new position, pack the panes slightly
+ differently
+ (gnome_calendar_set_pane_positions): set purely pixel oriented
+ positions
+ (gnome_calendar_update_config_settings): no need to update quanta
+ setting
+ (gnome_calendar_hpane_realized): realization callback
+ (gnome_calendar_vpane_realized): ditto
+ (gnome_calendar_vpane_resized): resize callback, store new size
+ (gnome_calendar_hpane_resized): ditto
+
+ * gui/calendar-model.c (get_due_status): handle an error getting
+ the timezone
+
+ * gui/calendar-config.c (calendar_config_get_hpane_pos): return an int
+ (calendar_config_set_hpane_pos): take an int
+ (calendar_config_get_vpane_pos): return an int
+ (calendar_config_set_vpane_pos): take an int
+
+ * gui/calendar-config.h: update protos
+
+ * gui/apps_evolution_calendar.schemas: update defaults for pane
+ positions
+
+2003-04-15 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/calendar-component.c (owner_set_cb): If we already have an
+ evolution_dir, free the old one before setting it anew.
+
+ * gui/e-day-view-time-item.c (e_day_view_time_item_draw): Unref the
+ metrics.
+
+ * gui/e-day-view.c (e_day_view_style_set): Unref the metrics.
+ (e_day_view_recalc_cell_sizes): We don't need font metrics here.
+ (e_day_view_reshape_long_event): Ditto.
+
+ * gui/e-meeting-model.c (init): Don't dup the string passed to
+ e_table_without_hide().
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_style_set):
+ Unref the metrics.
+ (e_meeting_time_selector_recalc_date_form): Doesn't need metrics.
+
+ * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
+ Unref the metrics.
+
+ * gui/e-week-view.c (e_week_view_style_set): Unref metrics.
+ (e_week_view_recalc_cell_sizes): Ditto.
+ (e_week_view_reshape_event_span): Move Pango stuff to where it
+ can't be leaked due to an early return. Unref metrics.
+
+ * gui/weekday-picker.c (weekday_picker_style_set): Unref metrics.
+
+ * gui/dialogs/meeting-page.c (meeting_page_finalize): Free default
+ address.
+
+2003-04-11 Dan Winship <danw@ximian.com>
+
+ * gui/dialogs/Makefile.am (IDL_GENERATED, etc): Oops. Add this
+ back. Turns out it's still needed by other parts.
+
+2003-04-11 Dan Winship <danw@ximian.com>
+
+ * gui/dialogs/task-page.glade: Remove the "Contacts" button and
+ entry from here too. Supposed to have been part of #35926
+
+ * gui/dialogs/task-page.c: Remove all code pertaining to the
+ contacts button
+
+ * gui/dialogs/comp-editor-util.c:
+ * gui/dialogs/comp-editor-util.h: Likewise
+
+ * gui/dialogs/Makefile.am (IDL_GENERATED, etc): Remove
+ select-names stuff, which is no longer used.
+
+2003-04-11 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/cal-util.h: added missing capabilities.
+
+ * cal-client/cal-client.c (cal_client_get_one_alarm_only,
+ cal_client_get_organizer_must_attend,
+ cal_client_get_save_schedules):
+ * gui/itip-utils.c (itip_organizer_is_user):
+ * gui/e-calendar-table.c (e_calendar_table_on_right_click):
+ * gui/dialogs/task-editor.c (set_menu_sens):
+ * gui/dialogs/event-page.c (event_page_fill_widgets):
+ * gui/dialogs/meeting-page.c (meeting_page_fill_widgets):
+ * gui/dialogs/alarm-page.c (button_options_clicked_cb): use the macros
+ defined in cal-util.h for static capabilities.
+
+2003-04-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (start_addressbook_server): load the
+ default book to look for additional free/busy info in
+ (init): ugly hack to make sure we get destroyed, set idle id to 0
+ (process_callbacks): unref the im because we are now done with it
+ (refresh_busy_periods): set idle id to 0, ref the model and handle
+ e_book_get_cursor error
+
+2003-04-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel-item.c
+ (e_meeting_time_selector_item_destroy): guard against multiple
+ destroy calls
+
+2003-04-11 JP Rosevear <jpr@ximian.com>
+
+ * cal-client/cal-client.c (cal_client_get_free_busy): only print a
+ message if the exception isn't the reasonable NotFound
+
+2003-04-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/schedule-page.c (schedule_page_finalize): unref the
+ main widget since we ref it when we un-parent it
+
+ * gui/dialogs/alarm-page.c (alarm_page_finalize): ditto
+
+ * gui/dialogs/task-page.c (task_page_finalize): ditto
+
+ * gui/dialogs/event-page.c (event_page_finalize): ditto
+
+ * gui/dialogs/task-details-page.c (task_details_page_finalize):
+ ditto
+
+ * gui/dialogs/recurrence-page.c (recurrence_page_finalize): ditto
+
+ * gui/dialogs/meeting-page.c (meeting_page_finalize): ditto
+
+2003-04-10 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_options_menu_position_callback):
+ (e_meeting_time_selector_autopick_menu_position_callback): added the
+ allocation's X and Y position to the calculated coordinates.
+
+2003-04-10 JP Rosevear <jpr@ximian.com>
+
+ Fixes #41127
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_refresh_cb):
+ unref here, when the callback is done
+ (e_meeting_time_selector_refresh_free_busy): don't unref here
+
+ * gui/e-meeting-model.c (process_free_busy): if the type is
+ unexpected, make sure we cleanup properly
+
+2003-04-10 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/alarm-queue.c (remove_queued_alarm): only remove
+ the alarm for backends that want it (Exchange).
+
+2003-04-10 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/cal-util.h: added #define's for static capabilities.
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_static_capabilities):
+ use the #define's above.
+
+2003-04-09 Chris Toshok <toshok@ximian.com>
+
+ Fixes #40133
+
+ * pcs/cal-backend.c (cal_backend_class_init): use G_TYPE_INT
+ instead of G_TYPE_ENUM as a parameter type for the signal to get
+ rid of runtime warning.
+
+2003-04-09 JP Rosevear <jpr@ximian.com>
+
+ Fixes #40915
+
+ * gui/calendar-model.c (get_due_status): when getting the current
+ time for date values, use a timezone aware function
+
+2003-04-09 JP Rosevear <jpr@ximian.com>
+
+ Fixes #40952
+
+ * pcs/cal-backend-file.c (cal_backend_file_open): check for file
+ method instead of is_local
+
+2003-04-08 JP Rosevear <jpr@ximian.com>
+
+ Fixes #40894
+
+ * gui/gnome-cal.c
+ (gnome_calendar_on_date_navigator_selection_changed): update the
+ selection for all view types
+
+2003-04-08 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/alarm-options.c: Remove button_ok, button_cancel,
+ canceled members from struct Dialog.
+ (get_widgets): Do not initialize.
+ (close_dialog): Destroy the toplevel.
+ (toplevel_delete_event_cb): Removed.
+ (button_cancel_clicked_cb): Removed.
+ (button_ok_clicked_cb): Removed.
+ (close_dialog): Removed.
+ (alarm_options_dialog_run): Use gtk_dialog_run.
+ (init_widgets): Do not init ->canceled, do not connect OK/Cancel
+ buttons.
+ (alarm_to_dialog): No need to make the file entry modal from here
+ anymore.
+
+ * gui/dialogs/alarm-options.glade: Turned into a GtkDialog. Set
+ the "modal" property to True for the file entry.
+
+2003-04-07 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #35926.
+
+ * gui/dialogs/event-page.glade: Remove contacts entry/chooser.
+
+ * gui/dialogs/event-page.c: Remove contacts entry/chooser.
+ (event_page_init): Remove references.
+ (event_page_finalize): Ditto.
+ (event_page_fill_widgets): Ditto.
+ (event_page_fill_component): Ditto.
+ (get_widgets): Ditto.
+ (init_widgets): Ditto.
+ (contacts_clicked_cb): Remove wholesale.
+ (contacts_changed_cb): Ditto.
+
+2003-04-07 JP Rosevear <jpr@ximian.com>
+
+ Fixes #40876
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_refresh_free_busy): guard against
+ callbacks after destruction
+ (e_meeting_time_selector_refresh_cb): ditto
+
+2003-04-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/event-page.glade: create buttons properly
+
+ * gui/itip-utils.c (comp_server_send): for errors other than busy,
+ we want to email the results
+
+ * pcs/cal-backend.c (cal_backend_ref_categories): insert the new
+ category in the category list as well
+ (idle_notify_categories_changed): reset idle id
+
+2003-04-07 Not Zed <NotZed@Ximian.com>
+
+ Fixes #40252
+
+ * conduits/todo/todo-conduit.c: Same as below.
+
+ * conduits/calendar/calendar-conduit.c: Change the LOG macro to a
+ single arg macro which copies its arg. Fix all callers. Change
+ WARN and INFO to simply g_warning/g_message. Init G_LOG_DOMAIN
+ before including anything.
+
+2003-04-07 Dan Winship <danw@ximian.com>
+
+ * gui/GNOME_Evolution_Calendar.server.in.in: Clean up server names
+
+ * gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in.in:
+ Likewise
+
+ * importers/GNOME_Evolution_Calendar_Importer.server.in.in:
+ Likewise. Also mark the evolution:menu_name for i18n
+
+2003-04-07 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-meeting-attendee.[ch]: GObjectify. Eliminates ref/sink
+ warnings from the meeting editor.
+
+2003-04-06 Hans Petter Jansson <hpj@ximian.com>
+
+ Week view part of fix for #39895.
+
+ * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
+ Use the UNFOCUSSED colour if we're not focused, rather than not
+ drawing anything.
+
+ * gui/e-week-view.c: Set up the UNFOCUSSED colour.
+
+ * gui/e-week-view.h: Add the UNFOCUSSED colour.
+
+2003-04-04 JP Rosevear <jpr@ximian.com>
+
+ Fixes #40790
+
+ * gui/alarm-notify/alarm-queue.c (procedure_notification_dialog):
+ return based on the response code (not old button stuff)
+
+2003-04-04 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/alarm-options.c (alarm_to_dialog): Make the file
+ entry modal. [#40792]
+
+2003-04-04 JP Rosevear <jpr@ximian.com>
+
+ Fixes #40789
+
+ * gui/dialogs/alarm-options.c (alarm_to_dalarm_widgets):
+ description is a text buffer
+ (alarm_to_malarm_widgets): ditto
+ (dalarm_widgets_to_alarm): ditto
+ (malarm_widgets_to_alarm): ditto
+ (alarm_to_repeat_widgets): check repeat status correctly
+
+2003-04-04 Dan Winship <danw@ximian.com>
+
+ * gui/e-itip-control.c (write_html): Don't free static string.
+
+2003-04-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/cal-search-bar.c (cal_search_bar_destroy): guard against
+ multiple destroy calls
+
+2003-04-04 JP Rosevear <jpr@ximian.com>
+
+ * cal-client/cal-client.c (get_default_uri): guard against empty
+ uri as well
+
+2003-04-04 JP Rosevear <jpr@ximian.com>
+
+ Fixes #40722
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_destroy):
+ guard against multiple destroy calls
+
+2003-04-02 Jeffrey Stedfast <fejj@ximian.com>
+
+ * gui/control-factory.c (set_prop): Add a check to see if the view
+ should be the day-view and change the default to be whatever
+ calendar_config_get_default_view() returns. Should fix bug #39735.
+
+ * gui/calendar-config.h: calendar_config_write() and
+ calendar_config_write_on_exit() no longer exist. Removed
+ prototypes.
+
+ * gui/control-factory.c (set_prop): g_strcasecmp() is
+ deprecated. Since the values can never be anything other than all
+ lowercase anyway, just use strcmp.
+
+2003-04-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #39262
+
+ * importers/icalendar-importer.c (load_file_fn, vcal_load_file_fn):
+ use folder_type argument to determine what to import.
+
+2003-04-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/icalendar-importer.c (load_file_fn, vcal_load_file_fn):
+ added "folder_type" parameter to EvolutionImporterLoadFileFn.
+
+2003-04-02 JP Rosevear <jpr@ximian.com>
+
+ Fixes #39955
+
+ * gui/itip-utils.c (comp_sentby): don't unref the the account
+
+2003-04-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #40661
+
+ * gui/itip-utils.c: added missing header for Forte compilation.
+
+2003-04-01 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw):
+ Nuke GdkFont and use Pango's font measuring.
+
+ * gui/e-day-view-time-itme.c (e_day_view_time_item_get_column_width)
+ (e_day_view_time_item_draw): Ditto.
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw)
+ (e_day_view_top_item_draw_long_event): Ditto.
+
+ * gui/e-day-view.c (e_day_view_style_set)
+ (e_day_view_recalc_cell_sizes)
+ (e_day_view_reshape_long_event)
+ (e_day_view_update_top_canvas_drag)
+ (e_day_view_update_main_canvas_drag): Ditto.
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_style_set)
+ (e_meeting_time_selector_recalc_date_form): Ditto.
+
+ * gui/e-week-view-event-item.c (e_week_view_draw_time): Ditto.
+
+ * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
+ Ditto.
+
+ * gui/e-week-view-titles-item.c (e_week_view_titles_item_draw):
+ Ditto.
+
+ * gui/e-week-view.c (e_week_view_style_set)
+ (e_week_view_recalc_cell_sizes)
+ (e_week_view_reshape_event_span): Ditto.
+
+ * gui/weekday-picker.c (weekday_picker_style_set): Ditto.
+
+2003-04-01 JP Rosevear <jpr@ximian.com>
+
+ Fix for #17231 (Evo portion)
+
+ * conduits/todo/todo-conduit.c (comp_from_remote_record): test for
+ secret flag properly
+
+ * conduits/calendar/calendar-conduit.c (comp_from_remote_record):
+ ditto
+
+2003-04-01 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/icalendar-importer.c (load_file_fn, vcal_load_file_fn):
+ added filename (tasks.ics/calendar.ics) to the URI if it does not
+ contain it.
+
+2003-03-31 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #39961
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_options_menu_position_callback):
+ (e_meeting_time_selector_autopick_menu_position_callback): use the
+ button's allocation to position the popup menu.
+
+2003-03-29 Not Zed <NotZed@Ximian.com>
+
+ Fixes #39895
+
+ * gui/e-day-view.h (EDayViewColors): add an unfocussed colour to
+ draw the selection in when we're not focussed.
+
+ * gui/e-day-view.c (e_day_view_realize): Initialise
+ E_DAY_VIEW_COLOR_BG_SELECTED_UNFOCUSSED to be 1/2 saturation of
+ the focussed colour.
+
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw): Use the
+ UFOCUSSED colour if we aren't focussed, rather than just not
+ drawing anything.
+
+2003-03-28 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (get_servers): the shell client is a
+ g_object now, ref appropriately
+
+2003-03-28 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-day-view.c (comp_destroy_cb)
+ (e_day_view_on_long_event_button_press)
+ (e_day_view_on_event_button_press)
+ (e_day_view_on_long_event_click)
+ (e_day_view_on_event_click)
+ (e_day_view_on_event_double_click)
+ (e_day_view_on_delete_appointment): Hold weak references to the
+ CalComponent instead of connecting to the "destroy" signal.
+
+ * gui/e-week-view.c (comp_destroy_cb)
+ (e_week_view_on_text_item_event): Ditto.
+
+2003-03-28 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #39954
+
+ * gui/dialogs/recurrence-page.c (make_recurrence_special):
+ Destroy would-be children of the container before the container.
+
+2003-03-28 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (meeting_page_init): init new members
+ (get_current_account): get a matching account for the currently
+ selected user in the combo
+ (meeting_page_finalize): unref the meeting attendee if there is
+ one
+ (meeting_page_fill_widgets): don't set the combo list here
+ (clear_widgets): set the default organizer here and if we don't
+ have an organizer, add the default organizer as an attendee
+ (meeting_page_fill_component): use get_current_account
+ (org_changed_cb): if this is a new meeting and the organizer
+ changes, change the attendee
+ (change_clicked_cb): no need to set the default here
+ (init_widgets): reflect changed callback name
+ (meeting_page_construct): set the combo strings here
+ (popup_delete_cb): remove the organizer attendee if the user
+ explicitly deletes it
+
+ * gui/e-meeting-model.c (attendee_changed_cb): set row properly
+
+ * gui/itip-utils.c (comp_to_list): skip the user themselves if
+ cancelling or requesting
+
+2003-03-26 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/icalendar-importer.c (gnome_calendar_import_data_fn): use
+ g_object_unref for CalClient's.
+ (create_checkboxes_control): use g_signal_connect.
+
+ * cal-client/cal-client.c (cal_client_get_load_state): return correct
+ values in g_return_val_if_fail.
+
+2003-03-26 Jack Jia <jack.jia@sun.com>
+
+ * calendar/gui/dialogs/alarm-options.c
+ (malarm_widgets_to_alarm): add a parameter(TC_CORBA_string) to
+ the bonobo_widget_get_property.
+
+2003-03-25 Dan Winship <danw@ximian.com>
+
+ * gui/itip-utils.c: Update for e_notice move
+
+ * gui/tasks-control.c (confirm_expunge): Move the code that used
+ to be e_gnome_dialog_set_parent here, since it was marked
+ deprecated and this was the only place using it.
+
+ * gui/dialogs/comp-editor.c: Update for e_notice move
+ (page_changed_cb, page_summary_changed_cb, page_dates_changed_cb):
+ Pass a parent_window to e_notice.
+
+ * gui/dialogs/meeting-page.c: Update for e_notice move.
+ (meeting_page_fill_component, meeting_page_fill_component,
+ popup_delegate_cb): Pass a parent_window to e_notice
+
+2003-03-25 Dan Winship <danw@ximian.com>
+
+ * cal-util/cal-util.c (cal_util_parse_ics_file): Utility wrapper
+ around icalparser.
+
+ * cal-util/test-recur.c (main): Use it
+
+ * pcs/cal-backend-file.c (open_cal): Likewise
+
+ * gui/comp-editor-factory.c (open_client): Add the OpenClient to
+ the hash before calling cal_client_open_calendar, since in some
+ failure cases, that will call cal_opened_cb (which will free the
+ oc) with a failure immediately, causing a crash if we then try to
+ deref it.
+
+2003-03-21 JP Rosevear <jpr@ximian.com>
+
+ Fixes #32248
+
+ * conduits/todo/todo-conduit.c (comp_from_remote_record): make
+ sure the due date is actually a date
+
+2003-03-21 JP Rosevear <jpr@ximian.com>
+
+ Fixes #31660
+
+ * conduits/calendar/calendar-conduit.c (rrules_mostly_equal):
+ check if the rrules are equal other than until/count
+ (find_last_cb): update the data with the start timet
+ (local_record_from_comp): handle the case where the recurrence
+ rule ends after a certain number occurrences
+ (comp_from_remote_record): same
+
+2003-03-20 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c
+ (e_calendar_context_destroy): calcomponents are gobjects now
+ (calconduit_load_configuration): ref and sink to avoid warnings
+
+ * conduits/todo/todo-conduit.c (todoconduit_load_configuration):
+ ref and sink to avoid warnings
+ (e_todo_context_destroy): calcomponents are gobjects now
+
+2003-03-20 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/cancel-comp.c (cancel_component_dialog): use a
+ GtkMessageDialog and deal correctly with the dialog's reponses.
+
+2003-03-20 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #39770
+
+ * gui/itip-utils.c (itip_Send_comp): check the CORBA exception instead
+ of the g_return_val_if_fail. Also, use a CORBA_Object for the value
+ returned from bonobo_activation_activate_from_id.
+
+2003-03-20 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/ical-importer.c: removed activation of shell_client.
+ (importer_destroy_cb): no need to unref shell_client.
+ (connect_to_shell): removed.
+ (ical_importer_new, vcal_importer_new): don't call connect_to_shell.
+
+2003-03-20 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/ical-importer.c (get_uri_from_folder_path): removed.
+ (load_file_fn, vcal_load_file_fn): use physical_uri instead of
+ folderpath.
+
+2003-03-19 Ettore Perazzoli <ettore@ximian.com>
+
+ * importers/GNOME_Evolution_Calendar_Importer.server.in.in:
+ Replace "evolution:menu-name" prop with "evolution:menu_name".
+ [#39692]
+
+2003-03-18 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/send-comp.c (send_component_dialog): use GtkMessageDialog
+ instead of gnome_question_dialog, and deal correctly with the dialog's
+ response.
+
+2003-03-18 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #34505
+
+ * gui/alarm-notify/alarm-queue.c (remove_queued_alarm): added removal
+ of the alarm itself in the calendar if the (new) argument says so.
+ Also, set expecting_update flag to TRUE.
+ (add_component_alarms): initialize expecting_update to FALSE.
+ (remove_alarms): don't remove the component if expecting_update is
+ TRUE.
+ (obj_updated_cb, notify_dialog_cb, procedure_notification): adapted
+ to changes in remove_queued_alarm.
+
+2003-03-17 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #34095
+
+ * gui/e-meeting-model.c (append_row): Don't leak meeting attendees;
+ unref the attendee after it's assigned to model.
+
+ * gui/dialogs/meeting-page.c (meeting_page_destroy): Free the actual
+ array of deleted attendees.
+
+ * gui/dialogs/event-editor.c (event_editor_destroy): Free the private
+ structure.
+
+ * gui/itip-utils.c (comp_description): Rework free/busy information
+ composer so we can free date/time information after use. Then free it.
+ (itip_send_comp): Free the allocated CORBA buffer for attachment data.
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_contacts_to_component):
+ Free the destination contacts string once we're done with it.
+
+ * gui/e-calendar-table.c (invisible_destroyed): Unref the invisible.
+
+ * gui/e-day-view.c (invisible_destroyed): Ditto.
+
+ * gui/e-week-view.c (invisible_destroyed): Ditto.
+
+2003-03-17 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #39757
+
+ * gui/dialogs/alarm-page.c (sensitize_buttons): Somehow this code
+ reverted to thinking it was dealing with a GtkCList, when in reality
+ it's a GtkTreeView. Fix that, so the buttons are sensitized correctly.
+
+2003-03-17 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #39736
+
+ * gui/e-day-view.c: Reduce the size of the large-digits font so it's
+ en par with the one in 1.2.
+
+2003-03-14 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #39740
+
+ * gui/e-meeting-model.c (is_cell_editable): check row number is valid
+ before using it as index for the GPtrArray.
+
+2003-03-14 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #39356
+
+ * gui/Makefile.am:
+ * gui/tasks-migrate.[ch]: removed tasks migration obsolete stuff.
+
+ * gui/calendar-component.c (owner_set_cb): don't call tasks_migrate.
+
+2003-03-14 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-factory.c (impl_CalFactory_uriList): set_release
+ on the sequence we create.
+
+ * cal-client/cal-client.c (cal_client_uri_list): don't leak the
+ string sequence returned by CalFactory_uriList.
+
+2003-03-13 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query-backend.c (query_backend_new): use a weak ref instead
+ of connecting to backend's "destroy" signal.
+ (backend_destroyed_cb, query_destroyed_cb): changed to be weak
+ reference callbacks.
+
+2003-03-12 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/save-comp.c (save_component_dialog): don't use
+ GNOME_STOCK_* defines, but GTK_STOCK_*.
+
+2003-03-12 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/save-comp.[ch] (save_component_dialog): corrected
+ button ordering and changed the return type to be a GtkResponseType.
+
+ * gui/dialogs/comp-editor.c (prompt_to_save_changes): adapted to
+ changes in save_component_dialog.
+
+2003-03-11 Dan Winship <danw@ximian.com>
+
+ * gui/calendar-config.c (on_timezone_set): Update for timezone
+ dialog API changes.
+
+ * gui/e-timezone-entry.c: Likewise
+
+2003-03-11 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_open): issue more descriptive
+ warnings.
+
+2003-03-09 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/alarm-notify.c (alarm_notify_add_calendar): if we
+ already have the client loaded, don't remove it, just increment its
+ reference count.
+
+ * gui/alarm-notify/alarm-queue.c (remove_queued_alarm): added new
+ argument to specify whether we want the component's structure removed
+ if no more alarms exist, and only free the structure if TRUE.
+ (remove_alarms): added same new argument and pass it over to
+ remove_queued_alarm.
+ (remove_comp, obj_updated_cb): passed new argument to remove_alarms.
+ (procedure_notification): passed new argument to remove_queued_alarm.
+ (obj_removed_cb): set all freed pointers to NULL.
+ (notify_dialog_cb): only remove the alarm if the pointers are not NULL.
+
+2003-03-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/save.c (get_calendars_to_load): create the array
+ to be returned only once.
+
+2003-03-06 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-queue.c (display_notification): ref the CalClient.
+ (notify_dialog_cb): unref the CalClient.
+
+2003-03-06 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/alarm-notify-dialog.[ch]
+ (alarm_notify_dialog_disable_buttons): new function.
+ (alarm_notify_dialog): made it return a pointer to the dialog structure.
+
+ * gui/alarm-notify/alarm-queue.c (remove_alarms, remove_comp): splitted
+ alarm removal out of remove_comp.
+ (obj_updated_cb): remove the component only when needed. In normal
+ updates, just update the internal structure.
+ (edit_component): don't get a CompQueuedAlarms as argument, since it
+ might be removed.
+ (on_dialog_obj_updated_cb, on_dialog_obj_removed_cb): callbacks for
+ modifications during dialog display.
+ (notify_dialog_cb): disconnect from "obj_*ed" signals and call
+ edit_component with the new set of arguments.
+ (display_notification): added more data to the closure structure.
+
+2003-03-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #31382
+
+ * gui/e-meeting-model.c (async_read): don't assume the buffer is
+ always full, but use GNOME_VFS_ERROR_EOF instead for knowing when
+ the read has finished.
+
+2003-03-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/apps_evolution_calendar.schemas: fix defaults and
+ descriptions to match what calendar-config wants them to be
+
+2003-03-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (show_current): g_objectify ref/unref
+
+ * gui/itip-bonobo-control.c (set_data_idle_cb): as above
+ (pstream_load): ditto
+
+ * gui/dialogs/alarm-options.c (alarm_to_malarm_widgets): as above
+
+2003-03-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (class_init): override finalize, not
+ destroy
+ (start_calendar_server): take itip as a param and gtk_main_quit if
+ it gets destroyed while we are waiting for the cal client to load
+ (start_default_server): ditto
+ (get_servers): take itip as a param and don't load if we've been
+ destroyed, check for an except when retrieving the folder list
+ (init): ref the html control
+ (destroy): mark ourselves as destroyed
+ (finalize): clean up, unref html control
+ (write_html): if the html widget has been destroyed, don't write
+ anything out
+ (show_current_todo): pass extra param
+ (show_current): ref/unref the itip control to avoid finalization while
+ we are working, pass extra param
+ (button_selected_cb): pass extra param
+ (object_requested_cb): ditto
+
+2003-03-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/calendar-offline-handler.c (backend_go_offline,
+ backend_go_online): cast CalClient's to GObject, not GtkObject.
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): don't
+ let the user change to an email organizer if the back end is not
+ an email addres
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ Fixes #37881
+
+ * gui/e-meeting-model.c (process_section): if the attendee is the
+ empty string, try to get the email
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-offline-handler.c (backend_cal_opened_online): set
+ the backend to REMOTE mode when it opens
+ (backend_go_online): prepare to set calendar mode to REMOTE
+ (impl_goOnline): get all the local calendars and set to REMOTE
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ Fixes #37881
+
+ * gui/e-meeting-model.c (process_section): if the attendee is the
+ empty string, try to get the email
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ Fixes #37883
+
+ * idl/evolution-calendar.idl: getLdapAttribute can raise NotFound
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ Fixes #37806, #37697
+
+ * gui/e-itip-control.c (e_itip_control_set_data): if the text is
+ null or the empty string, just clear the widget
+ (init): set the html widget to initially be blank
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal.c (impl_Cal_get_ldap_attribute): implement
+
+ * pcs/cal-backend.h: add virtual method
+
+ * pcs/cal-backend.c (cal_backend_get_ldap_attribute): call
+ get_ldap_attribute_method
+
+ * pcs/cal-backend-file.c (cal_backend_file_class_init): overrid
+ get_ldap_attribute method
+
+ * idl/evolution-calendar.idl: add getLdapAttribute method
+
+ * gui/e-meeting-model.c (process_section): take simple card list
+ as arg and try to use the ldap attribute (if any) as the attendee,
+ else use the email address
+ (select_names_ok_cb): get the simple card list
+
+ * cal-client/cal-client.h: add proto
+
+ * cal-client/cal-client.c (cal_client_init): init ldap_attribute
+ to NULL
+ (cal_client_destroy): free ldap_attribute
+ (cal_client_get_ldap_attribute): accessor
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_organizer_is_user): call
+ cal_client_get_cal_address instead of cal_client_get_email_address
+
+ * gui/dialogs/meeting-page.c (meeting_page_construct): ditto
+
+ * pcs/cal.c (impl_Cal_get_cal_address): implement updated method
+ name
+ (cal_class_init): set method implementation
+
+ * pcs/cal-backend.c (cal_backend_class_init): init get_cal_address
+ virtual function
+ (cal_backend_get_cal_address): call proper function
+
+ * pcs/cal-backend.h: update proto, rename get_email_address
+ virtual function to get_cal_address virtual function
+
+ * pcs/cal-backend-file.c (cal_backend_file_class_init): match
+ get_cal_address call
+ (cal_backend_file_get_cal_address): rename from
+ cal_backend_file_get_email_address
+
+ * cal-client/cal-client.c: rename email_address private member to
+ cal_address
+ (cal_client_init): init cal_address
+ (cal_client_destroy): free cal_address and properly free
+ alarm_email_address
+ (cal_client_get_cal_address): rename from
+ cal_client_get_email_address and call proper corba function
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ * idl/evolution-calendar.idl: fix comment
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-model.c (calendar_model_append_row): update FIXME
+ note
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/recur-comp.h: fix copyright
+
+ * gui/dialogs/recur-comp.c: fix copyright
+ (recur_component_dialog): say "recurring journal entry" instead of
+ just "recurring journal"
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ Partially Fixes #23606 (from Jack Jia <jack.jia@sun.com>)
+
+ * gui/dialogs/schedule-page.c (update_time): handle no end date if
+ the start is date only
+
+ * gui/dialogs/event-page.c (update_time): ditto
+
+2003-03-04 JP Rosevear <jpr@ximian.com>
+
+ Merging in 1.2 stuff
+
+ Fixes #35598
+
+ * gui/dialogs/task-details-page.c
+ (task_details_page_fill_widgets): count a status of needs action
+ as a status of none (not started)
+ (date_changed_cb): set the option menu to a status of none
+ (status_changed): no need to handle needs action status now
+
+ * gui/dialogs/task-details-page.glade: remove needs-action menu
+ item
+
+ Fixes #36763
+
+ * gui/dialogs/alarm-page.c (add_clicked_cb): if no address was set
+ for an email alarm, set the default
+ (button_options_clicked_cb): pass the default email address
+
+ * gui/dialogs/alarm-options.h (alarm_options_dialog_run): update proto
+
+ * gui/dialogs/alarm-options.c (alarm_to_malarm_widgets): if there
+ are no email attendees, default to the passed in value
+ (alarm_options_dialog_run): take and track an email param
+
+ * pcs/cal.c (impl_Cal_get_alarm_email_address): implement by
+ calling backend method
+ (cal_class_init): set alarm email address method implementation
+
+ * pcs/cal-backend.h: add new virtual proto
+
+ * pcs/cal-backend.c (cal_backend_class_init): set alarm email
+ address virtual method to NULL
+ (cal_backend_get_alarm_email_address): call backend method
+
+ * pcs/cal-backend-file.c (cal_backend_file_class_init): set alarm
+ email address method
+ (cal_backend_file_get_alarm_email_address): implement by returning
+ NULL
+
+ * idl/evolution-calendar.idl: add getAlarmEmailAddress method
+
+ Fixes #37102
+
+ * gui/dialogs/task-editor.c (set_menu_sens): don't allow task
+ assignment if the backend says not to
+
+ * gui/dialogs/recurrence-page.c (fill_component): kill warning
+ (preview_recur): display the recurrences in the dtstart timezone
+ if possible
+
+ * gui/gnome-cal.c (dn_query_obj_updated_cb): pass NULL to use
+ default tag zone
+
+ * gui/tag-calendar.c (tag_calendar_by_comp): allow display zone
+ for the tagged calendar to be passed in
+ (prepare_tag): use the passed in timezone for display if non-null
+
+ * gui/tag-calendar.h (tag_calendar_by_comp): update proto
+
+ * gui/dialogs/recurrence-page.c (recurrence_page_set_dates): make
+ sure we always update the preview
+
+ * conduits/todo/todo-conduit.c (add_record): make sure to create a
+ unique uid for the record
+
+ * conduits/calendar/calendar-conduit.c (add_record): ditto
+
+ * conduits/todo/todo-conduit.c (e_todo_context_new): init default
+ comp and timezone to NULL
+ (e_todo_context_destroy): unref default comp
+ (pre_sync): et the default comp via the client and set the default
+ timezone
+ (add_record): pass the default comp as the base comp
+
+ * conduits/calendar/calendar-conduit.c (e_calendar_context_new):
+ init default comp to NULL
+ (e_calendar_context_destroy): unref default comp
+ (pre_sync): get the default comp via the client
+ (add_record): pass the default comp as the base comp
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp):
+ only add the recurrence rule if its not an instance
+
+ * gui/itip-control-factory.c (set_data_idle_cb): idle call back to
+ set control data
+ (pstream_load): set the data in an idle callback to avoid deadlock
+ (get_prop): handle view_only
+ (set_prop): ditto
+ (itip_control_factory): add view_only
+
+ * gui/e-itip-control.h: add protos
+
+ * gui/e-itip-control.c (write_html): only write out the options if
+ we aren't in view_only mode
+ (e_itip_control_set_view_only): accessor
+ (e_itip_control_get_view_only): ditto
+
+ Fixes #36909
+
+ * gui/dialogs/alarm-page.c (button_options_clicked_cb): indicate
+ whether the options dialog should allow repeating
+
+ * gui/dialogs/alarm-options.h: update proto
+
+ * gui/dialogs/alarm-options.c (alarm_to_repeat_widgets): if
+ repeating is not allowed, sensitize the widgets appropriately
+ (alarm_options_dialog_run): store the repeat param
+
+ * gui/calendar-model.c (calendar_model_append_row): guard against
+ saving before the calendar is open
+
+ * gui/e-day-view.c (e_day_view_key_press): ditto
+
+ * gui/dialogs/comp-editor.c (page_changed_cb): change warning
+ dialog to not mention email
+ (page_summary_changed_cb): ditto
+ (page_dates_changed_cb): ditto
+
+ * gui/itip-utils.c (itip_organizer_is_user): make the compare case
+ insensitive
+
+ * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): don't
+ allow the organizer to be changed if its not an email address
+
+ * gui/e-day-view.c, calendar-model.c, e-week-view.c,
+ task-editor.c, event-editor.c, comp-editor.c, meeting-page.c: pass
+ additional param
+
+ * gui/itip-utils.c (itip_organizer_is_user): take client as param,
+ and if organizer-not-email-address and email address and organizer
+ match, assume the user is the organizer
+
+ * gui/itip-utils.h: update proto
+
+ * pcs/cal.c (build_fb_seq): set the max
+
+ * gui/e-meeting-model.c
+ (e_meeting_model_add_attendee_with_defaults): correct typo and set
+ rsvp appropriately
+
+ * gui/dialogs/send-comp.c (send_component_dialog): if save
+ schedules, return FALSE for now
+
+ * gui/dialogs/recurrence-page.c (sensitize_recur_widgets):
+ de-sensitize the preview widget if we are viewing an instance
+ (preview_recur): return if the comp is an instance
+
+ * gui/dialogs/event-page.glade: name the show time frame
+
+ * gui/dialogs/event-page.c (event_page_fill_widgets)
+ (event_page_init): init show time frame
+ (event_page_fill_widgets): hide/show frame as needed
+ (get_widgets): get the frame
+
+ * gui/alarm-notify/alarm-queue.c (mail_notification): kill mail
+ notification code
+
+ * cal-client/cal-client.c (load_static_capabilities): grab static
+ capabilities string
+ (check_capability): see if a capability is in the string
+ (cal_client_get_one_alarm_only): accessor
+ (cal_client_get_organizer_must_attend): use check_capability
+ (cal_client_get_static_capability): ditto
+
+ * cal-client/cal-client.h: new, changed protos
+
+ * idl/evolution-calendar.idl: change over getSchedulingInformation
+ to a more general getStaticCapabilities call
+
+ * pcs/cal-backend-file.c
+ (cal_backend_file_get_static_capabilities): return
+ "no-email-alarms"
+
+ * pcs/cal-backend.c (cal_backend_get_static_capabilities): ditto
+
+ * pcs/cal-backend.h: ditto
+
+ * pcs/cal.c (impl_Cal_get_static_capabilities): ditto
+
+ * gui/alarm-notify/alarm-queue.c (get_default_address): utility
+ routine to snag address info
+
+ * gui/alarm-notify/Makefile.am: build composer idl
+
+ * *.c: pass client param for send an cancel params
+
+ * gui/dialogs/send-comp.c (send_component_dialog): take client as
+ a parm and if save schedules return true right away
+
+ * gui/dialogs/send-comp.h: update proto
+
+ * gui/dialogs/cancel-comp.c (cancel_component_dialog): take client
+ as a param and if we are deleting and schedule saves, return true
+ right away
+
+ * gui/dialogs/cancel-comp.h (cancel_component_dialog): update proto
+
+ * gui/dialogs/alarm-options.glade: add Send To: button
+
+ * gui/dialogs/alarm-options.c (addressbook_clicked_cb): display
+ dialog
+ (setup_select_names): attach above to Send To: button clicked
+ signal
+
+ * gui/dialogs/alarm-options.c (get_widgets): get mail alarm
+ widgets
+ (setup_select_names): add the select names widget
+ (alarm_to_malarm_widgets): show the attendees and description
+ (alarm_to_dialog): set the title for mail alarms properly
+ (malarm_widgets_to_alarm): save attendees and descriptions in
+ alarm
+ (alarm_options_dialog_run): call setup_select_names
+
+ * gui/dialogs/alarm-page.c: add email to alarm types
+
+ * gui/dialogs/alarm-options.glade: add mail alarm widgets
+
+ * gui/dialogs/alarm-page.glade: add email to alarm types
+
+ * cal-util/cal-component.c (scan_attendee): kill unnecessary
+ CalComponent param
+ (scan_property): don't pass same
+ (set_attendee_list): take an icalcomp instead of a CalComponent
+ (cal_component_set_attendee_list): pass same
+ (scan_alarm_property): if its an attendee, scan it
+ (make_alarm): set attendee_list member to null
+ (cal_component_alarm_new): ditto
+ (cal_component_alarm_free): free attendee list
+ (cal_component_alarm_get_attendee_list): return attendee list
+ (cal_component_alarm_set_attendee_list): set attendee list
+ (cal_component_alarm_has_attendees): return true if alarm has attendees
+
+ * cal-util/cal-component.h: new protos
+
+ * gui/calendar-model.c (calendar_model_append_row): use
+ cal_comp_task_new_with_defaults
+
+ * gui/comp-editor-factory.c (get_default_task): ditto
+
+ * gui/e-tasks.c (e_tasks_new_task): ditto
+
+ * gui/gnome-cal.c (gnome_calendar_new_task): ditto
+
+ * gui/comp-util.h (cal_comp_task_new_with_defaults): new proto
+
+ * gui/comp-util.c (cal_comp_task_new_with_defaults): new utility
+ routine
+
+ * cal-util/cal-util.c (generate_absolute_triggers): skip omitted
+ alarm types
+ (add_alarm_occurrences_cb): ditto
+ (cal_util_generate_alarms_for_list): take/pass omit param
+ (cal_util_generate_alarms_for_comp): ditto
+
+ * cal-util/cal-util.h: update protos
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_alarms_for_object):
+ add omit param
+ (cal_backend_file_get_alarms_in_range): ditto
+
+ * pcs/cal-backend.c (cal_backend_get_scheduling_information):
+ remove dead param
+
+ * gui/dialogs/meeting-page.h: delete proto
+
+ * gui/dialogs/meeting-page.c: remove dead routine
+
+ * gui/dialogs/event-editor.c (event_editor_edit_comp): we don't
+ need to add the organizer as an attendee ourselves, just set the
+ edit level properly
+
+ * gui/dialogs/task-editor.c (task_editor_edit_comp): ditto
+
+ * gui/comp-util.c (cal_comp_event_new_with_defaults): take client
+ as arg so we can obtain the default from the backend
+
+ * gui/comp-editor-factory.c (get_default_event): pass
+ cal_comp_event_new_with_defaults the new param
+
+ * gui/gnome-cal.c (gnome_calendar_new_appointment_for): ditto
+
+ * gui/e-week-view.c (e_week_view_key_press): ditto
+
+ * gui/e-day-view.c (e_day_view_key_press): ditto
+
+ * gui/calendar-model.c (calendar_model_append_row): ditto
+
+ * gui/comp-util.h (cal_comp_event_new_with_defaults): update proto
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_default_object):
+ return appropriate default object
+
+ * pcs/cal-backend.c (cal_backend_get_default_object): call
+ get_default_backend class method
+
+ * pcs/cal-backend.h: add proto
+
+ * pcs/cal.c (impl_Cal_get_default_object): implement
+ (cal_class_init): set handler for getDefaultObject call
+
+ * idl/evolution-calendar.idl: remove always schedule from
+ SchedulingInformation and add getDefaultObject call
+
+ * cal-client/cal-client.c (cal_client_get_default_object): gets a
+ default object from the server
+ (cal_client_init): remove always_schedule
+ (load_scheduling_info): ditto
+
+ * cal-client/cal-client.h: add a proto, delete a proto
+
+ * gui/dialogs/meeting-page.c (right_click_cb): if the attendee is
+ not fully editable, don't allow deletion
+ (meeting_page_construct): keep the default organizer as an itip
+ address
+ (meeting_page_get_default_organizer): return the default organizer
+
+ * gui/dialogs/meeting-page.h: new proto
+
+ * gui/dialogs/event-editor.c (event_editor_edit_comp): we set
+ appropriate edit levels now for users and if the backend always
+ schedules we always show the meeting pages and add the organizer
+ as an attendee
+
+ * gui/dialogs/task-editor.c (task_editor_edit_comp): same
+
+ * gui/e-meeting-model.c (is_cell_editable): use the edit level of
+ the attendee to determine if cell is editable
+ (init): we no longer keep the attendee list of restricted
+
+ * gui/e-meeting-attendee.c (e_meeting_attendee_get_edit_level): accessor
+ (e_meeting_attendee_set_edit_level): ditto
+
+ * gui/e-meeting-attendee.h: new protos and edit level enum
+
+ * cal-client/cal-client.c (load_scheduling_info): load the
+ scheduling info
+ (cal_client_get_always_schedule): accessor
+ (cal_client_get_organizer_must_attend): ditto
+ (cal_client_get_save_schedules): ditto
+ (cal_client_init): init scheduling data members
+
+ * cal-client/cal-client.h: accessors for scheduling information
+
+ * pcs/cal-backend-file.c
+ (cal_backend_file_get_scheduling_information): implement the new
+ virtual method
+
+ * pcs/cal-backend.c (cal_backend_get_scheduling_information): call
+ the class specific method
+
+ * pcs/cal-backend.h: add virtual method
+
+ * idl/evolution-calendar.idl: add a getSchedulingInformation call
+ which describes how the backend does its scheduling
+
+ * pcs/cal.c (impl_Cal_get_scheduling_information): implement above
+
+ * gui/e-day-view.c: pass NULL as parent to recur dialog
+
+ * gui/e-week-view.c: ditto
+
+ * gui/dialogs/comp-editor.c (prompt_to_save_changes): show recur
+ dialog after prompting, not before
+ (save_cmd): ditto
+ (save_close_cmd): ditto
+ (real_edit_comp): don't show recur dialog before opening
+
+ * gui/dialogs/recur-comp.h (recur_component_dialog): update proto
+
+ * gui/dialogs/recur-comp.c (recur_component_dialog): take a parent
+ argument and set the dialog parent if non-null
+
+ * gui/e-week-view.c (e_day_view_on_editing_stopped): Don't update
+ appointment if both the old and the new summary texts are empty.
+
+ * gui/e-week-view.c (e_week_view_show_popup_menu): mask out "make
+ moveable" if its an instance
+
+ * gui/e-day-view.c (e_day_view_on_event_right_click): ditto
+
+ * gui/e-week-view.c (e_week_view_on_editing_stopped): if its
+ an instance, show the recur comp dialog and modify it based on the
+ response (or not if cancel is hit)
+
+ * gui/e-day-view.c (e_day_view_finish_long_event_resize): if its
+ an instance, show the recur comp dialog and modify it based on the
+ response (or not if cancel is hit)
+ (e_day_view_finish_resize): ditto
+ (e_day_view_on_editing_stopped): ditto
+ (e_day_view_on_top_canvas_drag_data_received): ditto
+ (e_day_view_on_main_canvas_drag_data_received): ditto
+
+ * gui/dialogs/comp-editor.c (real_edit_comp): reflect changes in
+ proto of recur_component_dialog
+
+ * gui/dialogs/recur-comp.c (recur_component_dialog): use ok/cancel
+ instead and radio buttons for the mod type
+
+ * gui/dialogs/recur-comp.h: update proto
+
+ * gui/e-day-view.c (e_day_view_on_long_event_click): allow
+ dragging if its an instance
+ (e_day_view_on_event_click): ditto
+ (e_day_view_on_top_canvas_motion): ditto
+ (e_day_view_on_main_canvas_motion): ditto
+
+ * gui/dialogs/comp-editor.c (save_comp): if its an instance,
+ update with the mod type
+ (real_edit_comp): ask the user what instances they want to change
+
+ * gui/dialogs/recur-comp.[hc]: new dialog to ask user what
+ recurrences to modify
+
+ * gui/dialogs/Makefile.am: Compile new files
+
+ * gui/e-day-view.c (e_day_view_on_delete_occurrence): if its an
+ instance, just remove with THIS mod
+
+ * gui/e-week-view.c (e_week_view_on_delete_occurrence): ditto
+
+ * cal-client/cal-client.c (cal_client_remove_object_with_mod):
+ send the mod parameter to the backend
+ (cal_client_remove_object): implement with above
+ (cal_client_update_object_with_mod): send the mod parameter to the
+ backend
+ (cal_client_update_object): implement with above
+
+ * cal-client/cal-client.h: new protos
+
+ * cal-client/cal-client.c (cal_client_is_read_only): return
+ booleans in the pre conditions
+ (cal_client_update_object): pass mod param
+ (cal_client_update_objects): ditto
+ (cal_client_remove_object): ditto
+ (cal_client_ensure_timezone_on_server): ditto
+
+ * pcs/cal.c (impl_Cal_update_objects): take mod param
+ (impl_Cal_remove_object): ditto
+
+ * pcs/cal-backend.h: fix protos
+
+ * pcs/cal-backend.c (cal_backend_update_objects): take mod param
+ (cal_backend_remove_object): ditto
+
+ * pcs/cal-backend-file.c (cal_backend_file_update_objects): take
+ mod param
+ (cal_backend_file_remove_object): ditto
+
+ * cal-util/cal-util.h: add mod enum
+
+ * cal-util/cal-recur.c (cal_recur_generate_instances_of_rule): if
+ its an instance, just report the instance
+
+ * cal-util/cal-component.h: new protos
+
+ * cal-util/cal-component.c (cal_component_is_instance): indicate
+ whether the component is an instance or not
+ (cal_component_free_range): free a range
+
+ * idl/evolution-calendar.idl: get remove and update to take mod
+ type
+
+2003-03-03 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/dialogs/alarm-page.c
+ * gui/dialogs/event-page.c
+ * gui/dialogs/meeting-page.c
+ * gui/dialogs/recurrence-page.c
+ * gui/dialogs/schedule-page.c
+ * gui/dialogs/task-details-page.c
+ * gui/dialogs/task-page.c (get_widgets): gtk_widget_unparent() ->
+ gtk_container_remove(). The former caused crashes in the
+ addressbook's name-selector.
+
+2003-03-01 Hans Petter Jansson <hpj@ximian.com>
+
+ * Makefile.am: Do importers after the other dirs, as it relies on
+ generated files from there. This is still not optimal... Should
+ probably introduce dependencies.
+
+2003-02-28 Hans Petter Jansson <hpj@ximian.com>
+
+ * importers/Makefile.am: Shlibify.
+
+ * importers/GNOME_Evolution_Calendar_Importer.server.in.in:
+ Shlibify.
+
+ * importers/icalendar-importer.c: Add necessary includes.
+ (importer_destroy_cb): This is now a GWeakNotify func. gtk_ -> g_.
+ (ical_importer_new)
+ (vcal_importer_new)
+ (gnome_calendar_importer_destroy_cb): Destroy signal -> weak ref.
+
+ * importers/main.c: Add necessary includes. Shlibify.
+
+2003-02-28 Dan Winship <danw@ximian.com>
+
+ * gui/dialogs/Makefile.am: build libcal-dialogs as an uninstalled
+ shared library
+ ($(IDL_GENERATED_H), etc): Only generate
+ Evolution-Addressbook-SelectNames.h, not the corresponding .c
+ files, or we'll get duplicate symbol errors trying to link this
+ into libevolution_calendar.la
+
+ * gui/Makefile.am (libevolution_calendar_la_LIBADD): Update for
+ that (and eliminate libtool portability warnings)
+
+2003-02-28 Hans Petter Jansson <hpj@ximian.com>
+
+ * Makefile.am (SUBDIRS): Add importers/.
+
+ * importers/Makefile.am (server_in_files)
+ (server_DATA): Insert $(libexecdir).
+
+ * importers/icalendar-importer.c (connect_to_shell):
+ oaf_activate_from_id() -> bonobo_activation_activate_from_id().
+ (load_vcalendar_file): U_() -> _().
+
+ * importers/GNOME_Evolution_Calendar_Importer.server.in:
+ Renamed to corresponding .in.in.
+
+2003-02-28 Dan Winship <danw@ximian.com>
+
+ * gui/Makefile.am (libevolution_calendar_la_LIBADD): Remove
+ libalarm.a, which was not being used by the calendar.
+
+ * gui/main.c: Remove unneeded alarm.h include.
+
+ * gui/alarm-notify/Makefile.am (noinst_LIBRARIES): Stop building
+ libalarm.a
+ (evolution_alarm_notify_SOURCES): Add alarm.c, alarm.h
+ (evolution_alarm_notify_LDADD): Remove libalarm.a
+
+2003-02-27 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/Makefile.am: link to versist libtool object
+
+ * conduits/calendar/Makefile.am: ditto
+
+2003-02-26 Hans Petter Jansson <hpj@ximian.com>
+
+ This makes alarm notification work.
+
+ * gui/alarm-notify/notify-main.c (main): Initialize GTK. Don't
+ initialize bonobo activation - bonobo_init() does that for us.
+
+2003-02-26 Hans Petter Jansson <hpj@ximian.com>
+
+ This makes creating appointments and tasks from the "New" button work.
+
+ * gui/main.c (comp_editor_factory_fn): Doesn't need to take any args.
+ (factory): Add a handler for CompEditorFactory.
+
+2003-02-26 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes Ximian #37895.
+
+ * gui/e-day-view.c (e_day_view_destroy): g_object_unref () ->
+ pango_font_description_free ().
+ (e_day_view_style_set): Ditto.
+
+ * gui/e-week-view.c (e_week_view_destroy): Ditto.
+
+2003-02-26 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes Ximian #38306.
+
+ * gui/e-itip-control.c (clean_up): Do nothing if the private structure
+ has been freed. Don't call non-g_free() freers with NULL pointers.
+ (destroy): Do nothing if the private structure has been freed. Clear
+ pointers to freed blocks.
+
+2003-02-25 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/print.c (print_calendar): Use fixed margins of 5% of page
+ width/height. This is the same cheat as gtkhtml employs to get
+ around the fact that GNOME_PRINT_KEY_PAGE_MARGIN_* don't return
+ useful values (I think). It sort of sucks, but is better than
+ no margins at all.
+ (print_comp): Ditto.
+
+2003-02-25 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/calendar-config.c (calendar_config_get_default_view): Get
+ default view from correct key.
+
+2003-02-25 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.c (get_widgets): Show start/end-of-day
+ widgets.
+
+2003-02-23 Hans Petter Jansson <hpj@ximian.com>
+
+ * cal-client/cal-client.c (cal_client_is_read_only): Don't warn
+ if calendar isn't loaded... Doesn't seem to hurt, but this should
+ probably be investigated further.
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_contacts_to_widget):
+ If we have no contacts, don't bother trying to set them in the
+ widget. Used to pass a NULL list, which would lead to much anxiety
+ in callees.
+
+ * gui/dialogs/meeting-page.c (meeting_page_fill_widgets):
+ If we have no potential organizers, emit a sensible warning.
+
+ * gui/dialogs/task-page.c (init_widgets): Don't try to connect to
+ the "changed" signal of the GtkTextView -- we listen to the
+ GtkTextBuffer now.
+
+2003-02-20 Not Zed <NotZed@Ximian.com>
+
+ * gui/e-itip-control.c (destroy): dont unref accounts anymore.
+ (change_status): itipAddress -> EAccount.
+
+ * gui/calendar-model.c (calendar_model_destroy): dont unref
+ accounts anymore.
+ (calendar_model_value_at): simplify logic using account_list_find.
+
+ * gui/dialogs/task-editor.c (task_editor_edit_comp): use new
+ itip_addresses interfaces.
+
+ * gui/dialogs/meeting-page.c (meeting_page_construct): use new
+ itip_addresses_* interfaces. Should probably be using e_account
+ directly.
+ (meeting_page_finalize): dont unref the accounts list.
+
+ * gui/dialogs/event-editor.c (event_editor_edit_comp): dont unref
+ accounts anymore.
+
+ * gui/itip-utils.c (itip_addresses_get_default): Just use
+ e_account_list_get_default.
+ (itip_addresses_get): dont ref the account object, just keep 1 ref
+ to it.
+ (find_account): remove.
+ (itip_organizer_is_user): use e_account_list_find now.
+ (itip_sentby_is_user): "
+ (comp_limit_attendees): "
+
+2003-02-19 Not Zed <NotZed@Ximian.com>
+
+ * gui/dialogs/meeting-page.c: addresses->accounts
+ (meeting_page_finalize): unref accounts.
+
+ * gui/dialogs/event-editor.c: Use EAccountList api's
+
+ * pcs/cal-backend-util.c (cal_backend_mail_account_get): Removed,
+ use a global EAccountList instead.
+ (cal_backend_mail_account_get_default): Use the global
+ EAccountList directly.
+ (cal_backend_mail_account_is_valid): And here too.
+
+ * gui/itip-utils.h: Removed ItipAddress structure.
+
+ * gui/itip-utils.c (itip_addresses_get): Change it to return a
+ global account object, so we dont need to duplicate all account
+ info in the calendar.
+ (itip_addresses_free, itip_address_free): Removed, use
+ g_object_unref.
+ (itip_addresses_get_default): Return an EAccount.
+ (find_account): helper to lookup accounts based on name/address.
+ (itip_organizer_is_user): Use helper to find account.
+ (itip_sentby_is_user): "
+ (comp_limit_attendees): "
+ (comp_sentby): Update to use an EAccount direclty.
+ (get_address): Removed, now redundant.
+
+ * gui/e-itip-control.c: Changed priv->addresses to be accounts
+ EAccountList.
+ (destroy): unref accounts.
+ (find_my_address): Change to use accounts list directly, also fix
+ a small potential memleak.
+
+ * gui/calendar-model.c: Change priv->addresses to be a direct
+ reference to an EAccountList, renamed priv->accounts.
+ (calendar_model_destroy): unref accounts.
+ (calendar_model_value_at): Use EAccountList directly to lookup
+ members.
+
+ * gui/calendar-config.c (calendar_config_get_timezone)
+ (calendar_config_set_timezone): Fix timezone key.
+ (calendar_config_get_24_hour_format): Same for 24 hour format key.
+ (calendar_config_set_24_hour_format): And here.
+ (calendar_config_get_week_start_day): "
+ (calendar_config_set_week_start_day): "
+ (calendar_config_get_day_start_hour): "
+ (calendar_config_set_day_start_hour): "
+ (calendar_config_get_day_start_minute): "
+ (calendar_config_set_day_start_minute): "
+ (calendar_config_get_day_end_hour): "
+ (calendar_config_set_day_end_hour): "
+ (calendar_config_get_day_end_minute)
+ (calendar_config_set_day_end_minute)
+ (calendar_config_get_time_divisions)
+ (calendar_config_set_time_divisions)
+ (calendar_config_get_dnav_show_week_no)
+ (calendar_config_set_dnav_show_week_no)
+ (calendar_config_get_default_view)
+ (calendar_config_set_default_view)
+ (calendar_config_get_hpane_pos, calendar_config_set_hpane_pos)
+ (calendar_config_get_vpane_pos, calendar_config_set_vpane_pos)
+ (calendar_config_get_month_hpane_pos)
+ (calendar_config_set_month_hpane_pos)
+ (calendar_config_get_month_vpane_pos)
+ (calendar_config_set_month_vpane_pos)
+ (calendar_config_get_compress_weekend)
+ (calendar_config_set_compress_weekend)
+ (calendar_config_get_show_event_end)
+ (calendar_config_set_show_event_end)
+ (calendar_config_get_working_days)
+ (calendar_config_set_working_days)
+ (calendar_config_get_hide_completed_tasks)
+ (calendar_config_set_hide_completed_tasks)
+ (calendar_config_get_hide_completed_tasks_units)
+ (calendar_config_set_hide_completed_tasks_units)
+ (calendar_config_get_hide_completed_tasks_value)
+ (calendar_config_set_hide_completed_tasks_value)
+ (calendar_config_get_confirm_delete)
+ (calendar_config_set_confirm_delete)
+ (calendar_config_get_confirm_expunge)
+ (calendar_config_set_confirm_expunge)
+ (calendar_config_get_tasks_due_today_color)
+ (calendar_config_set_tasks_due_today_color)
+ (calendar_config_get_tasks_overdue_color)
+ (calendar_config_set_tasks_overdue_color)
+ (calendar_config_get_use_default_reminder)
+ (calendar_config_set_use_default_reminder)
+ (calendar_config_get_default_reminder_interval)
+ (calendar_config_set_default_reminder_interval)
+ (calendar_config_get_default_reminder_units)
+ (calendar_config_set_default_reminder_units)
+ (calendar_config_default_calendar_folder)
+ (calendar_config_default_tasks_folder): Update config paths for
+ new config convention, etc.
+
+ * gui/alarm-notify/save.c (KEY_LAST_NOTIFICATION_TIME, etc):
+ Updated keys to lowercase/proper path.
+ (save_calendars_to_load): Store the calendars list as a gconf
+ list.
+ (get_calendars_to_load): Load the calendars list as a gconf list.
+ (save_blessed_program): Similar, for the blessed program list.
+ (is_blessed_program): Same here.
+
+ * gui/alarm-notify/config-data.c (config_data_get_timezone): Update
+ the path to the timezone key.
+ (config_data_get_24_hour_format): Fix path to config option.
+
+ * conduits/todo/todo-conduit.c (get_default_timezone): lower-case
+ the timezone key.
+
+ * conduits/calendar/calendar-conduit.c (get_default_timezone):
+ lower-case the timezone key.
+
+ * cal-client/cal-client.c (get_default_uri): Use the proper path
+ to get the default folder uri's.
+
+2003-02-23 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/gnome-cal.c (backend_died_cb): Appease the compiler.
+ (gnome_calendar_update_paned_quanta): Don't actually try to set
+ the quantum properties. The quantum code should probably go away
+ entirely now that the panes update during resize, but let's keep
+ it around for a bit more.
+
+ * gui/dialogs/event-editor.c (event_editor_construct): Ref & sink
+ the pages.
+
+ * gui/dialogs/task-editor.c (task_editor_construct): Ref & sink
+ the pages.
+
+2003-02-23 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/cal-search-bar.c (make_suboptions): Eliminate
+ e_utf8_to_gtk_string ().
+
+ * gui/e-timezone-entry.c (e_timezone_entry_get_display_name):
+ Ditto.
+
+ * gui/calendar-model.c (date_value_to_string):
+ e_utf8_from_locale_string () -> g_locale_to_utf8 ().
+ (calendar_model_value_to_string): Ditto.
+
+ * gui/e-cell-date-edit-text.c (ecd_get_text): Ditto.
+
+ * gui/e-itip-control.c (write_label_piece): Ditto.
+
+ * gui/print.c (format_date): Ditto.
+ (print_week_view_background): Ditto.
+ (print_month_summary): Ditto.
+ (print_date_label): Ditto.
+ (print_comp_item): Ditto.
+
+ * gui/alarm-notify/alarm-notify-dialog.c (write_html_heading):
+ Ditto.
+
+2003-02-22 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/dialogs/task-details-page.c (get_widgets): Show the custom
+ widgets, since libglade appears to not want to do that.
+
+ * gui/dialogs/task-page.c (clear_widgets): Make the description
+ field use a GtkTextView.
+ (task_page_fill_widgets): Ditto.
+ (task_page_fill_component): Ditto.
+ (init_widgets): Ditto.
+ (get_widgets): Show the custom widgets, since libglade doesn't do it.
+
+2003-02-22 Hans Petter Jansson <hpj@ximian.com>
+
+ * pcs/cal-backend.c (cal_backend_unref_categories): Add an
+ iteration statement. Fixes hang in wombat.
+
+2003-02-22 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/apps_evolution_calendar.schemas: Commit fixes from
+ Grzegorz Goawski <grzegol@pld.org.pl>.
+
+2003-02-21 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/calendar-model.c (calendar_model_class_init): GObject, not
+ GtkObject.
+ (calendar_model_destroy): -> calendar_model_finalize ().
+
+ * gui/calendar-view.c (calendar_view_class_init): GObject, not
+ GtkObject.
+ (calendar_view_destroy): -> calendar_view_finalize ().
+
+ * gui/comp-editor-factory.c (comp_editor_factory_class_init):
+ GObject, not GtkObject.
+ (comp_editor_factory_destroy): -> comp_editor_factory_finalize ().
+
+ * gui/e-day-view.c (e_day_view_long_event_button_press):
+ gtk_signal_disconnect () -> g_signal_handler_disconnect ().
+ (e_day_view_on_event_button_press): Ditto.
+ (e_day_view_on_long_event_click): Ditto.
+ (e_day_view_on_event_click): Ditto.
+ (e_day_view_on_event_double_click): Ditto.
+ (e_day_view_on_delete_appointment): Ditto.
+
+ * gui/e-week-view.c (e_week_view_on_text_item_event):
+ gtk_signal_disconnect () -> g_signal_handler_disconnect ().
+
+ * gui/alarm-notify/alarm-notify.c (AlarmNotify_RemoveCalendar):
+ Don't cast to GtkObject.
+
+2003-02-21 Dan Winship <danw@ximian.com>
+
+ * cal-client/Makefile.am (libcal_client_la_LIBADD): depend on
+ libcal-util, libwombat, and libeutil
+ (client_test_LDADD): Remove those deps from here
+
+ * cal-util/Makefile.am (libcal_util_la_LIBADD): depend on
+ libical-evolution.la
+ (test_recur_LDADD): Remove that dependency here (and an ancient
+ libversit dependency).
+
+ * gui/alarm-notify/Makefile.am (evolution_alarm_notify_LDADD):
+ remove some deps
+
+ * gui/Makefile.am (libevolution_calendar_la_LIBADD): Likewise.
+
+2003-02-20 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/apps_evolution_calendar.schemas: Add GConf schemas.
+
+ * gui/Makefile.am (EXTRA_DIST): Dist GConf schemas.
+ (install-data-local): Install GConf schemas.
+
+2003-02-20 Dan Winship <danw@ximian.com>
+
+ * gui/Makefile.am (libevolution_calendar_la_LIBADD):
+ s/libemiscwidgets.a/libemiscwidgets.la/ and likewise for
+ libetimezonedialog
+
+2003-02-19 Ettore Perazzoli <ettore@ximian.com>
+
+ * pcs/Makefile.am: Split $(CORBA_GENERATED_H) rule from the
+ $(CORBA_GENERATED_C) rule to that it autogens properly when using
+ parallel makes.
+ * cal-client/Makefile.am: Likewise.
+
+ * gui/gnome-cal.c (gnome_calendar_setup_view_menus): Fix path to
+ the calendar's GAL Views directory. [Pointed out by Grzegorz
+ Goawski.]
+
+2003-02-11 Hans Petter Jansson <hpj@ximian.com>
+
+ Enable printing for calendar and tasks.
+
+ * gui/print.c: Set default font to be "Sans". Store the PrintConfig
+ globally instead of PaperInfo (which doesn't exist anymore).
+ (get_font_for_size): Don't use
+ gnome_font_face_find_closest_from_weight_slant() anymore, since
+ it's broken. Instead, use gnome_font_face_find() and put bold- and
+ italicness in the name to look for. Descenders can now be negative,
+ so have to take the absolute value to get font height.
+ (print_comp): Use global, persistent print configuration.
+ GnomePrintDialog is now a GtkDialog. Remove manual configuration
+ parameter shuffling. Set up page using new methods.
+ (print_calendar): Like print_comp(). For month view, force landscape
+ mode by temporarily setting it in the config, and remove the old hack.
+ (print_setup): Port. I'm not sure this works, but at least it
+ compiles now. How do I test this code path?
+ (print_day_view): Pass NULL for page denominator.
+ (print_week_view): Ditto.
+ (print_month_view): Ditto.
+ (print_year_view): Ditto.
+ (print_comp_item): Add missing gnome_print_beginpage(). How did this
+ work before?
+
+ * gui/tasks-control.c: Store the PrintConfig globally instead of
+ passing individual parameters every time. Persistent too.
+ (print_title): Look for "Sans Bold" instead of "Times" with
+ GNOME_FONT_BOLD property. Don't use find_closest_from_weight_slant().
+ (print_tasks): Set up page using new methods. GnomePrintMaster ->
+ GnomePrintJob. Get params from global config instead of args.
+ (tasks_control_print_cmd): Use global, persistent print configuration.
+ Remove manual portrait/landscape hack. GnomePrintDialog is now a
+ GtkDialog. Set params in global config instead of passing them to
+ print_tasks().
+ (tasks_control_print_preview_cmd): print_tasks() now takes fewer
+ args.
+
+2003-02-11 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct):
+ Don't use gtk_scrolled_window_set_scrollbar_spacing() anymore.
+
+2003-02-10 Hans Petter Jansson <hpj@ximian.com>
+
+ * pcs/cal-backend-file.c (save): Don't try to make an error string
+ from an uninitialized GnomeVFSResult.
+
+2003-02-10 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/Makefile.am: Make the CORBA IDL compilation work with
+ parallel makes.
+ * gui/dialogs/Makefile.am: Likewise.
+ * gui/alarm-notify/Makefile.am: Likewise.
+
+2003-02-07 Rodney Dawes <dobey@ximian.com>
+
+ * gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in:
+ remove this file, as it's generated now
+ * gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in.in:
+ Add this file to generate the .server.in from, with hardcoded path
+ * gui/alarm-notify/Makefile.am: Hardcode path in server file
+
+2003-02-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #37706
+
+ * gui/comp-editor-factory.c (cal_opened_cb): added PERMISSION_DENIED
+ case for not ending process on g_assert_not_reached.
+
+2003-02-06 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/e-day-view-time-item.c
+ (e_day_view_time_item_show_popup_menu): Use
+ e_auto_kill_popup_menu_on_selection_done() instead of
+ e_auto_kill_popup_menu_on_hide().
+ * gui/dialogs/meeting-page.c (right_click_cb): Likewise.
+
+2003-02-06 Dan Winship <danw@ximian.com>
+
+ * gui/dialogs/event-page.c (make_timezone_entry): show the widget
+ before returning it.
+
+ * importers/main.c (main): s/PACKAGE/GETTEXT_PACKAGE/ in gettext
+ init
+
+2003-02-05 Dan Winship <danw@ximian.com>
+
+ * gui/Makefile.am (INCLUDES): Remove cruft. Rename ICONSDIR to
+ IMAGESDIR.
+ (gladedir, etspecdir, serverdir): Remove definitions
+ (libevolution_calendar_la_LDFLAGS): Remove -export-dynamic, add
+ -module.
+
+ * gui/calendar-config.c: #include <string.h>
+
+ * gui/calendar-component.c (add_creatable_item):
+ s/ICONSDIR/IMAGESDIR/
+
+ * gui/comp-util.c: #include <string.h>
+
+ * gui/e-alarm-list.c: #include e-time-utils.h
+ (row_deleted): Remove unused variable.
+ (e_alarm_list_append): Likewise.
+
+ * gui/e-date-time-list.c: #include e-time-utils.h, timeutil.h,
+ calendar-config.h
+ (row_deleted): Remove unused variable
+ (e_date_time_list_append): Likewise.
+
+ * gui/e-day-view.c (e_day_view_unrealize): Remove unused var
+ (e_day_view_style_set): Likewise.
+ (e_day_view_set_event_font_cb): Likewise.
+
+ * gui/e-day-view-time-item.c: #include <string.h>
+ (e_day_view_time_item_get_column_width): Remove unused variable.
+
+ * gui/e-itip-control.c: #include <unistd.h>
+ (url_requested_cb): s/ICONSDIR/IMAGESDIR/
+
+ * gui/e-week-view.c (e_week_view_unrealize): Remove unused variable
+ (e_week_view_style_set): Likewise
+
+ * gui/e-week-view-titles-item.c: #include string.h
+ * gui/itip-bonobo-control.c: Likewise
+ * gui/print.c: Likewise
+
+
+ * gui/alarm-notify/Makefile.am: Use privlibexecdir.
+ (INCLUDES): Remove cruft.
+ (gladedir, serversdir): Remove definitions
+ (evolution_alarm_notify_LDFLAGS): Remove no-longer-needed
+ -export-dynamic.
+
+ * gui/alarm-notify/alarm-notify-dialog.c (write_html_heading):
+ s/ICONSDIR/IMAGESDIR
+
+ * gui/alarm-notify/notify-main.c (main): Fix up gettext
+ initialization
+
+
+ * gui/dialogs/Makefile.am (INCLUDES): Remove cruft. Rename
+ ICONSDIR to IMAGESDIR.
+ (gladedir, etspecdir): Remove definitions
+
+ * gui/dialogs/alarm-page.c: #include gtktreeselection.h and
+ gtkcellrenderertext.h
+ (append_reminder): Remove unused variable.
+ (alarm_page_fill_component): Likewise.
+ (alarm_page_set_summary): Likewise.
+ (delete_clicked_cb): Likewise.
+
+ * gui/dialogs/comp-editor.c (make_icon_from_comp):
+ s/ICONSDIR/IMAGESDIR/
+
+ * gui/dialogs/event-page.c: #include <string.h>
+
+ * gui/dialogs/meeting-page.c (meeting_page_construct): Remove
+ unused variable.
+ (meeting_page_fill_widgets): Likewise
+
+ * gui/dialogs/recurrence-page.c: #include gtktreeselection.h and
+ gtkcellrenderertext.h
+ (append_exception): Remove unused variable
+ (fill_component): Likewise
+ (recurrence_page_set_summary): Likewise.
+ (exception_delete_cb): Likewise
+
+
+ * cal-client/Makefile.am (libcal_clientincludedir): Define in
+ terms of privincludedir
+
+ * cal-client/client-test.c (main): Fix up gettext initialization
+
+ * cal-client/cal-client.c (cal_client_construct): Likewise
+
+
+ * cal-util/Makefile.am (INCLUDES): Remove cruft.
+ (libcal_utilincludedir): Define in terms of privincludedir
+
+
+ * pcs/Makefile.am (INCLUDES): Remove cruft.
+ (pcsincludedir): Define in terms of privincludedir
+
+ * pcs/cal-backend-file.c (cal_backend_file_finalize): Remove
+ unused variable
+
+
+ * importers/Makefile.am: Update this some although it's not
+ currently being built
+
+2003-02-05 Dan Winship <danw@ximian.com>
+
+ * gui/alarm-notify/notify-main.c (main):
+ s/glade_gnome_init/glade_init/
+
+ * gui/calendar-offline-handler.c: s/BonoboXObject/BonoboObject/
+
+ * gui/comp-editor-factory.c: Likewise
+
+2003-02-05 Dan Winship <danw@ximian.com>
+
+ * cal-util/cal-recur.c (cal_recur_nth): array of localized month
+ day names ("1st" - "31st")
+
+ * gui/dialogs/recurrence-page.c (make_recur_month_num_submenu,
+ make_recur_month_num_menu, month_num_menu_selection_done_cb): Use
+ the new cal_recur_nth[] array. The way this was done before didn't
+ localize properly.
+
+ From evolution-1-2-branch:
+
+ * gui/e-itip-control.c (write_recurrence_piece): Describe
+ recurrences, if we can. #30993
+ (set_date_label): If the meeting has recurrences, call
+ write_recurrence_piece after writing the start and end dates.
+ (write_label_piece): Wrap the timezone in <font size=-1> to
+ de-emphasize it a bit and try to keep the timestamp on a single
+ line even with big Outlook timezone names. Add an option to show
+ just the date, for describing the end of recurrences (since the
+ time in the UNTIL is the *beginning* of the last instance, which
+ would confuse people).
+ (update_item): Set the VCALENDAR's METHOD.
+ (ok_clicked_cb): Use update_item, not remove_item, to process a
+ cancelation. Part of #33875.
+
+ * pcs/cal-backend-file.c (cal_backend_file_cancel_object): New,
+ handle an ICAL_METHOD_CANCEL update.
+ (cal_backend_file_update_objects): Call
+ cal_backend_file_update_object or cal_backend_file_cancel_object
+ as appropriate.
+
+2003-02-04 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_on_invite_others_button_draw):
+ Rename to e_meeting_time_selector_on_invite_others_button_expose()
+ and handle "expose-event" instead of "draw".
+ (e_meeting_time_selector_construct): The "draw" signal doesn't exist
+ anymore - connect to "expose-event" instead.
+
+ * gui/dialogs/event-page.c (clear_widgets): Clear the GtkTextBuffer
+ for the description.
+ (event_page_fill_widgets): Use the GtkTextBuffer.
+ (event_page_fill_component): Use the GtkTextBuffer.
+ (init_widgets): Create a GtkTextBuffer for the GtkTextView. Set word
+ wrap. Connect to the "changed" signal of the model instead of the view.
+
+2003-02-04 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-meeting-time-sel-item.c
+ (e_meeting_time_selector_item_paint_day_top): Use PangoLayout to
+ draw text.
+
+2003-02-02 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_set_event_font_cb): Skip setting the
+ "font_gdk" arg for now.
+ (e_day_view_update_main_canvas_drag): Ditto.
+
+ * gui/e-week-view.c (e_week_view_style_set): Ditto.
+
+ * gui/weekday-picker.c (configure_items): Ditto.
+
+ * gui/dialogs/event-page.c (get_widgets): Show custom widgets
+ manually, since the visibility specified in the Glade XML appears
+ to not have any effect.
+
+ * gui/dialogs/recurrence-page.c (get_widgets): Ditto.
+
+2003-01-30 Ronald Kuetemeier <ronald@kuetemeier.com>
+
+ Fixes #35572
+
+ * gui/alarm-notify/alarm-queue.c: set saved_notification_time to last
+ notification time when we update the config to last notification, so
+ alarms will not get trigged again if a new calendar window is opened.
+
+2003-01-26 Chris Toshok <toshok@ximian.com>
+
+ * conduits/todo/todo-conduit.c: CalClient and CalComponent are
+ GObjects.
+
+ * conduits/calendar/calendar-conduit.c: same.
+
+2003-01-26 Chris Toshok <toshok@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (start_calendar_server):
+ fix warning.
+ (get_default_timezone): BonoboConfigDatabase -> e_config_listener.
+ (accept_all_cookies): remove.
+ (conduit_get_gpilot_conduit): remove the oaf initialization stuff.
+
+ * conduits/todo/todo-conduit.c (start_calendar_server):
+ fix warning.
+ (get_default_timezone): BonoboConfigDatabase -> e_config_listener.
+ (accept_all_cookies): remove.
+ (conduit_get_gpilot_conduit): remove the oaf initialization stuff.
+
+ * Makefile.am (CONDUIT_DIR): uncomment the conduit stuff.
+
+2003-01-26 Hans Petter Jansson <hpj@ximian.com>
+
+ Make clicks, drags and resizes work, and pangoize remaining strings.
+ Fix EText placement.
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
+ Use Pango.
+
+ * gui/e-day-view.c (e_day_view_on_top_canvas_button_press):
+ Don't add scroll offset, it's already factored in.
+ (e_day_view_on_main_canvas_button_press): Ditto.
+ (e_day_view_on_top_canvas_motion): Ditto.
+ (e_day_view_on_main_canvas_motion): Ditto.
+ (e_day_view_reshape_long_event): Don't set the "font_gdk" property.
+ Its non-existence will prevent the other properties from being set as
+ well.
+ (e_day_view_reshape_day_event): Ditto.
+ (e_day_view_update_top_canvas_drag): Ditto.
+ (e_day_view_start_editing_event): ETextEventProcessor is a GObject
+ now. So use g_signal_stuff.
+ (e_day_view_check_auto_scroll): Factor out scroll offset before
+ checking the pointer's position relative to widget.
+ (e_day_view_auto_scroll_handler): Don't freeze the canvas when
+ scrolling - it will fail to update the canvas. If this is not
+ intended behaviour, it's a bug in the canvas, I think.
+ (e_day_view_on_main_canvas_drag_motion): Factor in the scroll offset
+ before checking for auto-scroll, since the function requires this.
+
+ * gui/e-week-view.c (e_week_view_reshape_event_span): Don't set the
+ "font_gdk" property. Its non-existence will prevent the other
+ properties from being set as well.
+ (e_week_view_start_editing_event): ETextEventProcessor is a GObject
+ now. So use g_signal_stuff.
+
+2003-01-25 Hans Petter Jansson <hpj@ximian.com>
+
+ Mainly making all views use PangoLayouts for text. When drawing a
+ PangoLayout, the draw offset is the top left corner of the layout,
+ not the text's baseline. Keep this in mind when viewing the
+ changes. I'll be brief about the exact changes, since they speak
+ better for themselves.
+
+ * gui/e-day-view-time-item.c (e_day_view_time_item_get_column_width):
+ Use Pango.
+ (e_day_view_time_item_draw): Use Pango.
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw): Use Pango.
+ (e_day_view_top_item_draw_long_event): Add some FIXME text so we can
+ see when this is being used. Is it in use at all?
+
+ * gui/e-day-view.c: No longer specify an explicit X font string for
+ the large font. Use the main font, and change the point size.
+ (e_day_view_init): Use Pango.
+ (e_day_view_style_set): Use Pango. Comment out the gdk_font setting
+ for the drag text items for now.
+
+ * gui/e-day-view.h: Use Pango.
+
+ * gui/e-week-view-event-item.c (e_week_view_draw_time): Use Pango.
+
+ * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
+ Use Pango.
+
+ * gui/e-week-view-titles-item.c (e_week_view_titles_item_draw):
+ Use Pango.
+
+ * gui/e-week-view.c: No longer specify an explicit X font string for
+ the small font. Use the main font, and change the point size.
+ (e_week_view_init): Use Pango.
+ (e_week_view_destroy): Use Pango.
+ (get_string_width): Implemented for convenience.
+ (get_digit_width): Implemented for convenience.
+ (e_week_view_style_set): Use Pango.
+ (e_week_view_recalc_cell_sizes): Use Pango.
+ (e_week_view_get_time_string_width): Use Pango.
+
+ * gui/e-week-view.h: Use Pango.
+
+ Following are some random UTF-8 fixes and a crash fix.
+
+ * gui/itip-utils.c (comp_description): Use g_locale_to_utf8 ().
+
+ * gui/dialogs/comp-editor.c (make_title_from_comp): Return a
+ UTF-8 string.
+
+ * gui/dialogs/alarm-page.c (alarm_page_set_summary): Pass UTF-8
+ directly to GTK.
+
+ * gui/dialogs/delete-comp.c (delete_component_dialog): Ditto.
+
+ * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): Ditto.
+ (meeting_page_construct): Ditto.
+
+ * gui/dialogs/recurrence-page.c (recurrence_page_set_summary): Ditto.
+
+ * gui/dialogs/event-editor.c (event_editor_finalize): Fix crash caused
+ by gtk_object_destroy()-ing a non-GtkObject.
+
+2003-01-24 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_editing_stopped): Don't insist
+ appointment is updated if both old and new summary are blank.
+
+ * gui/e-week-view.c (e_week_view_on_editing_stopped): Ditto.
+
+ * gui/e-timezone-entry.c (on_button_clicked): Timezone dialog is now
+ a GtkDialog. Treat it as such.
+
+ * gui/goto.c (ecal_event): Goto dialog is now a GtkDialog. Treat it
+ as such.
+ (goto_dialog): Ditto.
+
+ * gui/goto-dialog.glade: Set the return IDs from the dialog buttons.
+
+ * gui/dialogs/meeting-page.c (popup_delegate_cb): Enable the delegate
+ dialog. It's now a GtkDialog, so treat it like one.
+ (right_click_cb): Use GTK stock item, not GNOME (that doesn't work
+ anymore).
+
+ * gui/e-delegate-dialog.glade: Set the return IDs from dialog buttons.
+
+ * gui/print.c (print_calendar): Correct the print dialog init. Code
+ is still not enabled, though.
+
+ * gui/tasks-control.c (print_tasks): Add a warning about printing
+ being disabled.
+
+2003-01-24 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/Makefile.am (iconsdir): Remove, this is now defined
+ in configure.in.
+
+ * gui/Makefile.am (iconsdir): Remove; this is now defined in
+ configure.in.
+
+ * gui/alarm-notify/Makefile.am (iconsdir): Remove; this is now
+ defined in configure.in.
+
+2003-01-23 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/dialogs/event-page.c (get_widgets): GTK_OBJECT -> G_OBJECT cast.
+
+ * gui/dialogs/alarm-page.c (get_widgets): Ditto.
+
+ * gui/dialogs/meeting-page.c (get_widgets): Ditto.
+
+ * gui/dialogs/recurrence-page.c (get_widgets): Ditto.
+
+ * gui/dialogs/schedule-page.c (get_widget): Ditto.
+
+ * gui/dialogs/task-details-page.c (get_widget): Ditto.
+
+ * gui/dialogs/task-page.c (get_widget): Ditto.
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct): Add a
+ FIXME comment to think about.
+
+ * gui/dialogs/comp-editor.c (comp_editor_merge_ui): Add a terminating
+ NULL to the concatenation.
+
+2003-01-23 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes some trivial, but distracting, warnings.
+
+ * gui/calendar-config.c (on_timezone_set): Fix constness.
+
+ * gui/e-timezone-entry.c (on_button_clicked): Fix constness.
+
+ * gui/dialogs/event-page.c (contacts_changed_cb): Fix constness.
+
+ * gui/dialogs/task-page.c (contacts_changed_cb): Fix constness.
+
+ * gui/e-itip-control.c (start_default_server): Cast callback with
+ G_CALLBACK ().
+
+ * gui/dialogs/schedule-page.c (init_widgets): Cast callback with
+ G_CALLBACK ().
+
+ * gui/calendar-offline-handler.c (impl_dispose): Takes GObject,
+ not GtkObject.
+ (impl_finalize): Ditto.
+
+ * gui/calendar-view.c (calendar_view_edit): Now takes parent window
+ as second arg.
+
+ * gui/e-meeting-model.c (select_names_ok_cb): Fix constness.
+ (get_select_name_dialog): Cast callback to BonoboListenerCallbackFn.
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_options_menu_position_callback): Add the
+ push_in arg to arg list. This was crash-prone before.
+ (e_meeting_time_selector_autopick_menu_position_callback): Ditto.
+
+ * gui/alarm-notify/alarm-notify-dialog.c: Include e-unicode.h.
+
+2003-01-23 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/Makefile.am (componentdir): Removed definition; this is now
+ defined in configure.in.
+
+2003-01-22 Ettore Perazzoli <ettore@ximian.com>
+
+ * pcs/cal-backend.c (cal_backend_ref_categories): Do not put the
+ category in both the changed_categories and the categories hashes;
+ fixes a double-free when finalizing the CalBackend.
+
+2003-01-22 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_setup_view_menus): Use
+ EVOLUTION_GALVIEWSDIR.
+
+ * gui/e-tasks.c (e_tasks_setup_view_menus): Use
+ EVOLUTION_GALVIEWSDIR.
+
+ * cal-util/Makefile.am: Install libcal-util.la in $(privlibdir)
+ instead of $(libdir).
+
+ * gui/dialogs/comp-editor.c (setup_widgets): Get
+ evolution-comp-editor.xml from EVOLUTION_UIDIR.
+ (comp_editor_merge_ui): Get the file in EVOLUTION_UIDIR.
+
+ * gui/tasks-control.c (tasks_control_activate): Get
+ evolution-tasks.xml from EVOLUTION_UI_DIRECTORY.
+
+ * gui/calendar-commands.c (calendar_control_activate): Get
+ evolution-calendar.xml from EVOLUTION_UI_DIRECTORY.
+
+ * pcs/Makefile.am (pcsincludedir): Version using $(BASE_VERSION).
+
+ * importers/Makefile.am: Install evolution-calendar-importer in
+ $(libexecdir)/evolution/$(BASE_VERSION).
+ (sounddir): Remove.
+
+ * gui/dialogs/Makefile.am (iconsdir): Version using
+ $(BASE_VERSION).
+ (gladedir): Likewise.
+ (etspecdir): Likewise.
+
+ * gui/Makefile.am (help_base): Remove.
+ (install-data-local): Do not make the $(help_base)/C directory.
+ (etspecdir): Version using $(BASE_VERSION).
+ (gladedir): Likewise.
+ (iconsdir): Likewise.
+ (INCLUDES): Update the EVOLUTION_IMAGESDIR define to be versioned,
+ and add a -DEVOLUTION_GALVIEWSDIR.
+
+ * cal-util/Makefile.am: Install evolution-alarm-notify in
+ $(libexecdir)/evolution/$(BASE_VERSION).
+
+ * cal-util/Makefile.am (libcal_utilincludedir): Version using
+ $(BASE_VERSION).
+ * gui/alarm-notify/Makefile.am (iconsdir): Likewise.
+ (gladedir): Likewise.
+
+ * cal-client/Makefile.am: Install libcal-client.la in privlibdir
+ instead of libdir.
+ (libcal_clientincludedir): Version using $(BASE_VERSION).
+
+2003-01-18 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/print.c (print_calendar): Create a GnomePrintDialog,
+ not a GnomePrinterDialog. They're different things. Patch from
+ Chema.
+
+2003-01-17 Dan Winship <danw@ximian.com>
+
+ * pcs/cal-backend.c: Move some non-file-backend-specific stuff
+ from cal-backend-file here so it can be shared with other
+ backends.
+ (CalBackendPrivate): add this, containing the categories hashes
+ and the (formerly public) clients list.
+ (cal_backend_init, cal_backend_finalize): Handle backend->priv.
+ (cal_destroy_cb): Simplify this (and redo it as a weak notify
+ func)
+ (cal_backend_add_cal): Keep a weak ref on the cal rather than
+ connecting to its "destroy" signal. Call notify_categories_changed
+ to let the new cal know about them.
+ (get_object): Default implementation of cal_backend_get_object.
+ that calls cal_component_get_as_string on the return value of
+ cal_backend_get_object_component.
+ (cal_backend_notify_mode, cal_backend_notify_update,
+ cal_backend_notify_remove, cal_backend_notify_error): Notify each
+ Cal about something.
+ (cal_backend_ref_categories, cal_backend_unref_categories):
+ Maintain a list of categories that are used by components in the
+ backend, and trigger categories_changed notifications as needed.
+
+ * pcs/cal-backend-file.c: Remove stuff that was moved to
+ CalBackend (notify funcs, category handling, get_object
+ implementation)
+
+2003-01-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-alarm-list.[ch]: Implement EAlarmList as CalComponentAlarm
+ list with a GtkTreeModel interface.
+
+ * gui/Makefile.am: Add e-alarm-list.[ch].
+
+ * gui/dialogs/alarm-page.[ch]: Use GtkTreeView with the new
+ EAlarmList as model for the alarm list. Update copyright.
+
+ * gui/dialogs/recurrence-page.[ch]: Update copyright.
+ (free_exception_date_time): Removed.
+ (fill_exception_widgets): Kill a lingering clist operation.
+
+2003-01-15 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct):
+ Create accel groups for popup menus. Fixes crash.
+
+ * gui/e-date-time-list.[ch]: Implement EDateTimeList as
+ CalComponentDateTime list with a GtkTreeModel interface.
+
+ * gui/Makefile.am: Add e-date-time-list.[ch].
+
+ * gui/dialogs/recurrence-page.c: Use GtkTreeView with the new
+ EDateTimeList as model for the exception list.
+
+ * gui/e-day-view.c: Silence warnings caused by missing casts.
+
+ * gui/e-week-view.c: Silence warnings caused by missing casts.
+
+2003-01-15 Rodney Dawes <dobey@ximian.com>
+
+ * gui/Makefile.am: Added libevolution_calendar_la_LDFLAGS, and
+ avoid versioning the shlib component
+
+2003-01-14 Ettore Perazzoli <ettore@ximian.com>
+
+ * cal-client/Makefile.am (CORBA_SOURCES_GENERATED): Renamed from
+ CORBA_GENERATED.
+ (CORBA_GENERATED): New, put both $(CORBA_SOURCES_GENERATED) and
+ $(CORBA_HEADERS_GENERATED) in it.
+ (BUILT_SOURCES): Put $(CORBA_GENERATED) in here.
+
+2003-01-14 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-calendar-table.c (tasks_popup_menu): Cast signal handlers
+ to GtkSignalFunc, avoid warnings.
+
+ * gui/gnome-cal.c (set_view): Only set view ID if we have an instance.
+
+2003-01-14 Ettore Perazzoli <ettore@ximian.com>
+
+ * cal-util/Makefile.am (EXTRA_DIST): cal-util-marshal.list.
+
+ * Makefile.am: Comment out the CONDUIT_DIR stuff for now.
+
+2003-01-14 Rodney Dawes <dobey@ximian.com>
+
+ * gui/gnome-cal.c: Use GtkPaned instead of EPaned
+
+2003-01-14 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_init): Work around canvas crashes
+ by ensuring rectangles have an initial width.
+
+2003-01-13 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/config-control-factory.h: Removed.
+ * gui/config-control-factory.c: Removed.
+
+ * gui/itip-bonobo-control.c: Renamed from itip-control-factory.c.
+ (itip_bonobo_control_new): New.
+ (itip_control_factory_init): Removed.
+
+ * gui/itip-bonobo-control.h: Renamed from itip-control-factory.h.
+
+ * gui/tasks-control-factory.c: Removed.
+ * gui/tasks-control-factory.h: Removed.
+
+ * gui/control-factory.c (control_factory_init): Removed.
+
+ * gui/Makefile.am: Updated to build everything as
+ libevolution-calendar.so and install in the COMPONENTDIR.
+
+ * gui/GNOME_Evolution_Calendar.server.in.in: Updated to build the
+ component as a shared library.
+
+ * gui/main.c (main): Removed.
+
+ * gui/calendar-component.c (calendar_component_get_object): New.
+ (owner_set_cb): Do not store the shell pointer in shells.
+ (owner_unset_cb): Do not remove the shell pointer from shells;
+ instead, just set global_shell_client to NULL.
+
+ * gui/calendar-component.h: Renamed from component-factory.h.
+ * gui/calendar-component.c: Renamed from component-factory.c.
+
+2003-01-10 Ettore Perazzoli <ettore@ximian.com>
+
+ * importers/icalendar-importer.c (connect_to_shell):
+ CORBA_Object_release() the CORBA shell.
+
+2003-01-09 Dan Winship <danw@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (make_recur_month_num_submenu,
+ make_recur_month_num_menu, month_num_menu_selection_done_cb): Use
+ the new cal_recur_nth[] array. The way this was done before didn't
+ localize properly.
+
+ * cal-util/cal-recur.c (cal_recur_nth): array of localized month
+ day names ("1st" - "31st")
+
+ * cal-util/cal-component.c (cal_component_set_recurid): Allow
+ recur_id to be NULL to clear the recurrence id. (Based on a story
+ by JP on evolution-1-2-recurid-branch)
+
+ * gui/print.c: Remove unused gnome-print-copies.h #include
+
+ * pcs/query.c (query_new): Use g_object_weak_ref rather than
+ connecting to "destroy" (which doesn't actually exist on a
+ CalBackend)
+ (backend_destroyed_cb): Update prototype.
+
+2003-01-08 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/alarm-notify/Makefile.am: Icons are now in
+ $(datadir)/evolution/images instead of
+ $(datadir)/images/evolution.
+ * gui/Makefile.am: Likewise.
+ * gui/dialogs/Makefile.am: Likewise.
+
+2003-01-06 Dan Winship <danw@ximian.com>
+
+ * idl/Makefile.am: remove idldir definition. (It's defined in
+ configure.in now)
+
+2002-12-19 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/calendar-commands.c (calendar_control_deactivate):
+ Replace gtk_signal_disconnect_by_data() with
+ g_signal_handlers_disconnect_matched(). Former takes GtkObject,
+ latter takes GObject.
+
+ * gui/calendar-model.c (calendar_model_destroy): Ditto.
+ (update_query): Ditto.
+ (calendar_model_set_cal_client): Ditto.
+
+ * gui/e-day-view.c (e_day_view_destroy): Ditto.
+ (update_query): Ditto.
+ (e_day_view_set_cal_client): Ditto.
+
+ * gui/e-tasks.c (query_eval_error_cb): Ditto.
+ (query_query_done_cb): Ditto.
+
+ * gui/e-week-view.c (e_week_view_destroy): Ditto.
+ (update_query): Ditto.
+ (e_week_view_set_cal_client): Ditto.
+
+ * gui/gnome-cal.c (update_query): Ditto.
+ (gnome_calendar_destroy): Ditto.
+
+ * gui/tasks-control.c (tasks_control_deactivate): Ditto.
+
+ * gui/e-comp-editor-registry.c (foreach_close_cb): Replace
+ gtk_signal_handler_(un)block_by_data() with
+ g_signal_handlers_(un)block_matched(). Former takes GtkObject, latter
+ takes GObject.
+
+ * gui/dialogs/alarm-page.c (alarm_page_get_type): Replace with
+ E_MAKE_TYPE().
+ (alarm_page_class_init): Use GObject as base class instead of
+ GtkObject, and set up finalization instead of destroy handler.
+ (alarm_page_destroy): Change to alarm_page_finalize() and assume
+ parent is GObject, not GtkObject.
+ (alarm_page_new): Use g_object_new(), not gtk_type_new().
+
+ * gui/dialogs/event-page.c: Same general changes as above file.
+ (update_time): Replace gtk_signal_handler_(un)block_by_data()
+ with g_signal_handlers_(un)block_matched().
+ (clear_widgets): Ditto.
+ (times_updated): Ditto.
+
+ * gui/dialogs/recurrence-page.c: Same general changes as above file.
+ (clear_widgets): Replace gtk_signal_handler_(un)block_by_data()
+ with g_signal_handlers_(un)block_matched().
+ (append_exception): Ditto.
+ (fill_ending_date): Ditto.
+ (recurrence_page_fill_widgets): Ditto.
+
+ * gui/dialogs/comp-editor.c: Same general changes as above file.
+ (comp_editor_finalize): Replace gtk_signal_disconnect_by_data()
+ with g_signal_handlers_disconnect_matched().
+ (comp_editor_remove_page): Ditto.
+
+ * gui/dialogs/event-editor.c: Same general changes as above file.
+ * gui/dialogs/meeting-page.c: Same general changes as above file.
+ * gui/dialogs/schedule-page.c: Same general changes as above file.
+ * gui/dialogs/task-details-page.c: Same general changes.
+ * gui/dialogs/task-editor.c: Same general changes as above file.
+ * gui/dialogs/task-page.c: Same general changes as above file.
+ * gui/dialogs/e-delegate-dialog.c: Same general changes.
+
+2002-12-16 Jeffrey Stedfast <fejj@ximian.com>
+
+ * gui/e-itip-control.c (write_html): Use camel_text_to_html()
+ instead.
+
+2002-12-16 Jeffrey Stedfast <fejj@ximian.com>
+
+ * gui/e-itip-control.c (write_html): Correctly convert text.value
+ into HTML here (ie, don't pass "<i>None</i>" into e_text_to_html()
+ if text.value is NULL).
+
+2002-12-06 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #35003
+
+ * gui/misc.[ch] (get_uri_without_password): new function for
+ removing the password from the CalClient's uris.
+
+ * gui/gnome-cal.c (client_cal_opened_cb): use the URI returned by
+ get_uri_without_password for messages.
+ (backend_error_cb): likewise.
+ (backend_died_cb): likewise.
+ (gnome_calendar_open): likewise.
+ (open_error, method_error, permission_error): likewise.
+
+ * gui/e-tasks.c (e_tasks_open): hide the password from the URI
+ being displayed in messages.
+ (backend_error_cb): likewise.
+
+2002-12-06 Hans Petter Jansson <hpj@ximian.com>
+
+ * cal-client/cal-query.c (cal_query_done_status_enum_get_type):
+ Implement GType for this enumeration.
+ (cal_query_class_init): Use the enumeration instead of the
+ abstract one.
+
+ * cal-client/cal-query.h: Add type macro and proto for enum.
+
+2002-12-06 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component-factory.c (create_view): Pass the env argument to
+ bonobo_control_set_property ().
+
+ * gui/e-meeting-model.c (class_init): We're no longer derived from
+ GtkObject, so use GObject class methods instead. destroy->finalize.
+ (destroy): Zapped.
+ (finalize): Implement based on old destroy ().
+
+2002-12-06 Hans Petter Jansson <hpj@ximian.com>
+
+ * cal-client/cal-client.c (cal_client_open_status_enum_get_type):
+ Create a non-abstract enumeration type derived from GEnum.
+ (cal_client_set_mode_status_enum_get_type): Ditto.
+ (cal_mode_enum_get_type): Ditto.
+ (cal_client_class_init): Use our enumerations and not the abstract
+ one.
+ (cal_client_finalize): Don't destroy factories, since the CalClient
+ doesn't own them anymore. They're shared between CalClients now.
+ (get_factories): Implement. Move the factory setup code here from
+ cal_client_construct (), and cache the factories. This is hopefully
+ temporary, until wombat goes away or is fixed.
+ (cal_client_construct): Most of the code moved to get_factories ().
+
+ * cal-client/cal-client.h: Add enumeration type macros and protos.
+
+ * gui/cal-search-bar.c (cal_search_bar_get_type): Removed in favour
+ of E_MAKE_TYPE, which uses GObject calls.
+ (cal_search_bar_class_init): Use g_type_class_peek_parent ().
+
+ * gui/calendar-model.c (calendar_model_get_type):
+ (calendar_model_class_init): Ditto, like above file.
+ * gui/calendar-view.c (calendar_view_get_type):
+ (calendar_view_class_init): Ditto.
+ * gui/e-calendar-table.c (e_calendar_table_get_type):
+ (e_calendar_table_class_init): Ditto.
+ * gui/e-comp-editor-registry.c (e_comp_editor_registry_get_type):
+ (class_init): Ditto.
+ * gui/e-day-view-main-item.c (e_day_view_main_item_get_type):
+ (e_day_view_main_item_class_init): Ditto.
+ * gui/e-day-view-time-item.c (e_day_view_time_item_get_type):
+ (e_day_view_time_item_class_init): Ditto.
+ * gui/e-day-view-top-item.c (e_day_view_top_item_get_type):
+ (e_day_view_top_item_class_init): Ditto.
+ * gui/e-day-view.c (e_day_view_get_type):
+ (e_day_view_class_init): Ditto.
+ * gui/e-itip-control.c (e_itip_control_get_type):
+ (class_init): Ditto.
+ * gui/e-meeting-attendee.c (e_meeting_attendee_get_type):
+ (class_init): Ditto.
+ * gui/e-meeting-model.c (e_meeting_model_get_type):
+ (class_init): Ditto.
+ * gui/e-meeting-time-sel-item.c
+ (e_meeting_time_selector_item_get_type):
+ (e_meeting_time_selector_item_class_init): Ditto.
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_get_type):
+ (e_meeting_time_selector_class_init): Ditto.
+ * gui/e-timezone-entry.c (e_timezone_entry_get_type):
+ (e_timezone_entry_class_init): Ditto.
+ * gui/e-week-view-event-item.c (e_week_view_event_item_get_type):
+ (e_week_view_event_item_class_init): Ditto.
+ * gui/e-week-view-main-item.c (e_week_view_main_item_get_type):
+ (e_week_view_main_item_class_init): Ditto.
+ * gui/e-week-view-titles-item.c (e_week_view_titles_item_get_type):
+ (e_week_view_titles_item_class_init): Ditto.
+ * gui/gnome-cal.c (gnome_calendar_get_type):
+ (gnome_calendar_class_init): Ditto.
+ * gui/weekday-picker.c (weekday_picker_get_type):
+ (weekday_picker_class_init): Ditto.
+
+ * gui/e-week-view.c (e_week_view_get_type):
+ (e_week_view_class_init): Ditto, but parent_class init was moved
+ from get_type() to class_init().
+
+ * gui/calendar-view-factory.c (calendar_view_factory_get_type):
+ (calendar_view_factory_class_init): Ditto, and set up finalize
+ callback instead of destroy.
+ (calendar_view_factory_finalize): It's a GObject, so implement this.
+ (celendar_view_factory_destroy): Move code to _finalize() and remove.
+
+ * gui/main.c (init_bonobo): Remove extraneous bonobo_activation_init().
+
+2002-11-27 Not Zed <NotZed@Ximian.com>
+
+ * gui/itip-utils.[ch]: run fix.sh over this.
+
+ * gui/dialogs/*.[ch]: run fix.sh over all of this.
+
+2002-11-26 Richard Li <Richard.Li@Sun.COM>
+
+ * cal-client/cal-client.c (cal_client_construct): removed extra call
+ to CORBA_exception_init.
+
+2002-11-22 Not Zed <NotZed@Ximian.com>
+
+ * gui/dialogs/delete-comp.c (delete_component_dialog): Changed
+ e_messagebox -> gtk_messagedialog.
+
+2002-11-21 Not Zed <NotZed@Ximian.com>
+
+ * gui/component-factory.c (create_view): pass type to
+ bonobo_control_set_property.
+
+2002-11-20 Not Zed <NotZed@Ximian.com>
+
+ * gui/Makefile.am (EXTRA_DIST): fix typo, servers_in_files ->
+ server_in_files.
+
+2002-11-19 Ettore Perazzoli <ettore@ximian.com>
+
+ * Makefile.am: Added rule to generate
+ GNOME_Evolution_Calendar.server.in from
+ GNOME_Evolution_Calendar.server.in.in, substituting @LIBEXECDIR@.
+ Also, install evolution-calendar in $libexecdir instead of
+ $bindir.
+
+ * gui/GNOME_Evolution_Calendar.server.in.in: Renamed from
+ GNOME_Evolution_Calendar.server.in. Prepended the executable name
+ with @LIBEXECDIR@.
+
+2002-11-19 Not Zed <NotZed@Ximian.com>
+
+ * gui/e-meeting-model.c (get_select_name_dialog): pass type to
+ bonobo_widget::set_property.
+ (select_names_ok_cb): ", for get_property.
+
+ * gui/dialogs/e-delegate-dialog.c (e_delegate_dialog_construct):
+ pass type to bonobo_widget::set_property & plug small leak.
+ (e_delegate_dialog_get_delegate): ", for get_property.
+ (e_delegate_dialog_get_delegate_name): "
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_contacts_to_widget):
+ pass type to bonobo_widget::set_property.
+ (comp_editor_contacts_to_component): ", for get_property
+
+2002-11-16 Chris Toshok <toshok@ximian.com>
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_style_set):
+ use new e_table_header_compute_height signature.
+
+2002-11-15 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component-factory.c: Use bonobo_main_quit instead of gtk
+
+2002-11-13 Federico Mena Quintero <federico@ximian.com>
+
+ * cal-client/cal-query.c: #include <string.h>
+ (obj_removed_cb): Fixed prototype.
+
+ * cal-client/cal-client.c (get_objects_atomically): Fix use of
+ g_signal_handler_disconnect().
+
+ * cal-client/client-test.c (create_client): Add G_CALLBACK casts.
+
+2002-11-12 Federico Mena Quintero <federico@ximian.com>
+
+ * pcs/cal-backend-util.c: #include <string.h>
+
+ * pcs/cal.c: Fixed prototypes of the CORBA method implementations.
+
+ * pcs/cal-backend-file.c (cal_backend_file_dispose): Added a
+ dispose method.
+ (cal_backend_file_get_free_busy): Converted to use EConfigListener
+ rather than BonoboConfigDatabase.
+
+ * gui/alarm-notify/alarm-notify.c: #include <string.h>, fix use of
+ g_hash_table_lookup_extended().
+
+ * gui/alarm-notify/alarm-notify-dialog.c: Substitute deprecated
+ GTK+ functions for new ones.
+
+ * gui/alarm-notify/alarm-queue.c: Likewise.
+
+ * gui/alarm-notify/notify-main.c: #include <string.h>,
+ <gtk/gtkmain.h>.
+
+ * gui/alarm-notify/save.c: #include <string.h>.
+
+2002-11-08 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/calendar-commands.c (calendar_control_deactivate): Use
+ g_object_set_data(..., NULL) instead of gtk_object_remove_data().
+
+ * gui/calendar-commands.c: Use g_object_{set,get}_* functions
+ instead of gtk_object_{set,get}_*.
+ * gui/calendar-commands.c: Likewise.
+ * gui/calendar-config.c: Likewise.
+ * gui/control-factory.c: Likewise.
+ * gui/e-calendar-table.c: Likewise.
+ * gui/e-comp-editor-registry.c: Likewise.
+ * gui/e-day-view-main-item.c: Likewise.
+ * gui/e-day-view-time-item.c: Likewise.
+ * gui/e-day-view-top-item.c: Likewise.
+ * gui/e-day-view.c: Likewise.
+ * gui/e-meeting-attendee.c: Likewise.
+ * gui/e-meeting-model.c: Likewise.
+ * gui/e-meeting-time-sel-item.c: Likewise.
+ * gui/e-meeting-time-sel.c: Likewise.
+ * gui/e-week-view-event-item.c: Likewise.
+ * gui/e-week-view-layout.c: Likewise.
+ * gui/e-week-view-main-item.c: Likewise.
+ * gui/e-week-view-titles-item.c: Likewise.
+ * gui/e-week-view.c: Likewise.
+ * gui/gnome-cal.c: Likewise.
+ * gui/print.c: Likewise.
+
+2002-11-08 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/calendar-commands.c: Use g_object_ref()/g_object_unref()
+ instead of gtk_object_ref/gtk_object_unref().
+ * gui/calendar-config.c: Likewise.
+ * gui/calendar-model.c: Likewise.
+ * gui/comp-editor-factory.c: Likewise.
+ * gui/comp-util.c: Likewise.
+ * gui/e-calendar-table.c: Likewise.
+ * gui/e-day-view.c: Likewise.
+ * gui/e-itip-control.c: Likewise.
+ * gui/e-meeting-model.c: Likewise.
+ * gui/e-meeting-time-sel.c: Likewise.
+ * gui/e-tasks.c: Likewise.
+ * gui/e-timezone-entry.c: Likewise.
+ * gui/e-week-view.c: Likewise.
+ * gui/gnome-cal.c: Likewise.
+ * gui/goto.c: Likewise.
+ * gui/itip-utils.c: Likewise.
+ * gui/print.c: Likewise.
+ * gui/tasks-control.c: Likewise.
+ * gui/tasks-migrate.c: Likewise.
+
+ * gui/cal-search-bar.c: Use g_object_new() instead of
+ gtk_type_new().
+ * gui/calendar-model.c: Likewise.
+ * gui/calendar-view-factory.c: Likewise.
+ * gui/calendar-view.c: Likewise.
+ * gui/calendar-view.c: Likewise.
+ * gui/comp-editor-factory.c: Likewise.
+ * gui/e-calendar-table.c: Likewise.
+ * gui/e-cell-date-edit-text.c: Likewise.
+ * gui/e-comp-editor-registry.c: Likewise.
+ * gui/e-day-view.c: Likewise.
+ * gui/e-itip-control.c: Likewise.
+ * gui/e-meeting-attendee.c: Likewise.
+ * gui/e-meeting-attendee.c: Likewise.
+ * gui/e-meeting-model.c: Likewise.
+ * gui/e-meeting-time-sel.c: Likewise.
+ * gui/e-tasks.c: Likewise.
+ * gui/e-timezone-entry.c: Likewise.
+ * gui/e-week-view.c: Likewise.
+ * gui/gnome-cal.c: Likewise.
+ * gui/weekday-picker.c: Likewise.
+
+ * gui/e-itip-control.c (get_servers): g_object_unref the
+ shell_client instead of using bonobo_object_unref().
+
+ * gui/component-factory.c (owner_set_cb): Use
+ evolution_shell_client_corba_objref() instead of
+ bonobo_object_corba_objref().
+
+2002-11-08 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/calendar-commands.c: Use g_signal_connect() instead of
+ gtk_signal_connect().
+ * calendar-commands.c: Likewise.
+ * calendar-config.c: Likewise.
+ * calendar-model.c: Likewise.
+ * comp-editor-factory.c: Likewise.
+ * component-factory.c: Likewise.
+ * control-factory.c: Likewise.
+ * e-calendar-table.c: Likewise.
+ * e-comp-editor-registry.c: Likewise.
+ * e-day-view-time-item.c: Likewise.
+ * e-day-view.c: Likewise.
+ * e-itip-control.c: Likewise.
+ * e-meeting-model.c: Likewise.
+ * e-meeting-time-sel.c: Likewise.
+ * e-tasks.c: Likewise.
+ * e-timezone-entry.c: Likewise.
+ * e-week-view.c: Likewise.
+ * gnome-cal.c: Likewise.
+ * goto.c: Likewise.
+ * tasks-control.c: Likewise.
+ * tasks-migrate.c: Likewise.
+ * weekday-picker.c: Likewise.
+
+2002-11-08 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/calendar-offline-handler.c
+ (calendar_offline_handler_class_init): GObjectified.
+ (impl_finalize): Finalize impl.
+ (impl_dispose): Dispose impl.
+ (calendar_offline_handler_new): Use g_object_new().
+ (backend_cal_opened): use g_signal_connect() instead of
+ gtk_signal_connect().
+ (backend_go_offline): Likewise.
+ (backend_cal_opened): g_object_unref() instead of
+ gtk_object_unref().
+ (backend_go_offline): Likewise.
+
+2002-11-08 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/evolution-calendar-importer.h: use GLib macros.
+
+ * importers/main.c (init_importer): use bonobo_generic_factory_new,
+ not bonobo_generic_factory_new_multi.
+ (main): don't use libgnome functions.
+
+2002-11-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/client-test.c: don't use GTK, we don't need it.
+
+2002-11-07 JP Rosevear <jpr@ximian.com>
+
+ * Initial port of gui/ subdir to GNOME 2
+
+2002-11-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/icalendar-importer.c: removed non-existant headers.
+
+ * importers/Makefile.am: changes for BonoboActivation.
+
+ * gui/GNOME_Evolution_Calendar.server.in: install to $libdir, not
+ $datadir.
+
+2002-11-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/query-listener.[ch]: converted to BonoboObject.
+
+ * gui/dialogs/comp-editor-util.c (parse_contact_string): use glib's
+ g_utf8_strchr.
+
+ * gui/dialogs/delete-comp.c: removed non-existant headers. Use
+ GtkStock instead of GnomeStock.
+
+ * gui/dialogs/e-delegate-dialog.c: converted to BonoboActivation.
+ (e_delegate_dialog_construct): adapted to changes in glade_xml_new.
+
+2002-11-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal.[ch]: converted to BonoboObject.
+ (impl_Cal_get_query): bonobo_object_unref the query returned by
+ cal_backend_get_query if we can't duplicate it.
+
+ * pcs/query.[ch]:
+ * pcs/cal-factory.[ch]: converted to BonoboObject.
+
+ * pcs/query-backend.[ch]:
+ * pcs/cal-backend-file.[ch]:
+ * pcs/cal-backend.[ch]: GObjectify.
+
+2002-11-06 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/cal-prefs-dialog.c: #include gtkoptionmenu.h.
+ (cal_prefs_dialog_new): adapted to changes in glade_xml_new.
+
+ * gui/dialogs/event-page.h:
+ * gui/dialogs/meeting-page.h:
+ * gui/dialogs/recurrence-page.h:
+ * gui/dialogs/schedule-page.h:
+ * gui/dialogs/task-details-page.h:
+ * gui/dialogs/task-page.h:
+ * gui/cal-prefs-dialog.h: use correctly the macros.
+
+ * gui/dialogs/cancel-comp.c:
+ * gui/dialogs/changed-comp.c:
+ * gui/dialogs/comp-editor-page.c:
+ * gui/gnome-cal.h: removed non-existent headers.
+
+ * gui/dialogs/comp-editor.c: remove non-existent headers.
+ (close_dialog): gtk_widget_destroy the widget.
+ (setup_widgets, comp_editor_merge_ui): use BonoboWindow correctly.
+ (comp_editor_set_cal_client, comp_editor_send_comp,
+ comp_editor_edit_comp): use G_OBJECT_GET_CLASS for
+ getting the class of an object.
+
+ * gui/dialogs/comp-editor-page.c (comp_editor_page_class_init):
+ use g_signal_* functions.
+
+ * gui/dialogs/comp-editor-util.c: converted to BonoboActivation.
+
+ * gui/dialogs/comp-editor.h: #include bonobo-window.h, not
+ bonobo-win.h.
+
+2002-11-06 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in:
+ * gui/GNOME_Evolution_Calendar.server.in: renmaed .oaf.in files.
+
+ * gui/alarm-notify/Makefile.am:
+ * gui/Makefile.am: fixed rules for .server files.
+
+2002-11-06 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/comp-editor-util.[ch]
+ (comp_editor_connect_contacts_changed): don't return a
+ Bonobo_EventSource_ListenerId, since it does not exist anymore,
+ and was not even being used.
+
+ * gui/e-timezone-entry.h: use GLib macros.
+
+ * gui/dialogs/*.glade:
+ * gui/alarm-notify/*.glade:
+ * gui/*.glade: converted to Glade2 format.
+
+2002-11-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/alarm-options.c (alarm_options_dialog_run): adapted to
+ to new glade_xml_new signature.
+
+ * gui/calendar-model.h:
+ * gui/dialogs/comp-editor-page.h:
+ * gui/dialogs/alarm-page.[ch]: removed non-existant header files.
+
+ * gui/dialogs/comp-editor-util.h: added missing headers.
+
+2002-11-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend.c: use libxml2 headers.
+
+ * gui/alarm-notify/Makefile.am:
+ * gui/dialogs/Makefile.am:
+ * gui/Makefile.am: s/XML_I18N/INTLTOOL. Fixed execution of
+ $(ORBIT_IDL).
+
+ * gui/alarm-notify/alarm-notify.[ch]: converted to BonoboObject.
+
+ * gui/alarm-notify/alarm-notify-dialog.c: compilation fixes.
+ (alarm_notify_dialog): adapted to new glade_xml_new signature.
+
+ * gui/alarm-notify/alarm-queue.c: ported to BonoboActivation and
+ GtkStock and GtkDialog.
+
+ * gui/alarm-notify/notify-main.c: ported to BonoboActivation and
+ use GObject functions instead of GtkObject ones.
+
+ * gui/alarm-notify/save.h: removed BonoboConfig related functions.
+
+ * gui/alarm-notify/config-data.c: use GObject functions instead of
+ GtkObject ones.
+
+ * TODO.port: added file for keeping track of disabled things while we
+ port.
+
+2002-11-04 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/cal-util-marshal.list: added new marshallers.
+
+ * cal-client/cal-client.c (get_objects_atomically): fixed calls to
+ g_signal_handler_disconnect_by_func.
+ (cal_client_class_init): fixed typos.
+
+ * cal-client/cal-client-multi.[ch]:
+ * cal-client/cal-client-types.c:
+ * cal-client/cal-query.[ch]: ported to GObject.
+
+ * cal-client/cal-listener.[ch]: converted to BonoboObject.
+
+ * cal-client/Makefile.am:
+ * pcs/Makefile.am: fixed flags for orbit-idl
+
+2002-11-04 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/Makefile.am:
+ * cal-util/cal-util-marshal.list: added marshallers.
+
+ * cal-client/cal-client.[ch]: ported to GObject.
+
+2002-11-04 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/cal-component.[ch]: ported to GObject.
+
+ * cal-util/cal-util.c (cal_util_generate_alarms_for_comp): use
+ g_object_* instead of gtk_object_*.
+
+2002-11-03 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-client.c (get_default_uri): use EConfigListener
+ instead of BonoboConfig.
+
+ * cal-client/cal-client.c:
+ * cal-client/cal-listener.[ch]:
+ * cal-client/query-listener.c: warning free.
+
+2002-11-03 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-util.[ch]: don't use BonoboConfig, but
+ EConfigListener.
+
+ * gui/calendar-config.c: use /apps/Evolution prefix for all
+ configuration keys.
+
+2002-10-31 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/cal-component.[ch]:
+ * cal-util/cal-recur.h:
+ * cal-util/cal-util.[ch]:
+ * cal-client/cal-client.h:
+ * cal-client/cal-client-multi.h:
+ * cal-client/cal-client-types.[ch]:
+ * cal-client/cal-listener.h
+ * cal-client/cal-query.[ch]:
+ * cal-client/query-listener.h:
+ * pcs/cal.h:
+ * pcs/cal-backend.[ch]:
+ * pcs/cal-backend-file.h:
+ * pcs/cal-backend-util.h:
+ * pcs/cal-common.h:
+ * pcs/cal-factory.h:
+ * pcs/query.[ch]:
+ * pcs/query-backend.[ch]: started GNOME 2 porting.
+ cal-util, cal-client and pcs compiled ok.
+
+ * cal-client/cal-client.c (cal_client_construct):
+ * pcs/cal-factory.c: use b-a instead of OAF and bonobo-config
+ instead of bonobo-conf.
+
+2002-10-29 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/gnome-cal.c (backend_died_cb): cleaned up the status bar
+ messages for all widgets.
+
+2002-10-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (init): initialize new values
+ (clean_up): free new values
+ (find_my_address): if we have a delegator address, use it instead
+ (write_html): display delegator info to user
+ (show_current_event): if we have a calendar uri, use that and
+ describe the event differently
+ (show_current_todo): ditto
+ (show_current): search for delegator X properties
+ (e_itip_control_set_delegator_address): accessor
+ (e_itip_control_get_delegator_address): ditto
+ (e_itip_control_set_delegator_name): ditto
+ (e_itip_control_get_delegator_name): ditto
+ (e_itip_control_set_calendar_uri): ditto
+ (e_itip_control_get_calendar_uri): ditto
+
+ * gui/e-itip-control.h: add protos
+
+ * gui/itip-utils.c (comp_from): use the first attendee as the from
+ address for things other than request, cancel and add (use
+ organizer) and publish (use default address)
+
+2002-10-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #32613
+
+ * gui/component-factory.c (sc_user_create_new_item_cb): use the
+ default calendar/tasks folder to activate the component editor.
+ (get_data_uri): deal correctly with the URIs being used.
+
+2002-10-23 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (show_current): fix warning
+
+2002-10-22 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #32371
+
+ * pcs/query.c (start_cached_query_cb): CORBA_exception_init the
+ CORBA_Environment before using it.
+
+2002-10-22 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-factory.c (lookup_backend): use NULL for pointer instead of
+ FALSE.
+
+2002-10-22 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (get_address): use e_config_listener_* to get
+ values
+ (itip_addresses_get): ditto
+ (itip_addresses_get_default): ditto
+
+ * gui/calendar-model.c (calendar_model_value_to_string): don't
+ send back a null string (affects if it is the group header)
+ (calendar_model_init): pre load config database info so we don't
+ do corba calls during draws
+
+ Fixes #32276
+
+2002-10-17 JP Rosevear <jpr@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_construct): fix c/p type
+
+2002-10-17 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (fill_ending_date): if the value
+ is a datetime, convert it to a date
+
+ * gui/itip-utils.c (comp_compliant): convert an UNTIL date value
+ to a datetime value
+
+ * cal-util/cal-component.c (cal_component_has_simple_recurrence):
+ check to see if the component recurrences meet our definition of
+ "simple"
+
+ * cal-util/cal-component.h: new proto
+
+2002-10-17 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (fill_component): changed to have a
+ gboolean return type, which is what it's supposed to do.
+ (recurrence_page_fill_component): return the result from
+ fill_component.
+
+ * gui/dialogs/comp-editor-page.h: fixed typo in function prototype.
+
+2002-10-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/gnome-cal.c
+ (gnome_calendar_on_date_navigator_selection_changed): try to
+ preserve the work week view setting if it makes sense
+ (set_view): don't update the info again based on our view change
+ call
+
+ Fixes #16036
+
+2002-10-08 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #11434
+
+ * gui/dialogs/comp-editor-page.[ch]
+ (comp_editor_page_display_validation_error): new function.
+
+ * gui/dialogs/event-page.c (event_page_fill_component):
+ * gui/dialogs/recurrence-page.c (fill_component):
+ * gui/dialogs/task-details-page.c (task_details_page_fill_component):
+ * gui/dialogs/task-page.c (task_page_fill_component): added
+ checks for all date values, and return FALSE if we find
+ some invalid date/times.
+
+ * gui/dialogs/comp-editor.c (save_comp): activate the page that
+ returns error in fill_component.
+
+2002-10-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.c
+ (cal_prefs_dialog_create_time_edit): set the 24 hour format
+ initially
+
+ Fixes #31812
+
+2002-10-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-week-view.c: remove pilot settings from contextual menu
+
+ * gui/e-day-view.c: ditto
+
+2002-10-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #31774
+
+ * gui/dialogs/alarm-options.c (dalarm_widgets_to_alarm,
+ palarm_widgets_to_alarm): use correct pointer in loop.
+
+2002-10-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.c (setup_changes): cast the correct
+ item
+
+2002-10-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes crash in #19159
+
+ * gui/alarm-notify/alarm-queue.c (lookup_queued_alarm): don't crash if
+ we don't find the queued alarm in the internal list.
+ (alarm_trigger_cb, create_snooze, display_notification,
+ audio_notification, procedure_notification, remove_queued_alarm):
+ check return value from lookup_queued_alarm.
+
+2002-10-04 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #15892
+
+ * idl/evolution-calendar.idl: added notifyErrorOccurred method to
+ the Listener interface, so that backends can notify clients of errors
+ that can't be reported otherwise.
+
+ * pcs/cal.[ch] (cal_notify_error): new function.
+
+ * pcs/cal-backend-file.c (save): made to save to temporary file and
+ then moved to the correct file, so that we don't lose any data if
+ there's a problem while saving.
+ (notify_error): new function for notifying error messages to clients.
+
+ * cal-client/cal-listener.[ch]: added new callback function for getting
+ error messages from backends.
+ (impl_notifyErrorOccurred): new method implementation.
+ (cal_listener_class_init): initialize new epv member.
+ (cal_listener_init, cal_listener_destroy, cal_listener_construct,
+ cal_listener_new): initialize new function pointer.
+
+ * cal-client/cal-client.[ch]: adapted to changes in CalListener class.
+ (cal_client_class_init): added "backend_error" signal to CalClient class.
+ (backend_error_cb): callback for "error_occurred" signal on the CalListener,
+ which just emits the "backend_error" signal of CalClient.
+
+ * gui/gnome-cal.c (gnome_calendar_construct): connect to "backend_error"
+ signal on the CalClient's we create.
+ (backend_error_cb): display error message on error from backend.
+
+ * gui/e-tasks.c: likewise.
+
+2002-10-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/notify-main.c (alarm_notify_factory_fn): removed
+ unneeded g_assert which was preventing the alarm daemon to
+ start correctly in some cases.
+
+2002-10-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #30057
+
+ * cal-client/cal-client.c (cal_client_is_read_only): added check
+ of the status of the client before trying to make CORBA calls.
+
+ * gui/calendar-commands.c (sensitize_calendar_commands,
+ sensitize_taskpad_commands):
+ * gui/tasks-control.c (sensitize_commands):
+ * gui/dialogs/event-editor.c (set_menu_sens):
+ * gui/dialogs/task-editor.c (set_menu_sens):
+ * gui/e-calendar-table.c (e_calendar_table_on_right_click):
+ * gui/e-day-view.c (e_day_view_on_event_right_click):
+ * gui/e-week-view.c (e_week_view_show_popup_menu): take into account
+ the read-onlyness of clients to disable/enable menu items.
+
+2002-10-01 Rodrigo Moya <rodrigo@ximian.com>
+
+ * idl/evolution-calendar.idl: added isReadOnly method to Cal
+ interface.
+
+ * pcs/cal.c (impl_Cal_is_read_only): new method implementation.
+
+ * pcs/cal-backend.[ch]: added is_read_only method to CalBackend class.
+ (cal_backend_is_read_only): new function.
+
+ * pcs/cal-backend-file.c (cal_backend_file_is_read_only): new method.
+ (cal_backend_file_class_init): set new signal's virtual method.
+
+ * cal-client/cal-client.[ch] (cal_client_is_read_only): new function.
+
+2002-10-01 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #15710
+
+ * gui/dialogs/alarm-page.c (alarm_page_init): added a
+ X-EVOLUTION-NEEDS-DESCRIPTION property, so that we later set it
+ correctly if it hasn't been set in the meanwhile (editing options for
+ the alarm).
+
+ * gui/dialogs/alarm-options.c (dalarm_widgets_to_alarm,
+ palarm_widgets_to_alarm): removed X-EVOLUTION-NEEDS-DESCRIPTION
+ property from alarms every time we set the description of the alarm.
+
+2002-10-01 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #30290
+
+ * importers/icalendar-importer.c (process_item_fn): return a status of
+ BUSY rather than NOT_READY, to avoid the display of the error message.
+
+2002-09-30 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c
+ (calconduit_load_configuration): load multi_day_split
+ (calconduit_save_configuration): save it
+ (calconduit_dupe_configuration): copy it
+ (e_cal_gui_new): create gui for it
+ (e_cal_gui_fill_widgets): fill gui with value
+ (e_cal_gui_fill_config): get value from gui and store in config
+ (e_calendar_context_destroy): destroy new_cfg and gui properly
+ (process_multi_day): skip item if its multi-day and we don't want
+ to split
+ (fill_widgets): fill local config widgets
+ (create_settings_window): create local config widgets
+ (save_settings): fill config from local widgets
+
+ Fixes #23763
+
+2002-09-30 Aaron Weber <aaron@ximian.com>
+
+ * gui/e-itip-control.c (update_item): adjust string on line 1609
+ and 1517.
+
+ * gui/dialogs/alarm-options.glade: rephrase string on line 270
+
+2002-09-27 Dan Winship <danw@ximian.com>
+
+ * gui/calendar-commands.c (pixmaps): Remove "/Toolbar/New" and
+ "/Toolbar/NewTask" since they're not there any more. Kills some
+ bonobo-ui spewage.
+
+2002-09-26 Dan Winship <danw@ximian.com>
+
+ Non-Connector part of #29334 (meeting created by a delegate in the
+ delegator's calendar should have the delegator as Organizer).
+
+ * idl/evolution-calendar.idl: add Cal_getEmailAddress, to return
+ the email address associated with a backend (if any).
+
+ * pcs/cal-backend.c (cal_backend_get_email_address): New.
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_email_address):
+ Return NULL (for now).
+
+ * pcs/cal.c (impl_Cal_get_email_address): Implement this by
+ calling cal_backend_get_email_address and returning a NotFound
+ exception if it returns NULL.
+
+ * cal-client/cal-client.c (cal_client_get_email_address): New.
+ (cal_client_init, cal_client_destroy, etc): initialize/free
+ email_address
+
+ * gui/dialogs/event-editor.c (event_editor_construct): Split this
+ out of event_editor_init. Take and set a CalClient.
+ (event_editor_new): Take a CalClient.
+
+ * gui/dialogs/task-editor.c (task_editor_construct,
+ task_editor_new): Likewise.
+
+ * gui/dialogs/meeting-page.c (meeting_page_new,
+ meeting_page_construct): Take a CalClient and call
+ cal_client_get_email_address to find the default organizer
+ address. (Also fix a bug if the default account's name has
+ non-ASCII characters.)
+
+ * gui/itip-utils.c (comp_from): New. When sending a REQUEST or
+ CANCEL, use the Organizer as the From address.
+ (itip_send_comp): Call comp_from and pass the result to
+ Composer_setHeaders.
+
+ * gui/comp-editor-factory.c (edit_existing, edit_new): Pass the
+ CalClient to event_editor_new/task_editor_new
+
+ * gui/e-calendar-table.c (open_task): Likewise.
+
+ * gui/e-tasks.c (e_tasks_new_task): Likewise.
+
+ * gui/gnome-cal.c (gnome_calendar_edit_object,
+ gnome_calendar_new_task): Likewise.
+
+2002-09-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (set_value_at): only change the attendee
+ value if it isn't empty
+
+2002-09-26 Rodrigo Moya <rodrigo@ximian.com>
+
+ Should fix once for all #24210
+
+ * idl/evolution-calendar.idl: changed the notifyObjUpdated method
+ of the QueryListener interface accept a list of UIDs.
+
+ * cal-client/query-listener.[ch] (impl_notifyObjUpdated): likewise for
+ the QueryListener class.
+
+ * cal-client/cal-query.c (obj_updated_cb): changed to adapt the
+ multiple-id's received in the QueryListener class' signal to the
+ one-by-one update notification of the public CalQuery class, thus
+ keeping the changes needed for this minimal.
+
+ * pcs/query.c (add_component, start_cached_query_cb): changed to
+ send sequences of UIDs.
+
+2002-09-25 Dan Winship <danw@ximian.com>
+
+ * gui/component-factory.c (folder_types): Add "calendar/public"
+ and "tasks/public".
+ (type_is_calendar, type_is_tasks): New utility functions
+ (create_view, create_folder, remove_folder, xfer_folder,
+ sc_user_create_new_item_cb): Use type_is_calendar/type_is_tasks
+
+ * importers/icalendar-importer.c (get_uri_from_folder_path): allow
+ importing into public calendar/task folders too.
+
+ * gui/e-itip-control.c: Note that it's intentional that we use
+ "calendar" and "tasks" here instead of "calendar/*" and "tasks/*".
+ (31032)
+
+2002-09-25 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): if the item being sent is not
+ a meeting, send it as a mixed item with a description and the
+ calendar text in an attachment
+
+ Fixes #30638
+
+2002-09-25 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #27961
+
+ * pcs/cal-backend-file.c (cal_backend_file_update_object): set the
+ LAST-MODIFIED time of the components when we save them.
+
+2002-09-24 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_timezone_object,
+ cal_backend_file_get_timezone): return a builtin timezone if we
+ don't find the timezone in our component.
+
+2002-09-24 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (comp_from_remote_record):
+ make sure the start/end for no time palm events are DATE values,
+ tidy code slightly
+
+ Fixes #21631
+
+2002-09-24 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (process_multi_day):
+ convert to date values if the original start and end were both
+ dates
+
+2002-09-24 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-query.c (cal_query_destroy): unref the query
+ since now the query object on the server keeps a copy of it and
+ must know when the listener is no longer valid.
+
+ * pcs/query.c (listener_died_cb): unref the QueryListener object.
+ (query_construct): create an EComponentListener for the non-cached
+ queries' listeners also.
+
+2002-09-23 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/Makefile.am: add libeutil to the link
+
+ * conduits/calendar/Makefile.am: ditto
+
+2002-09-23 Dan Winship <danw@ximian.com>
+
+ * pcs/cal.c (imple_Cal_update_objects, impl_Cal_remove_object):
+ fix non-ANSI switch statements.
+
+ * gui/e-meeting-model.c (is_cell_editable, value_is_empty,
+ process_free_busy_comp): Likewise
+
+ * gui/itip-utils.c (comp_compliant): Likewise.
+
+2002-09-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/main.c (launch_alarm_daemon): install an idle callback that will
+ start the alarm daemon.
+ (launch_alarm_daemon_cb): actually activate the alarm daemon here.
+
+ * pcs/query.c (start_cached_query_cb): remove timeout function always
+ and re-add it if the query is in progress.
+
+2002-09-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query.c (start_cached_query_cb): move success notification code
+ to its own code block, since it was being run for parse errors also.
+ Also, remove all traces of the query from the cache if there is an
+ error. Also, use GINT_TO_POINTER instead of GPOINTER_TO_INT.
+
+2002-09-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #28310
+
+ * gui/alarm-notify/save.c (save_notification_time): only save the
+ new notification time if it is bigger than the already saved one.
+ This should avoid some reminders showing up twice.
+
+2002-09-20 JP Rosevear <jpr@ximian.com>
+
+ * gui/comp-util.c (cal_comp_is_on_server): check to see if the
+ component is already on the server or not
+
+ * gui/comp-util.h: change proto
+
+ * gui/e-week-view.c (e_week_view_on_editing_stopped): only delete
+ the event if the summary is empty and the component is not already
+ on the server
+
+ * gui/e-day-view.c (e_day_view_on_editing_stopped): same
+
+ Fixes #14111
+
+2002-09-20 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): set the
+ deleted attendees array to size 0 after we clean it up
+
+ Fixes #30479
+
+2002-09-20 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query.c (parse_sexp): remove the query from the cache if it
+ failed.
+ (start_cached_query_cb): notify of errors in the query.
+
+2002-09-19 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query.c: added a list of EComponentListener's to control the
+ lifetime of the listeners.
+ (query_init): initialize new member.
+ (query_destroy): free new member.
+ (start_cached_query_cb): create a EComponentListener for the new
+ listener being added.
+
+2002-09-19 Rodrigo Moya <rodrigo@ximian.com>
+
+ More fixes for #24210
+
+ * pcs/query.c: added list of cached queries and changed the Query
+ class to work with several listeners, not only one.
+ (query_init): initialize new members.
+ (query_destroy): free new members.
+ (add_component, remove_component, parse_sexp, match_component,
+ process_components_cb): notify all listeners.
+ (notify_uid_cb, start_cached_query_cb): implemented integration of
+ cached queries.
+ (query_new): search the query in the cache before creating a new
+ one. And if we create a new one, store it in the cache.
+
+2002-09-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (simple_recur_to_comp): bump the
+ month_num by 1 because it indexs at 0
+ (recurrence_page_fill_widgets): lower the month_num by one as above
+
+ Fixes #30381
+
+2002-09-17 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #26362
+
+ * gui/e-itip-control.c (show current): add a default reminder if
+ default reminders are set in the configuration.
+
+2002-09-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_top_canvas_button_press): keep
+ the selection if we right click in it (but not on an appointment)
+ (e_day_view_on_main_canvas_button_press): ditto
+
+ * gui/e-week-view.c (e_week_view_on_button_press): same
+
+2002-09-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-week-view.c (e_week_view_new_appointment): create a new
+ appointment based on the selection
+ (e_week_view_on_button_press): use above
+ (e_week_view_on_new_appointment): ditto
+ (e_week_view_on_new_meeting): ditto
+
+ Fixes #18162
+
+2002-09-10 JP Rosevear <jpr@ximian.com>
+
+ * gui/comp-editor-factory.c (get_default_event): duh, don't
+ blindly increment the hour without adjusting for the day
+ boundaries
+
+ Fixes #29983
+
+2002-09-10 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #24032
+
+ * gui/e-itip-control.c (init): don't get servers here, since we don't
+ know the type of the component(s) to be loaded.
+ (show_current): get servers here.
+ (destroy): only free stuff that needs to be freed.
+
+2002-09-09 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/gnome-cal.c (client_cal_opened_cb): display status messages for
+ all operations we make, so that when using remote slow backends, so
+ that users have always indication of what's happening.
+
+2002-09-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_edit_object): kill warning
+
+ * gui/e-week-view.h: new proto
+
+ * gui/e-week-view.c (e_week_view_set_selected_time_range_visible):
+ select a range of time in the currently visible area, if out side
+ the visible area, select as much as possible
+ (e_week_view_on_text_item_event): call above
+
+ * gui/e-week-view-event-item.c
+ (e_week_view_event_item_button_press): call above
+
+ * gui/e-day-view.c
+ (e_day_view_set_selected_time_range_in_top_visible): select a
+ range of time in the currently visible area, if out side the
+ visible area, select as much as possible
+ (e_day_view_set_selected_time_range_visible): the same for the
+ main canvas
+ (e_day_view_on_long_event_button_press): call above
+ (e_day_view_on_event_button_press): ditto
+
+2002-09-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): don't try to send via the
+ server if we are publishing; don't bail out on a 0 length to list
+ if we are publishing
+
+2002-09-05 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: Changed the description of
+ the calendar/tasks page of the settings dialog, to be hopefully
+ more descriptive and less awkwardly worded.
+
+
+2002-09-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_drag_data_get): added support for
+ text/x-calendar targets, in which case a VCALENDAR component, with
+ full timezone information is returned.
+
+2002-09-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_destroy): don't listen to client
+ signals after we get destroyed
+
+ Fixes #17036
+
+2002-09-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/event-editor.c (event_editor_send_comp): bail out if
+ we couldn't send the cancel
+
+ * gui/dialogs/task-editor.c (task_editor_send_comp): ditto
+
+ * gui/dialogs/comp-editor.c (save_comp_with_send): indicate send
+ status
+ (real_send_comp): return success/fail, only resave the component a
+ if we successfully sent
+ (comp_editor_send_comp): return success/fail
+
+ * gui/itip-utils.h: update proto
+
+ * gui/itip-utils.c (itip_send_comp): return true if we sent the
+ message
+
+2002-09-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (comp_server_send): provide error message
+ param, give a dialog with the message if we get a busy result;
+ return TRUE if we succeed
+ (itip_send_comp): bail out if we had a problem sending via the
+ server
+
+ * cal-client/cal-client.c (cal_client_send_object): pass back
+ error message if we get the busy exception in the new param
+
+ * cal-client/cal-client.h: update proto
+
+ * pcs/cal.c (impl_Cal_send_object): dump backend error message
+ into Busy exception
+
+ * pcs/cal-backend.h: update proto
+
+ * pcs/cal-backend.c (cal_backend_send_object): take/pass new error
+ message parameter
+
+ * pcs/cal-backend-file.c (cal_backend_file_send_object): take new param
+
+ * idl/evolution-calendar.idl: add errorMsg to Busy exception
+
+2002-09-04 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (create_object): Pass NULL as
+ @unpopulate_folder_context_menu_fn to
+ evolution_shell_component_new().
+
+2002-09-03 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (comp_compliant): don't make the reply
+ component minimal
+
+ Fixes #28956
+
+2002-08-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): make the sure to list is 0
+ length before sending via imip
+
+ Fixes #29624
+
+2002-08-30 Mike Kestner <mkestner@ximian.com>
+
+ * gui/dialogs/event-page.c:
+ * gui/dialogs/task-page.c: use bonobo_object_release_unref to release
+ the remote SelectNames component, not CORBA_Object_release.
+
+2002-08-29 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_top_canvas_button_press): select
+ the top canvas if the user right-clicks on it
+ (e_day_view_on_main_canvas_button_press): select the row the user
+ is right-clicking on
+ (e_day_view_on_long_event_button_press): select the top canvas if
+ the user right-clicks on an event there
+ (e_day_view_on_event_button_press): select the relevant rows if
+ the user right-clicks on an event
+ (e_day_view_set_selected_time_range_in_top): select a number of
+ days in the top canvas
+
+ * gui/e-week-view.c (e_week_view_on_button_press): select the day
+ the user is right-clicking on
+ (e_week_view_on_text_item_event): select the corresponding time
+ range when showing the contextual menu for an event
+
+ * gui/e-week-view-event-item.c
+ (e_week_view_event_item_button_press): select the corresponding
+ time range when showing the contextual menu for an event
+
+ Fixes #14660
+
+2002-08-28 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.c:
+ * gui/e-week-view.c: added missing header file.
+
+2002-08-28 Dan Winship <danw@ximian.com>
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: Add an
+ evolution:shell_component_launch_order and rename
+ evolution:shell_component_icon.
+
+2002-08-27 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/calendar-config.c: use EConfigListener instead of direct access
+ to the bonobo-conf database.
+ (calendar_config_init): create the EConfigListener here, and install
+ an atexit function to unref the config listener object.
+ (config_read, property_change_cb, calendar_config_write,
+ calendar_config_write_on_exit): removed unneeded functions.
+ (calendar_config_get_*, calendar_config_set_*): changed to make use of
+ EConfigListener directly.
+
+ * gui/main.c (main): removed call to calendar_config_write_on_exit.
+
+ * gui/dialogs/cal-prefs-dialog.c (update_config): removed call to
+ calendar_config_write.
+
+2002-08-26 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #12326
+
+ * gui/alarm-notify/config-data.c (ensure_inited): create a
+ EConfigListener for configuration access.
+ (do_cleanup): g_atexit installed function, to clean up configuration
+ database resources.
+ (config_data_get_timezone): retrieve the configuration for the
+ EConfigListener object.
+ (config_data_get_listener): new function.
+
+ * gui/alarm-notify/save.c (get_config_db, discard_config_db): removed.
+ Use EConfigListener instead.
+ (save_notification_time, get_saved_notification_time,
+ save_calendars_to_load, get_calendars_to_load, save_blessed_program,
+ is_blessed_program): use EConfigListener.
+
+ * gui/alarm-notify/notify-main.c (init_alarm_notify_service): removed.
+ (alarm_notify_factory_fn): create here the alarm_notify_service if it
+ hasn't been created yet.
+ (load_calendars): likewise.
+ (main): don't call init_alarm_notify_service.
+
+2002-08-22 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (process_section): if its a
+ non-participant, add it as a resource to match dialog label
+ (set_value_at): if the type is set to be a resource, switch the
+ role to non-participant by default
+
+2002-08-22 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-model.c (set_completed): if the value given is a
+ date, convert to a time in the current zone
+
+2002-08-20 JP Rosevear <jpr@ximian.com>
+
+ * gui/tasks-control.c (tasks_control_activate): don't set the
+ tasks ui component until the container is set, remove unused
+ pixmaps
+
+2002-08-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (destroy): disconnect destroy signal
+ callbacks on tables
+
+ Fixes #28231
+
+2002-08-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (comp_toplevel_with_zones): clone the ical
+ component before adding it
+
+ Fixes #29061
+
+2002-08-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/comp-editor-factory.c (get_default_event): make sure to get
+ the date in the current zone, not at UTC
+
+ Fixes #17692
+
+2002-08-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (set_date_label): stop adding redundant
+ information for start/end/due/complete times
+ (write_html): convert newlines properly and escape characters for
+ summary, location, description; put text information on separate
+ line from bolded title to make it look nicer when there are line
+ breaks
+
+ Fixes #26964
+
+2002-08-16 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-client.[ch]: added internal EComponentListener
+ object, to listen for the activated Cal.
+ (cal_client_class_init): added "backend_died" signal.
+ (cal_client_destroy): clean up component listener.
+ (backend_died_cb): new callback for getting signals from the
+ EComponentListener.
+ (cal_opened_cb): setup component listener.
+
+ * cal-client/Makefile.am: added libetuil to needed LIBS.
+
+ * gui/gnome-cal.c (backend_died_cb): new callback.
+ (gnome_calendar_construct): connect to "backend_died" signal
+ on all CalClient's we create.
+
+2002-08-14 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.c (init_widgets): listen for the
+ time editors to change
+ (cal_prefs_dialog_start_of_day_changed): make sure the start is
+ never after the end
+ (cal_prefs_dialog_end_of_day_changed): make sure the end is never
+ after the start
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_set_working_hours): make sure to show a
+ minimum of 1 hour for work day
+
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw):
+ calculate the work/not working color boxes to the nearest pixel,
+ rather the the nearest time division
+
+ Fixes #10286, #26285
+
+2002-08-13 Dan Winship <danw@ximian.com>
+
+ * gui/e-itip-control.c: Remove a bunch of old #if 0 code.
+ (update_item): Set X-MICROSOFT-CDO-REPLYTIME here.
+
+ * gui/itip-utils.c (comp_toplevel_with_zones): Don't set it here.
+
+ * cal-util/cal-component.c (ensure_mandatory_properties): Use
+ icaltime_current_time_with_zone rather than rolling our own.
+ (cal_component_strip_errors): Remove unused variable.
+
+2002-08-13 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_open): set status message on
+ ECalendarTable when opening the tasks.
+ (client_cal_opened_cb): set ECalendarTable status message to NULL
+ when we open the tasks folder. Also, clear up calendar status message
+ in all cases, not only if the folder was opened successfully.
+
+2002-08-13 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_open): set status message to NULL
+ if there is an error opening the calendar.
+ (client_cal_opened_cb): set status message to NULL only when we have
+ successfully opened the main CalClient.
+
+2002-08-09 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor.c (real_send_comp): set the editor to
+ changed so the item actually gets saved
+
+2002-08-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (users_has_attendee): check for an attendee in
+ the list
+ (comp_to_list): only add the user if they aren't on the list
+ (comp_server_send): don't remove the users, pass back the list
+ (itip_send_comp): send to server before doing comp_minimal
+
+ * gui/dialogs/comp-editor.c (real_send_comp): edit and save the
+ updated comp
+
+ * pcs/cal.c (impl_Cal_send_object): copy the correct item to pass
+ back
+
+2002-08-08 Dan Winship <danw@ximian.com>
+
+ * pcs/query-backend.c (query_backend_new): Initialize
+ loaded_backends before using it. (Just kills off a harmless
+ g_warning.)
+
+2002-08-08 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #15710
+
+ * cal-util/cal-component.[ch]
+ (cal_component_alarm_get_icalcomponent): new function for getting
+ the icalcomponent from a CalComponentAlarm.
+
+ * gui/comp-util.c (cal_comp_event_new_with_defaults): added
+ X-EVOLUTION-NEEDS-DESCRIPTION property to the default reminder
+ alarm, so that we can identify it when saving the component.
+
+ * gui/dialogs/alarm-page.c (alarm_page_fill_component): if the
+ alarm has the X-EVOLUTION-NEEDS-DESCRIPTION property, set the
+ description to be the same as of the component.
+
+2002-08-07 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_send_object): just
+ return the object untouched since we don't send anything
+
+ * pcs/cal-backend.c (cal_backend_remove_object): call virtual method
+
+ * pcs/cal-backend.h: add send result codes, new proto
+
+ * pcs/cal.c (impl_Cal_send_object): implement sendObject corba call
+ (cal_class_init): add to epv
+
+ * gui/itip-utils.c (comp_toplevel_with_zones): utility function to
+ create icalcomponent with necessary timezone info
+ (comp_has_attendee): see if attendee is in the attendee list
+ (comp_server_send): use above and remove attendees if the server
+ sends them
+
+ * gui/e-itip-control.c (show_current_todo): remove unused var
+
+ * idl/evolution-calendar.idl: add Busy exception and
+
+ * cal-client/cal-client.c (cal_client_send_object): send object
+ via the server (if the server can)
+
+ * cal-client/cal-client.h: add send results and new proto
+
+2002-08-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query-backend.[ch] (query_backend_get_object_component): new
+ function.
+ (query_backend_get_uids): new function.
+ (query_backend_new): create the static GHashTable if it hasn't been
+ created yet.
+ (query_backend_destroy): destroy the static GHashTable if empty.
+ (foreach_uid_cb): call object_updated_cb, which does everything.
+
+ * pcs/query.c: make use of the new QueryBackend class.
+ (query_init): initialize new private structure member.
+ (query_destroy): clean up new member, without freeing it, since it is
+ managed internally in query-backend.c.
+ (query_construct): create a QueryBackend for the query.
+
+2002-08-04 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes the crash in #19159
+
+ * gui/alarm-notify/alarm-queue.c (create_snooze): check for NULL
+ pointers before using them.
+
+2002-08-02 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-week-view.c (e_week_view_init): don't warn if we can't use
+ the small font, just set use_small_font to FALSE
+
+2002-08-02 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (adjust_item): new util function to add
+ information to an itip message that might not already be there for
+ display purposes (summary, location, etc)
+ (show_current_event): use above
+ (show_current_todo): ditto
+
+2002-08-02 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (init): initialize value to corba nil
+
+2002-08-01 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (create_object): Use
+ meeting-request-16.png instead of meeting-request.png.
+
+ * gui/calendar-commands.c (pixmaps): Remove pixmaps in
+ /menu/File/New/NewFirstItem/.
+
+2002-08-01 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-model.c (is_overdue): use get_due_status
+ (get_color): ditto
+ (get_due_status): utility function to reduce replicated code,
+ handle the case where the due date is just a date
+
+2002-07-31 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query-backend.[ch]: new class for implementing a backend cache
+ for the calendar queries.
+
+ * pcs/Makefile.am: added new files.
+
+2002-07-31 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (create_object): Change the order of the
+ user creatable items a bit so that "New Appointment" and "New
+ Meeting" are at the top when in a calendar folder.
+
+2002-07-31 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (add_creatable_item): New arg
+ @folder_type, pass it to
+ evolution_shell_component_add_user_creatable_item().
+ (create_object): Set the right folder types for the various
+ user-creatable items.
+
+2002-07-31 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-tasks.c (e_tasks_destroy): we no longer need to manually
+ save the state
+ (e_tasks_open): we no longer need to manually load the state
+ (display_view_cb): attach the gal view to the table
+
+ Fixes #27894
+
+2002-07-29 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_find_work_week_start): make sure
+ that the work week view goes to the current work week if the day
+ selected is before the start of the work week
+
+ Fixes #20317
+
+2002-07-28 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/task-details-page.c: fixed mapping of popdown menu
+ to ICAL_STATUS_ values.
+ (task_details_page_fill_widgets): when we can't set the status,
+ default to ICAL_STATUS_NONE, which maps to 'Not started'. Fixed
+ use of 'percent' variable, which was being used after being freed.
+ (percent_complete_changed): default to ICAL_STATUS_NONE (Not Started).
+
+ * gui/dialogs/task-details-page.glade: added 'Needs Action' to
+ popdown menu values.
+
+2002-07-26 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/cal-util.[ch] (cal_util_add_timezones_from_component):
+ new function for adding VTIMEZONE components to a VCALENDAR
+ component.
+
+ * gui/e-calendar-table.c (copy_row_cb): added VTIMEZONE components
+ to resulting VCALENDAR top-level component.
+
+ * gui/e-week-view.c (e_week_view_copy_clipboard): copy to the
+ clipboard a top-level VCALENDAR component, with all the needed
+ VTIMEZONE components.
+ (e_week_view_on_copy): likewise.
+
+ * gui/e-day-view.c (e_day_view_copy_clipboard): likewise.
+ (e_day_view_on_copy): likewise.
+
+2002-07-26 JP Rosevear <jpr@ximian.com>
+
+ * cal-client/cal-client.c (cal_client_construct): remove useless
+ debug statement
+
+ Probably fixes #19333
+
+2002-07-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/comp-editor-factory.c (impl_editExisting): focus the editor
+ if it does exist, create a new one if it doesn't (not vice-versa)
+
+ Fixes #23468
+
+2002-07-25 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_init): set large_font to NULL
+ (e_day_view_style_set): calculate large font, fall back to the
+ style->font if necessary
+
+ Fixes #11773
+
+2002-07-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (write_html): display the location in the
+ itip information
+
+ Fixes #24690
+
+2002-07-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-model.c (set_percent): set status to in progress if
+ the percent is between 0 and 100
+ (set_status): if the value is set to in process, change the
+ percent to 50
+
+ Fixes #1590
+
+2002-07-24 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/timeutil.c (time_day_of_year): add a day for the leap
+ year only if we are currently counting Feb., not if the month
+ passed in is Feb. Fixes #23446.
+
+2002-07-23 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_realize): use proper meeting icon
+
+2002-07-22 Dan Winship <danw@ximian.com>
+
+ * pcs/Makefile.am: Split pcs-backend-file out of libpcs and build
+ it as a separate (noinst) library libpcsfile.a. This gets the db3
+ dependencies out of libpcs, and people trying to create a calendar
+ backend shouldn't be calling functions from the existing backends
+ anyway so there's no reason to install them.
+
+ * cal-util/timeutil.c: Replace a bunch of old gnomecal functions
+ with the functionally identical ones from Connector.
+
+2002-07-18 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/icalendar-importer.c (get_uri_from_folder_path): if
+ there's an exception, continue with the next item.
+
+2002-07-08 Peter Williams <peterw@ximian.com>
+
+ * cal-util/Makefile.am: Install libcal-util-static.la
+ and fix the -all-static flag to make it install statically.
+
+ * pcs/Makefile.am: Install libpcs.a and its headers.
+
+ * pcs/cal-backend-util.h: Same sort of include namespacing fix,
+ but for pcs.
+
+ * pcs/cal.h:
+ * pcs/query.h:
+ * pcs/cal-factory.h:
+ * pcs/cal-backend.h:
+ * pcs/cal-backend-file.h: Same.
+
+2002-07-17 <jpr@ximian.com>
+
+ * gui/calendar-model.c (calendar_model_value_at): use util
+ function to see if the user is the organizer
+
+ * gui/dialogs/cancel-comp.c (cancel_component_dialog): add
+ deleting proto to indicate whether cancelling or deleting is the
+ primary operation
+
+ * gui/dialogs/cancel-comp.h: update proto
+
+ * gui/dialogs/comp-editor.c (delete_cmd): offer to cancel
+
+ * gui/dialogs/task-editor.c (cancel_task_cmd): call
+ cancel_component_dialog with new param
+
+ * gui/dialogs/event-editor.c (cancel_meeting_cmd): ditto
+
+ * gui/e-week-view.c (e_week_view_on_editing_stopped): only update
+ request if user is organizer
+ (e_week_view_show_popup_menu): disable the meeting and meeting
+ organizer mask if appropriate
+ (e_week_view_delete_event_internal): offer to cancel the meeting
+ (e_week_view_on_cut): ditto
+ (selection_received): send request if its a meeting
+
+ * gui/e-day-view.h: add meeting icon/mask
+
+ * gui/e-day-view.c (e_day_view_on_event_right_click): disable the
+ meeting and meeting organizer mask if appropriate
+ (e_day_view_delete_event_internal): offer to cancel meeting
+ (e_day_view_on_cut): ditto
+ (e_day_view_finish_long_event_resize): only update request if user
+ is organizer
+ (e_day_view_reshape_long_event): add meeting icon to count
+ (e_day_view_reshape_day_event): ditto
+ (e_day_view_on_top_canvas_drag_data_received): only update request
+ if user is organizer
+ (e_day_view_on_main_canvas_drag_data_received): ditto
+ (selection_received): offer to send meeting info
+
+ * gui/e-day-view-main-item.c
+ (e_day_view_main_item_draw_day_event): draw meeting icon if
+ appropriate (using dummy icon atm)
+
+2002-07-14 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #8001
+
+ * importers/icalendar-importer.c (connect_to_shell): new function for
+ connecting the importers (both iCal and vCal) to the shell, needed for
+ some information retrieval about the folders we're importing to.
+ (ical_importer_new, vcal_importer_new): call connect_to_shell.
+ (importer_destroy_cb): unref the shell client object.
+ (get_uri_from_folder_path): retrieve the uri from the storage
+ registry.
+ (check_folder_type): removed.
+
+ * importers/Makefile.am: included libeshell to LIBS.
+
+2002-07-12 Peter Williams <peterw@ximian.com>
+
+ * pcs/cal.c: Sigh, fix for the wombat.idl -> Evolution-Wombat.idl
+ rename here too. At least grep indicates that's all that needs to
+ be fixed.
+
+2002-07-08 Peter Williams <peterw@ximian.com>
+
+ * gui/Makefile.am (INCLUDES): Change the -I flags to get
+ it to play nicely with the new Ebook header paradigm.
+
+ * gui/dialogs/Makefile.am: Same.
+
+ * gui/e-meeting-model.c: More of the same.
+
+ * gui/dialogs/e-delegate-dialog.c:
+ * gui/dialogs/e-meeting-model.c:
+ * gui/dialogs/comp-editor-util.c: Fix include lines to get
+ ebook headers.
+
+ * pcs/Makefile.am: Same.
+
+2002-07-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #16034
+
+ * gui/e-day-view.c (e_day_view_reshape_long_event):
+ (e_day_view_reshape_day_event):
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
+ * gui/e-week-view.c (e_week_view_reshape_event_span):
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons):
+ Don't assume all categories have icons when allocating space for
+ the icons.
+
+2002-07-02 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (add_creatable_item): New arg @tooltip.
+ Pass it to evolution_shell_component_add_user_creatable_item(),
+ which now has a @tooltip arg.
+ (create_object): Added tooltips.
+
+2002-07-01 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-config.c (config_read): listen for timezone config
+ change
+ (property_change_cb): set the timezone if it changed elsewhere
+
+ * gui/main.c (init_bonobo): call bonobo_activate because we make
+ bonobo related calls before the bonobo_main call
+
+2002-06-25 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes #25410
+
+ * gui/alarm-notify.c (AlarmNotify_removeCalendar): do proper
+ cleanup on removal of clients.
+ (alarm_notify_add_calendar): ditto.
+
+2002-06-27 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (comp_compliant): plug leak and actually use
+ the minimal comp we create
+
+2002-06-25 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor-page.h: add back proto
+
+ * gui/dialogs/comp-editor-page.c
+ (comp_editor_page_notify_needs_send): add page needs_send signal
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_on_invite_others_button_draw): check to
+ see if the button should be sensitive when drawing
+ (e_meeting_time_selector_construct): listen for the button draw
+ signal
+
+ * cal-util/cal-component.c (cal_component_strip_errors): remove
+ X-LIC-ERROR x properties
+
+ * cal-util/cal-component.h: new proto
+
+ * gui/dialogs/meeting-page.c (change_clicked_cb): set needs_send
+ to true
+ (meeting_page_fill_widgets): set up gui based on if the user or
+ someone else is the organizer
+ (meeting_page_construct): read the addresses here for the combo
+ box
+ (get_widgets): explicitly set the value in list values
+
+ * gui/dialogs/event-editor.c (set_menu_sens): base this on the
+ exist org and user org values of the comp editor
+ (event_editor_edit_comp): set up editable row restrictions on the
+ meeting model if the user is not an organizer, and don't set needs
+ send if we aren't the organizer initially
+ (model_row_changed_cb): set needs_send to true
+ (row_count_changed_cb): ditto
+
+ * gui/dialogs/meeting-page.glade: update gui
+
+ * gui/dialogs/comp-editor.c (save_comp_with_send): if the user is
+ not the organizer, REPLY rather than REQUEST
+ (comp_editor_set_existing_org): accessor
+ (comp_editor_get_existing_org): ditto
+ (comp_editor_set_user_org): ditto
+ (comp_editor_get_user_org): ditto
+ (real_edit_comp): determine if there is an existing organizer and
+ if the organizers is a user
+ (page_changed_cb): warn the user that changes may be discarded
+ (page_summary_changed_cb): ditto
+ (page_dates_changed_cb): ditto
+
+ * gui/dialogs/comp-editor.h: new protos
+
+ * gui/itip-utils.c (itip_organizer_is_user): determine if the
+ organizer of a component is a user
+ (itip_sentby_is_user): same for sentby field of organizer
+ (comp_sentby): use above routines instead
+ (comp_compliant): strip all X-LIC-ERROR fields generated by
+ libical
+
+ * gui/e-meeting-model.c (is_cell_editable): if there is a list of
+ editable rows, allow only the status column of those rows to be
+ edited
+ (init): init edit_rows
+ (e_meeting_model_restricted_add): add an editable row to the model
+ (e_meeting_model_restricted_remove): remove an editable row
+ (e_meeting_model_restricted_clear): clear all editable rows
+ (e_meeting_model_etable_click_to_add): set the click to add arg on
+ all tables
+ (e_meeting_model_etable_from_model): track the tables
+ (table_destroy_list_cb): remove the table being destroyed from the
+ list
+ (table_destroy_state_cb): remove the table being destroyed from
+ the list
+
+ * gui/e-meeting-model.h: new protos
+
+ * gui/e-itip-control.c (update_attendee_status): kill warning
+
+2002-06-18 JP Rosevear <jpr@ximian.com>
+
+ * zones.h: update for new zones
+
+2002-06-17 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes wombat crash (for JP and myself)
+
+ * gui/gnome-cal.c (gnome_calendar_open): don't call add_alarms here,
+ since the client is not yet attached to the backend, and the alarm
+ daemon does unref the client before creating a new one.
+ (client_cal_opened_cb): call add_alarms here.
+
+2002-06-12 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify.c: added timeout_id to LoadedClient structure, to
+ keep track of the timeout function.
+ (retry_timeout_cb): don't use RetryData, but the LoadedClient.
+ (cal_opened_cb): ditto, and assigned lc->timeout_id to the return
+ value of g_timeout_add().
+ (alarm_notify_add_calendar): destroy the timeout callback when
+ destroying the LoadedClient structure.
+
+2002-06-12 Jeffrey Stedfast <fejj@ximian.com>
+
+ * pcs/cal-factory.c (open_fn): Free the uri_string once we're done
+ with it.
+
+2002-06-12 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gui/dialogs/cal-prefs-dialog.glade: Fix a typo.
+
+2002-06-10 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/alarm-notify.c (alarm_notify_add_calendar): removed
+ already loaded client when asked to be opened again, and *really*
+ re-open it again.
+
+2002-06-04 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_setup_view_menus):
+ gal_view_menus_set_show_define_views (..., FALSE);
+
+2002-06-04 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c
+ (gnome_calendar_setup_view_menus): Set the title of our
+ GalViewCollection.
+
+2002-06-03 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.glade: In an attempt to clean up the
+ config dialog (and to reduce its overall girth), I have re-laid-out the
+ calendar preferences dialog. It now conforms to standard Evolution
+ spacing and padding guidelines, and exhibits proper alignment, etc.
+
+2002-06-03 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query.c: keep a reference to the Query object, to avoid
+ crashes when the queries are destroyed before finishing processing.
+ Fixes #25056.
+
+2002-05-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor.h: update proto
+
+ * gui/dialogs/comp-editor.c (comp_editor_get_comp): new function
+ to get base comp
+
+ * gui/e-comp-editor-registry.c (e_comp_editor_registry_add): get
+ the base comp, not the current comp, don't unref it
+ (foreach_close_cb): block the signal, unblock it if the editor
+ could not be closed
+ (e_comp_editor_registry_close_all): fix preconditions
+ (editor_destroy_cb): get the base comp, not the current comp,
+ don't unref it
+
+2002-05-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-comp-editor-registry.c (e_comp_editor_registry_close_all):
+ if there are remaining items, return false
+ (foreach_close_cb): don't remove the item if it couldn't be closed
+
+ * gui/e-comp-editor-registry.h: update proto
+
+ * gui/component-factory.c (request_quit): return a boolean
+ indicating if everything was closed
+
+ * gui/dialogs/comp-editor.h: update proto
+
+ * gui/dialogs/comp-editor.c (comp_editor_close): return true if
+ the editor was closed, false otherwise
+
+2002-05-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-comp-editor-registry.[hc]: a registry of comp editors so
+ we can close them all centrally
+
+ * gui/gnome-cal.c (gnome_calendar_init): there is no editor hash
+ now
+ (gnome_calendar_destroy): ditto
+ (gnome_calendar_edit_object): look for the event editor in the
+ registry, if it isn't there, create it and add it to the registry
+
+ * gui/e-calendar-table.c (open_task): look for the task editor in
+ the registry, if it isn't there, create it and add it to the
+ registry
+
+ * gui/component-factory.c (request_quit): close all open editors
+ (create_object): add a request_quit function to the shell
+ component
+
+ * gui/comp-editor-factory.c (free_client): there is no
+ uid_comp_hash to free any more
+ (editor_destroy_cb): we get an OpenClient as callback data now,
+ reduce the editor count and destroy it if it is 0
+ (edit_existing): don't create the Component, add the new editor to
+ the registry, increase the editor count
+ (edit_new): ditto
+ (open_client): set the editor count to 0
+ (impl_editExisting): look in the registry for the editor
+
+ * gui/Makefile.am: Build new sources
+
+ * gui/main.c (main): create the registry
+
+ * gui/dialogs/comp-editor.c (comp_editor_close): prompt to save
+ and then close dialog
+
+ * gui/dialogs/comp-editor.h: new proto
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: remove dead summary stuff
+
+2002-05-24 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-file.c (save): check the value returned by
+ gnome_vfs_uri_to_string before using it.
+ (cal_backend_file_open): ditto.
+
+2002-05-20 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/event-editor.c (event_editor_init): Pass the
+ @component_pixmaps in so we give the new "Meeting" button an icon.
+
+ * gui/dialogs/comp-editor.c (comp_editor_merge_ui): New arg
+ @component_pixmaps to pass in custom pixmaps.
+
+2002-05-20 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/alarm-notify/alarm-notify.c:
+ * gui/alarm-notify/notify-main.c: ported changes from evolution-1-0
+ to make it work with reminders on remote backends.
+
+ * pcs/cal-backend-file.c (cal_backend_file_open): check the string
+ returned by gnome_vfs_uri_to_string, which can be empty. If so,
+ return an error.
+
+2002-05-17 JP Rosevear <jpr@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_setup_view_menus): set the view
+ to the current view
+
+2002-05-16 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/gnome-cal.c (client_cal_opened_cb): added support for
+ CAL_CLIENT_OPEN_PERMISSION_DENIED error code.
+ (permission_error): new function to display 'Permission Denied'
+ error message when opening the calendar.
+
+ * gui/e-tasks.c: likewise.
+
+ * idl/evolution-calendar.idl: added PERMISSION_DENIED to Listener's
+ OpenStatus enumeration.
+
+ * cal-client/cal-client.c (cal_opened_cb): added code for retrieving
+ 'Permission Denied' errors, and convert it to CalClientOpenStatus
+ values.
+
+ * pcs/cal-factory.c (open_backend): added code for informing of
+ 'Permission Denied' errors.
+
+2002-05-16 Rodrigo Moya <rodrigo@ximian.com>
+
+ * idl/evolution-calendar.idl: added PermissionDenied exception and
+ make it be raised in open, updateObjects and removeObject.
+
+ * pcs/cal-backend.h: added CAL_BACKEND_OPEN_PERMISSION_DENIED to
+ CalBackendOpenStatus enumeration, added CalBackendResult enumeration.
+
+ * pcs/cal.c:
+ * pcs/cal-backend.c:
+ * pcs/cal-backend-file.c: adapted to changes in update_objects and
+ remove_object methods.
+
+ * cal-client/cal-client.[ch]: added CalClientResult enumeration.
+ (cal_client_update_object, cal_client_update_objects,
+ cal_client_remove_object): changed to return a CalClientResult.
+
+ * conduits/calendar/calendar-conduit.c:
+ * calendar/conduits/todo/todo-conduit.c:
+ * importers/icalendar-importer.c:
+ * gui/dialogs/comp-editor.c:
+ * gui/calendar-model.c:
+ * gui/e-calendar-table.c:
+ * gui/e-day-view.c:
+ * gui/e-itip-control.c:
+ * gui/e-week-view.c:
+ * gui/comp-util.c:
+ * gui/e-tasks.c:
+ * gui/tasks-migrate.c: adapted to changes in cal_client_update_object(s)
+ and cal_client_remove_object.
+
+2002-05-15 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (create_object): Pass NULL as
+ @request_quit_fn.
+
+2002-05-14 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/schedule-page.c (schedule_page_construct): set the
+ working hours for the meeting time selector
+
+2002-05-14 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-component.h: make the range datetime member a
+ struct not a pointer
+
+ * cal-util/cal-component.c (cal_component_get_recurid): take a
+ pointer to a range
+ (cal_component_set_recurid): ditto
+
+ * gui/itip-utils.c (comp_minimal): get/set the recurrence id
+ properly
+
+2002-05-09 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/e-itip-control.c (get_servers): use
+ GNOME_Evolution_Storage__get_folderList instead of
+ GNOME_Evolution_Storage_getFolderList since I have now changed
+ that to be an attribute instead of a method.
+
+2002-05-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (start_calendar_server): start a server a
+ uri
+ (start_default_server): start a default server
+ (get_servers): get all clients for all folders of the given
+ type(s)
+ (find_server): locate a server for a particular uid
+ (init): get_servers, listen for object_requested signal
+ (destroy): destroy all clients
+ (write_html): put options is there own cell
+ (get_publish_options): place selector in if param is true
+ (get_request_options): ditto
+ (get_real_item): only try and look up the item if we know its in
+ the server
+ (show_current_event): find the server (if any) for the current
+ comp
+ (show_current_todo): ditto
+ (update_attendee_status): if there is no server for the comp, it
+ doesn't exist
+ (remove_item): ditto
+ (button_selected_cb): get a client for the selected folder
+ (object_requested_cb): draw the folder button in
+
+ * gui/calendar-config.h: new protos
+
+ * gui/calendar-config.c (calendar_config_default_tasks_folder):
+ get default tasks uri
+ (calendar_config_default_calendar_folder): get default calendar
+ uri
+
+ * cal-client/cal-client.c (get_default_uri): use
+ cal_util_expand_uri
+
+ * cal-util/cal-util.h: new proto
+
+ * cal-util/cal-util.c (cal_util_expand_uri): tack on the file name
+ if its a file uri
+
+2002-05-03 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-tasks.c (e_tasks_delete_selected):
+ (e_tasks_complete_selected): show progress messages
+ on the status bar.
+
+2002-05-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query.c: #include <gtk/gtkmain.h> to avoid warnings.
+
+2002-05-02 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-week-view.c (free_view_popup): only discard the popup if
+ we created one
+
+2002-05-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query.c: refactored a bit, to not do things in idle loops.
+
+2002-05-01 JP Rosevear <jpr@ximian.com>
+
+ * gui/print.c (print_day_details): modify the start and end hours
+ to accomodate all the events in the day
+
+ * gui/e-day-view.c (free_view_popup): only discard the popup if we
+ created one
+
+2002-04-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_construct): remove setup_widgets
+ from here
+ (gnome_calendar_init): move setup_widgets back here
+
+2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
+
+ * gui/Makefile.am: Don't link to libibex anymore!!
+
+2002-04-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_pilot_settings): launch pilot
+ settings capplet
+
+ * gui/e-week-view.c (e_week_view_on_pilot_settings): ditto
+
+2002-04-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-week-view.c (free_view_popup): free the view popup
+ (e_week_view_show_popup_menu): add the view popup to the
+ "main_item" menu and listen for destruction
+
+ * gui/e-day-view.c (free_view_popup): as above
+ (e_day_view_on_event_right_click): as above
+
+ * gui/e-week-view.h: add class member
+
+ * gui/e-day-view.h: add a class member
+
+ * gui/gnome-cal.h: new protos
+
+ * gui/gnome-cal.c (set_view): set the instance view id properly
+ when switching views
+ (gnome_calendar_setup_view_popup): generate a view popup
+ (gnome_calendar_discard_view_popup): destroy a view popup
+
+2002-04-22 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal.c (impl_Cal_get_alarms_in_range): raise an exception if the
+ backend's method returns NULL, since we can't send a NULL pointer to
+ ORBit.
+
+2002-04-19 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.glade: Collapsed notebook into two pages
+ and added accelerators for everything, as part of my config dialog
+ polishing project
+
+2002-04-18 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (simple_recur_to_comp): properly
+ handle -ve recurrence values
+ (month_num_submenu_selection_done_cb): track the current date in
+ use
+ (make_recur_month_num_submenu): make a submenu of dates
+ (make_recur_month_num_menu): make the date/relation option menu
+ (month_num_menu_selection_done_cb): update the date properly and
+ keep both option menus consistent
+ (month_day_menu_selection_done_cb): keep both option menus
+ consistent
+ (make_monthly_special): listen for selection done signal
+ (make_recurrence_special): destroy old month_num_menu
+ (recurrence_page_fill_widgets): properly handle -ve recurrence
+ values
+
+2002-04-18 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_settings): show the settings
+
+ * gui/e-week-view.c (e_week_view_on_settings): ditto
+
+ * gui/calendar-commands.c (control_util_show_settings): show the
+ settings dialog
+
+ * gui/calendar-commands.h: new proto
+
+ * gui/control-factory.c (control_factory_new_control): set the
+ control as object data on the calendar
+
+2002-04-17 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view.c,
+ gui/dialogs/meeting-page.c: Updated these to match the new
+ EPopupMenu.
+
+2002-04-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend.[ch] (cal_backend_get_query): new method.
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_query): new method.
+
+ * pcs/cal.c (impl_Cal_get_query): call the CalBackend's implementation
+ instead of calling query_new directly.
+
+ * pcs/query.[ch]: fixed headers.
+
+2002-04-10 Dan Winship <danw@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_open): Fix this: Rodrigo's patch
+ used one of the functions I just removed. :)
+
+2002-04-10 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_open): use the default uri for
+ tasks (as stored in the configuration) when the calendar URI is not
+ a local one (connector, etc).
+
+2002-04-10 Dan Winship <danw@ximian.com>
+
+ * cal-client/cal-client.c (get_default_uri): Use new-and-improved
+ default folder URI config paths.
+
+ * gui/calendar-config.c (calendar_config_{get,set}_default_uri,
+ calendar_config_{get,set}_default_tasks_uri): Remove these. The
+ shell owns this information now. (Weren't being used anyway.)
+
+ * gui/component-factory.c (get_data_uri): Fix another place that
+ hardcoded tacking foo.ics on to the end of URLs.
+
+2002-04-08 Dan Winship <danw@ximian.com>
+
+ * gui/component-factory.c (create_view): Add view_info arg. If the
+ view_info is non-empty and this is a calendar folder, set the
+ "view" property on the control's propertybag.
+
+ * gui/control-factory.c (calendar_properties_init): Set up the
+ "view" property.
+ (get_prop, set_prop): handle the "view" property by
+ getting/setting the GnomeCalendar's view. Unfortunately, this
+ doesn't actually work. See #23208.
+
+ * gui/calendar-commands.c (calendar_control_activate): Set the UI
+ component's container before calling
+ gnome_calendar_set_ui_component so that the search bar
+ initialization will work.
+
+2002-04-06 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-backend-db.[hc]: Remove dead files.
+
+2002-04-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: add config_item:type
+
+2002-04-01 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gui/e-itip-control.c: Fix a string.
+
+2002-04-01 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-db.c: simple fix for DB3 header inclusion in
+ Mac OS X, by Max Horn <max@quendi.de>
+
+2002-03-31 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (clean_up): free the my_address member
+ (find_my_address): fall back on a CN match if possible
+ (change_status): handle changing the status of a non-existent
+ address by adding a new attendee
+ (update_attendee_status): if the attendee response is not from a
+ user on the list of attendees, ask the user if they want to add
+ the attendee any how (as an optional participant)
+ (ok_clicked_cb): if we are suppose to rsvp and the status was ok,
+ but the attendee address is not known, find it
+
+2002-03-29 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: Set a priority for the
+ config item. Rename to "Calendar and Tasks".
+
+2002-03-29 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/Makefile.am: s/libversit.la/libversit.a/
+
+ * conduits/todo/Makefile.am: ditto
+
+2002-03-29 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-calendar-table.c: implement new pop up menu items for
+ "Save as", "Print", "Assign Task", "Forward as iCalendar"
+
+ * gui/e-day-view.c: similarly, also "Publish Free/Busy
+ Information" and "New Meeting" and "New Task"
+
+ * gui/e-week-view.c: ditto
+
+ * gui/dialogs/task-editor.c (show_assignment): move the assignment
+ page stuff here
+ (task_editor_show_assignment): use it
+ (assign_task_cmd): ditto
+
+ * gui/dialogs/task-editor.h: new proto
+
+ * gui/dialogs/comp-editor.c (save_as_cmd): use new e-util file
+ selector function
+
+ * meeting-mockup.glade: Remove old file
+
+ * topic.dat
+
+2002-03-19 Dan Winship <danw@ximian.com>
+
+ * cal-util/Makefile.am: s/libversit.la/libversit.a/
+
+ * cal-client/Makefile.am: Likewise
+
+ * gui/Makefile.am: Likewise
+
+2002-03-18 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/cal-search-bar.c: Removed `search_menu_items'.
+ (cal_search_bar_menu_activated): Removed.
+ (cal_search_bar_class_init): Don't install.
+ (cal_search_bar_construct): No menu items here.
+
+2002-03-15 Jeffrey Stedfast <fejj@ximian.com>
+
+ * gui/e-day-view.c: Updated to use new EPopupMenu API.
+
+ * gui/e-week-view.c: Updated to use new EPopupMenu API.
+
+ * gui/e-calendar-table.c: Updated to use new EPopupMenu API.
+
+2002-03-15 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/tasks-control.c (tasks_control_activate): Call
+ `e_tasks_set_ui_component()' here to give it the
+ BonoboUIComponent.
+ (tasks_control_deactivate): Likewise, call it here to unset the
+ BonoboUIComponent.
+
+ * gui/e-tasks.c (e_tasks_set_ui_component): New.
+
+ * gui/calendar-commands.c (calendar_control_activate): Call
+ gnome_calendar_set_ui_component() here.
+ (calendar_control_deactivate): ...And here, with a NULL
+ BonoboUIComponent.
+
+ * gui/gnome-cal.c (gnome_calendar_set_ui_component): New.
+
+2002-03-15 JP Rosevear <jpr@ximian.com>
+
+ * gui/main.c: use bonobo exception macros to tidy
+
+ * gui/itip-control-factory.c: ditto
+
+ * gui/gnome-cal.c: ditto
+
+ * gui/comp-editor-factory.c: ditto
+
+ * gui/calendar-commands.c: ditto
+
+2002-03-14 JP Rosevear <jpr@ximian.com>
+
+ * idl/evolution-calendar.idl: add all day event editor mode
+
+ * gui/component-factory.c: clean up exception handling
+ (sc_user_create_new_item_cb): support the all day event id
+ (create_object): add a user creatable all day appointment item
+
+ * gui/comp-editor-factory.c (get_default_event): get a default
+ event either all day or starting at the top of the hour
+ (get_default_task): get a default task
+ (edit_new): support the all day event mode
+
+ * gui/calendar-commands.c: remove unused functions/verbs
+
+2002-03-13 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: Add an
+ "evolution:config_item:icon_path" attribute so we get an icon for
+ the calendar preferences.
+
+2002-03-12 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.glade: Add <visible>False</visible>
+ to cal-prefs-dialog so it doesn't get shown when we load the Glade
+ file with libglade.
+
+ * gui/component-factory.c (owner_set_cb): Register the
+ ConfigControl factory.
+
+ * gui/tasks-control.c: Removed verb "TaskSettings".
+ (tasks_control_settings_cmd): Removed.
+
+ * gui/calendar-commands.c: Removed verb "CalendarSettings".
+ (settings_cmd): Removed.
+
+ * gui/dialogs/cal-prefs-dialog.c: Renamed `CalPrefsDialogPrivate'
+ to `DialogData'. Replace `dialog' member with a `page' member.
+ Remove `toplevel_notebook' member.
+ (init_widgets): Renamed from `cal_prefs_dialog_init_widgets'.
+ Just get a DialogData.
+ (get_widgets): Get a DialogData pointer.
+ (cal_prefs_dialog_destroy): Removed.
+ (config_control_destroy_callback): New, signal handler for
+ ::destroy for ConfigControl.
+ (cal_prefs_dialog_new): Create a new DialogData, connect all the
+ signal handlers.
+ (create_time_edit): Renamed from
+ `cal_prefs_dialog_create_time_edit'.
+ (cal_prefs_dialog_show): Removed.
+ (cal_prefs_dialog_button_clicked): Removed.
+ (show_task_list_config): Get a DialogData.
+ (show_config): Renamed from `cal_prefs_dialog_show_config'.
+ Likewise.
+ (update_task_list_config): Likewise.
+ (update_config): Renamed from
+ `cal_prefs_dialog_update_config'. Likewise.
+ (color_set_callback): New callback, makes the dialog report
+ changes when the setting in any of the color widgets is changed.
+ (widget_changed_callback): New callback, makes the dialog report
+ changes when any of the widgets changes status.
+ (connect_changed): New utility function to connect this callback
+ to all the widgets.
+ (setup_widgets): Connect all the widgets.
+ (cal_prefs_dialog_new): Call `setup_widgets'.
+
+ * gui/config-control-factory.c: New.
+ * gui/config-control-factory.h: New.
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: Add
+ OAFIID:GNOME_Evolution_Calendar_ConfigControl and
+ OAFIID:GNOME_Evolution_Calendar_ConfigControlFactory.
+
+2002-03-06 Rodrigo Moya <rodrigo@ximian.com>
+
+ Should fix #21240
+
+ * gui/alarm-notify/alarm-notify.c: replaced use of GnomeVFSURI
+ with EUri, to allow non-registered methods.
+
+2002-03-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-itip-control.c (e_itip_control_set_data): reverted my last
+ change of adding the METHOD property to the incoming request.
+
+ * gui/itip-utils.c (comp_string): added extra
+ X-MICROSOFT-CDO-REPLYTIME property for broken Outlook. Should fix
+ #20783.
+
+2002-03-04 Dan Winship <danw@ximian.com>
+
+ * gui/itip-utils.c (comp_compliant): Reset the DTSTAMP of the new
+ component. (RFC2245 says DTSTAMP corresponds to the time the
+ particular iCalendar representation of the object was created.)
+ Fixes #21198.
+
+2002-03-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/print.c: remove unneeded parameter from print_text_size
+ everywhere
+ (get_font_for_size): calculate a font size based on the available
+ height
+ (print_text): calculate the top of where the font should be drawn
+ (print_text_size): use get_font_for_size
+ (print_day_background): use get_font_for_size
+
+2002-03-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel-item.c
+ (e_meeting_time_selector_item_draw): pass the real table
+ to e_meeting_model_etable_view_to_model_row
+ (e_meeting_time_selector_item_paint_busy_periods): ditto
+
+ * gui/dialogs/meeting-page.c (right_click_cb): ditto
+
+ * gui/e-meeting-model.h: update protos
+
+ * gui/e-meeting-model.c
+ (e_meeting_model_etable_model_to_view_row): take in to account the
+ fact the table used the without model
+ (e_meeting_model_etable_view_to_model_row): ditto
+
+2002-03-04 Damon Chaplin <damon@ximian.com>
+
+ * gui/tasks-control.c: added support for printing the Tasks table.
+ I hacked it a bit so the user could choose portrait or landscape mode.
+ This is bug #9677. ETable printing has a few issues, though, and it
+ isn't very pretty.
+
+2002-03-04 Dan Winship <danw@ximian.com>
+
+ * gui/itip-utils.c (comp_subject): Prefix the subject with an
+ indicator like "Accepted" or "Cancelled" explaining what the
+ action is, since Outlook doesn't display any of that information
+ inline like we do. (20780)
+
+2002-02-28 Rodrigo Moya <rodrigo@ximian.com>
+
+ * calendar/gui/e-itip-control.c (e_itip_control_set_data): added the
+ METHOD property to the top level component we create.
+
+2002-02-26 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/control-factory.c (set_prop):
+ * gui/tasks-control.c (tasks_control_set_property): display an error
+ message if the call to gnome_calendar_open or e_tasks_open does not
+ return TRUE. Fixes #20346.
+
+2002-02-25 Dan Winship <danw@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): use
+ GNOME_Evolution_Composer_setBody rather than _setMultipartType and
+ _attachData now, to send a message containing just a text/calendar
+ part. Fixes 14705. Mostly.
+ (comp_content_type): Include the filename here since we can't add
+ a Content-Disposition now.
+
+2002-02-24 Chris Toshok <toshok@ximian.com>
+
+ * gui/cal-search-bar.c (cal_search_bar_class_init): change
+ query_changed to search_activated.
+ (cal_search_bar_search_activated): rename
+ cal_search_bar_query_changed to this.
+
+2002-02-21 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (add_creatable_item): New helper
+ function.
+ (create_object): Add icons for the various user creatable items.
+
+2002-02-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (send_item): pass extra itip_send_comp
+ params
+ (send_freebusy): ditto
+ (ok_clicked_cb): ditto, including the timezones culled from the
+ component
+
+ * gui/e-week-view.c: pass extra itip_send_comp params
+
+ * gui/calendar-commands.c: ditto
+
+ * gui/e-day-view.c: ditto
+
+ * gui/dialogs/task-editor.c: ditto
+
+ * gui/dialogs/event-editor.c: ditto
+
+ * gui/dialogs/comp-editor.c: ditto
+
+ * gui/itip-utils.h (itip_send_comp): update proto
+
+ * gui/itip-utils.c (foreach_tzid_callback): check the passed in
+ zones, then the builtin time zones then the client
+
+2002-02-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (find_my_address): strip the ical value and
+ do a case insensitive compare
+ (find_attendee): ditto
+ (change_status): put the error message here
+ (ok_clicked_cb): don't update the item or rsvp unless
+ change_status was successful, trip the ical value and do a case
+ insensitive compare
+
+ * gui/itip-utils.c (get_address): strip the incoming address
+ (itip_strip_mailto): use g_strncasecmp
+ (comp_limit_attendees): strip the ical value and do a case
+ insensitive compare
+
+2002-02-14 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c: use new column enums
+ (set_value_at): emit pre-change/cell change signals
+ (destroy): destroy refresh_queue and refresh_data
+ (init): init new elements
+ (refresh_queue_add): if the attendee is being refreshed already,
+ possibly update the start/end times to look for and update the
+ callback info, otherwise add it to the queue
+ (refresh_queue_remove): remove a refreshing attende from the queue
+ (process_callbacks): make all the callbacks and remove the
+ attendee from the queue
+ (process_free_busy): process the callbacks immediately if parsing
+ fails or on successful completion of processing
+ (async_close): process free busy
+ (cursor_cb): we're only looking for one at a time now
+ (refresh_busy_periods): idle callback to start processing the queue
+ (e_meeting_model_refresh_all_busy_periods): add every row to the queue
+ (e_meeting_model_refresh_busy_periods): add a single row to the queue
+
+ * gui/e-meeting-model.h: new protos, enum the columns
+
+ * gui/e-meeting-time-sel.c: use new compare time function
+ (e_meeting_time_selector_construct): listen for a cell changed
+ signal and use separate callbacks for rows_inserted and
+ rows_deleted
+ (e_meeting_time_selector_refresh_free_busy): util function to
+ refresh free busy info
+ (e_meeting_time_selector_on_update_free_busy): use above
+ (rows_inserted_cb): refresh free busy on the new rows
+ (cell_changed_cb): refresh free busy on the row when the address
+ changes
+ (rows_deleted_cb): redraw
+
+ * gui/e-meeting-utils.[hc]: a holding spot for a meeting time
+ comparison function
+
+ * gui/Makefile.am: compile new files
+
+2002-02-13 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/control-factory.c (set_prop): don't append 'calendar.ics'
+ to the URI.
+ (get_prop): finished.
+
+ * gui/tasks-control.c (tasks_control_set_property): don't append
+ 'tasks.ics' to the URI.
+ (tasks_control_get_property): finished.
+
+ * gui/gnome-cal.c (gnome_calendar_open):
+ * gui/e-tasks.c (e_tasks_open): append $filename.ics to the uri to be
+ opened if the uri is local. Leave intact in other cases.
+
+2002-02-08 Damon Chaplin <damon@ximian.com>
+
+ * gui/comp-util.c (cal_comp_util_compare_event_timezones): check if
+ the CalComponentDateTime values are set before trying to use them.
+ Possibly fixes bug #18529.
+
+ * importers/icalendar-importer.c: added vCalendar importer and
+ intelligent GnomeCalendar importer code here, as it shares a lot of
+ code with the iCalendar importer.
+
+ NOTE: check_folder_type() needs to be finished at some point.
+ It needs a new shell Corba call so it can decide whether to import
+ events or tasks into the folder. Currently it just imports both.
+
+ * importers/main.c (importer_factory_fn): create vCalendar importer
+ or GnomeCalendar importer if required.
+
+ * importers/evolution-calendar-importer.h: added declarations for
+ creating a vCalendar importer and intelligent Gnome Calendar importer.
+
+ * importers/Makefile.am: added -DEVOLUTION_SOUNDDIR so the importer
+ knows what filename to use for audio alarms in vCalendar files.
+ Added libicalvcal-evolution to LDADD.
+
+ * importers/GNOME_Evolution_Calendar_Importer.oaf.in: added vCalendar
+ importer and intelligent Gnome Calendar importer.
+
+ * gui/comp-util.c (cal_comp_util_compare_event_timezones): return TRUE
+ if the event uses UTC. We don't want to flag all events from Outlook,
+ which use UTC.
+
+2002-02-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-details-page.glade: change custom widget
+ creator to e_url_entry_new
+
+ * gui/dialogs/task-details-page.c (get_widgets): get the url entry
+ and its entry
+
+2002-02-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-details-page.glade: add a custom widget created
+ with e_url_button_new
+
+ * gui/dialogs/task-details-page.c (task_details_page_init): init
+ url_button member to NULL
+ (init_widgets): set the url button entry
+ (get_widgets): get the url button
+
+ * gui/calendar-commands.c (pixmaps): use new all day event icon
+
+2002-02-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-day-view.c: pass meeting boolean for
+ gnome_calendar_edit_object and gnome_calendar_new_appointment_for
+
+ * gui/e-week-view-event-item.c: ditto
+
+ * gui/e-week-view.c: ditto
+
+ * gui/tasks-control.c (confirm_expunge): kill warning
+
+ * gui/calendar-commands.c (new_meeting_cb): show a new meeting
+ dialog
+ (new_event_cb): pass new param
+
+ * gui/gnome-cal.c (gnome_calendar_edit_object): take meeting
+ boolean and show meeting page if true
+ (gnome_calendar_new_appointment_for): takeing meeting param and
+ pass to above
+ (gnome_calendar_new_appointment): add new param
+
+ * gui/gnome-cal.h: update proto
+
+ * gui/component-factory.c (create_component): take a comp editor
+ mode, determine vtype
+ (sc_user_create_new_item_cb): check for meeting user creatable
+ item
+ (create_object): add meeting as user creatable item
+
+ * gui/comp-editor-factory.c (edit_new): get a comp editor mode
+ now, determine vtype and show meeting page if required
+ (queue_edit_new): get comp editor mode
+ (impl_editNew): ditto, plus queue the mode directly instead of
+ determining the vtype
+
+ * gui/dialogs/event-editor.c (show_meeting): new internal util
+ function to show meeting page
+ (event_editor_show_meeting): show the meeting
+ (schedule_meeting_cmd): use show_meeting
+
+ * gui/dialogs/event-editor.h: new proto
+
+ * idl/evolution-calendar.idl: editNew takes a mode rather than a
+ type now
+
+ * cal-util/Makefile.am: fix includes
+
+2002-02-07 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c
+ (gnome_calendar_setup_view_menus): Made these use the new
+ GalViewMenus stuff.
+
+2002-02-06 Damon Chaplin <damon@ximian.com>
+
+ * cal-util/cal-recur.c (cal_recur_from_icalproperty): convert months
+ from 1-12 to 0-11. Fixes bug #19235.
+
+2002-02-04 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (e_todo_gui_new): new gui routines
+ for conduit settings
+ (e_todo_gui_fill_config): ditto
+ (e_todo_gui_fill_widgets): ditto
+ (e_todo_gui_destroy): ditto
+ (e_todo_context_destroy): destroy new_cfg and gui properly
+ (local_record_from_comp): set the priority to the default setting
+ if none is set on the icalendar object
+ (fill_widgets): fill gui widgets
+ (create_settings_window): create gui
+
+2002-01-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (write_html): if this is a reply, print the
+ attendee status
+
+2002-01-25 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/alarm-options.glade: Use 1 instead of zero as the
+ minimum value for the repetitions spin button as we use a check
+ box to specify whether the alarm has repetitions or not. Fixes
+ bug #19054.
+
+2002-01-24 Ettore Perazzoli <ettore@ximian.com>
+
+ * importers/Makefile.am (evolution_calendar_importer_LDADD):
+ Ooops. Forgot to use EVOLUTION_CALENDAR_LIBS here.
+
+2002-01-24 Ettore Perazzoli <ettore@ximian.com>
+
+ * conduits/calendar/Makefile.am: Use
+ EVOLUTION_CALENDAR_CONDUIT_LIBS and
+ EVOLUTION_CALENDAR_CONDUIT_CFLAGS.
+ * conduits/todo/Makefile.am: Likewise.
+
+ * cal-client/Makefile.am: Use EVOLUTION_CALENDAR_LIBS and
+ EVOLUTION_CALENDAR_CFLAGS.
+ * cal-util/Makefile.am: Likewise.
+ * gui/alarm-notify/Makefile.am: Likewise.
+ * gui/Makefile.am: Likewise.
+
+2002-01-23 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (create_object): Pass a NULL @icon to
+ `evolution_shell_component_add_user_creatable_item()'.
+
+2002-01-21 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (todoconduit_load_configuration):
+ return a new configuration struct, load default priority setting
+ (todoconduit_save_configuration): save default priority setting
+ (e_todo_context_new): dupe configuration
+
+ * conduits/calendar/calendar-conduit.c (e_calendar_context_new):
+ set ps to NULL
+
+2002-01-17 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/alarm-page.c (get_alarm_string): save the alarm string
+ in the correct variable (str), so it actually gets shown for alarms
+ with specific trigger times. Fixes bug #18801.
+
+2002-01-15 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/task-page.c (task_page_fill_widgets): default component
+ classification to PUBLIC. Fixes internal bug #1066
+
+2002-01-14 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c: move all functions here,
+ get rid of header files, use e-pilot-settings to display gui
+
+ * conduits/todo/todo-conduit.c: as above
+
+2002-01-14 JP Rosevear <jpr@ximian.com>
+
+ * gui/gnome-cal.c (get_current_time): use icaltimetype_to_tm
+
+2002-01-14 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
+ figure out when today is and highlight if it is not selected
+
+ * gui/e-week-view.h: enum the "today" color
+
+ * gui/e-week-view.c (e_week_view_realize): init the "today" color
+
+2002-01-13 JP Rosevear <jpr@ximian.com>
+
+ * gui/alarm-notify/save.h: add protos
+
+ * gui/alarm-notify/save.c (save_blessed_program): records a
+ program as blessed
+ (is_blessed_program): checks to see if a program is blessed
+
+ * gui/alarm-notify/alarm-queue.c (procedure_notification_dialog):
+ popup a dialog notifying the user that is a program and let them
+ not see the dialog about this program again
+ (procedure_notification): use above
+
+2002-01-11 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-timezone-entry.c:
+ * gui/e-itip-control.c (write_label_piece):
+ * gui/calendar-config.c (on_timezone_set): translate timezone names
+ when displayed. Fixes bug #6544.
+
+2002-01-03 JP Rosevear <jpr@ximian.com>
+
+ * gui/tasks-control.c (tasks_control_complete_cmd): new verb
+ callback
+ (sensitize_commands): set sensitivity of mark complete command
+
+ * gui/e-tasks.h: new proto
+
+ * gui/e-tasks.c (e_tasks_complete_selected): mark selected tasks
+ in the table as complete
+
+ * gui/e-calendar-table.h: new proto
+
+ * gui/e-calendar-table.c (e_calendar_table_complete_selected):
+ mark selected rows as complete
+
+2002-01-03 JP Rosevear <jpr@ximian.com>
+
+ * gui/tasks-control.c (confirm_expunge): only need one warning
+ message now
+
+ * gui/e-tasks.c (create_sexp): change the logic to expunge all
+ completed tasks not just hidden ones
+
+2002-01-03 JP Rosevear <jpr@ximian.com>
+
+ * gui/tasks-control.c (confirm_expunge): confirm expunging of the
+ tasks
+ (tasks_control_expunge_cmd): verb callback
+
+ * gui/calendar-config.c (config_read): read confirm expunge value
+ (calendar_config_write): write confirm expunge value
+ (calendar_config_write_on_exit): ditto
+ (calendar_config_get_confirm_expunge): get value
+ (calendar_config_set_confirm_expunge): set value
+
+ * gui/calendar-config.h: new proto
+
+ * gui/e-itip-control.c (start_calendar_server): kill warning
+
+ * gui/e-tasks.c (e_tasks_init): init query member to NULL
+ (set_status_message): util function to set status message
+ (e_tasks_open): use above
+ (cal_opened_cb): ditto
+ (create_sexp): create sexp of items to be deleted
+ (query_obj_updated_cb): remove any items found
+ (query_eval_error_cb): bail out on error
+ (query_query_done_cb): tidy when done
+ (e_tasks_delete_completed): set up query
+
+ * gui/e-tasks.h: new proto
+
+ * gui/calendar-model.c (query_query_done_cb): use g_warning
+ instead of printing to stderr
+ (query_eval_error_cb): ditto
+ (update_query): clear the status message if we can't create the
+ query
+
+ * gui/tag-calendar.c (resolve_tzid_cb): make this static
+
+2001-12-21 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor.c: remove needs send signal related
+ cruft
+ (save_comp_with_send): with send_component_dialog, indicate if the
+ meeting info is newly created or not
+ (real_edit_comp): remember if the dialog initially needs a send
+
+ * gui/dialogs/send-comp.c (send_component_dialog): take a "new"
+ parameter indicating whether the dialog should intimate if the
+ component to be sent is a new meeting or not
+
+ * gui/dialogs/send-comp.h: update proto
+
+ * gui/dialogs/comp-editor.c: remove no longer used needs_send
+ notification and signal
+
+ * gui/dialogs/comp-editor.h: remove proto
+
+ * gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received): add new
+ param to send_component_dialog
+ (e_day_view_finish_long_event_resize): ditto
+ (e_day_view_finish_resize): ditto
+ (e_day_view_on_editing_stopped): ditto
+ (e_day_view_on_top_canvas_drag_data_received): ditto
+
+ * gui/e-week-view.c (e_week_view_on_editing_stopped): add new
+ param to send_component_dialog
+
+2001-12-21 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor.h: inherit from bonobo window
+
+ * gui/dialogs/comp-editor.c: inherit from bonobo window
+ (comp_editor_key_press_event): Look for an escape key press and
+ close the window if found
+
+2001-12-20 Ettore Perazzoli <ettore@ximian.com>
+
+ [Fixes #17377, Evolution doesn't work on multi-depth displays.]
+
+ * gui/main.c (main): Push GdkRGB visual and colormap.
+
+2001-12-19 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (check_for_slow_setting):
+ go slow and clear the map if the last uri and the current uri do
+ not match
+ (post_sync): save the last uri
+
+ * conduits/calendar/calendar-conduit-config.h: handle a last uri
+ config option
+
+ * conduits/todo/todo-conduit-config.h: ditto
+
+ * conduits/calendar/calendar-conduit.c (start_calendar_server):
+ use the open_default_calendar method
+
+ * conduits/todo/todo-conduit.c (start_calendar_server): same as above
+
+ * cal-client/Makefile.am: link with bonobo conf
+
+ * cal-client/cal-client.h: new protos
+
+ * idl/evolution-calendar.idl: make sure open method raises
+ appropriate exceptions
+
+ * gui/e-itip-control.c (start_calendar_server): use
+ cal_client_open_default_* calls
+
+ * cal-client/cal-client.c (real_open_calendar): do the real work
+ of loading
+ (cal_client_open_calendar): use above
+ (get_fall_back_uri): get the basic local uri
+ (get_default_uri): get the default uri from the config db
+ (cal_client_open_default_calendar): open the default uri or the
+ fallback if the method is unsupported
+ (cal_client_open_default_tasks): same for tasks
+
+2001-12-17 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (send_item): use get_real_item
+ (get_refresh_options): uncomment out
+ (get_real_item): obtain the real object which has the uid of the
+ item received
+ (show_current_todo): use get_refresh_options for refresh method
+ and provide the description and summary from the real component
+ since its not in the reply
+ (show_current_event): ditto
+ (send_item): use get_real_item
+
+2001-12-17 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (comp_limit_attendees): can't remove properties
+ in an iteration loop, so remove them outside the loop
+ (comp_minimal): don't set a recurid if there isn't one, add the x
+ properties to the clone
+ (comp_compliant): unref the clone for DECLINECOUNTER
+
+ * gui/e-itip-control.c (get_refresh_options): make function
+ available again
+ (show_current_event): use it here
+ (ok_clicked_cb): can't remove properties in an iteration loop, so
+ remove them outside the loop
+
+ * cal-util/cal-component.c (free_icalcomponent): properly free the
+ attendee list
+ (cal_component_rescan): don't destroy the alarm hash
+
+2001-12-13 Damon Chaplin <damon@ximian.com>
+
+ * zones.h: new file to contain all timezone names for translation.
+ We won't be using the translations in 1.0.1, but it gives translators
+ time before we do use them in 1.0.2.
+
+ * Makefile.am: added zones.h to EXTRA_DIST.
+
+2001-12-12 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_top_canvas_button_release):
+ ungrab the pointer before calling
+ e_day_view_finish_long_event_resize
+ (e_day_view_on_main_canvas_button_release): ditto
+ (e_day_view_finish_long_event_resize): ask if the meeting should
+ be sent
+ (e_day_view_finish_resize): ditto
+ (e_day_view_on_editing_stopped): ditto
+ (e_day_view_on_top_canvas_drag_data_received): ditto
+ (e_day_view_on_main_canvas_drag_data_received): ditto
+
+2001-12-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (process_free_busy_comp): properly convert
+ the dtstart and dtend times if they are UTC
+ (cursor_cb): if we don't have anybody to get f/b info for, process
+ the callbacks immediately
+ (e_meeting_model_refresh_busy_periods): take start/end times,
+ calculate the timet values with object timezone
+ (e_meeting_model_etable_model_to_view_row): proper cast
+ (e_meeting_model_etable_view_to_model_row): ditto
+ (async_open): bail out if we couldn't open properly
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_on_update_free_busy): use defines for
+ determining the number of days before and after of free busy to
+ request
+ (e_meeting_time_selector_update_dates_shown): use defines for the
+ number of days shown
+
+ * gui/e-meeting-model.h: update proto
+
+2001-12-10 Damon Chaplin <damon@ximian.com>
+
+ * gui/control-factory.c (control_factory_new_control): removed code
+ that connects to GnomeCalendar's "dates_shown_changed" signal.
+
+ * gui/calendar-commands.c (gcal_calendar_dates_change_cb):
+ (calendar_control_activate): moved it here, so it gets reconnected
+ whenever the control is activated. Fixes bug #15798.
+
+2001-12-10 Damon Chaplin <damon@ximian.com>
+
+ * importers/GNOME_Evolution_Calendar_Importer.oaf.in: fixed executable
+ name. Fixes bug #16880.
+
+2001-12-08 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp):
+ if we have an alarm that can be represented on the pilot, set the
+ appointment fields appropriately, if the duration has values for
+ minutes and/or hours and/or days, use the lowest common
+ denominator
+ (comp_from_remote_record): if the appointment on the pilot has an
+ alarm, find the first alarm an item currently had that is relative
+ to the start and with a negative duration and update it (or create
+ a new one if no valid ones exist)
+
+ * cal-util/cal-component.c (cal_component_get_alarm_uids): build
+ list in the order they appear in the component so we get
+ consisting order for the gui and for the pilot
+
+2001-12-08 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/calendar-config.c (calendar_config_get_default_uri):
+ (calendar_config_get_default_tasks_uri): s/%/%s
+
+2001-11-09 Federico Mena Quintero <federico@ximian.com>
+
+ (committed by Damon)
+
+ Fix bug #14699.
+
+ * pcs/query.c (QueryState): Added a state QUERY_WAIT_FOR_BACKEND
+ to indicate that the query is not populated as we are waiting for
+ the backend to be opened.
+ (query_init): Start in the QUERY_WAIT_FOR_BACKEND state.
+ (query_destroy): Only disconnect from the backend if we are in a
+ state that implies that we are connected to its signals.
+ (query_construct): If the backend is already loaded, immediately
+ set the state to QUERY_START_PENDING.
+ (backend_opened_cb): Disconnect from the backend's "opened"
+ signal. Set the state to QUERY_START_PENDING.
+ (match_component): We can now only match components if the query
+ is in progress or if it is done. Assert to that effect, and do
+ not ensure_sexp().
+ (match_component): Do not check for a nonexistent component using
+ g_return_if_fail(). Also, there is no need to ref/unref the
+ component.
+ (backend_obj_updated_cb): Assert to the effect of our state.
+ (backend_obj_removed_cb): Likewise.
+ (parse_sexp): Renamed from ensure_sexp(). Assert that the query
+ has not started. Do not disconnect from the backend's signals
+ here, since we have no connections.
+ (start_query_cb): Set the state to QUERY_IN_PROGRESS here instead
+ of in populate_query().
+
+2001-12-07 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/calendar-config.c (calendar_config_get_default_uri):
+ (calendar_config_get_default_tasks_uri): if the key in the config
+ database does not exist, just return the local URIs, but never
+ return NULL
+
+2001-12-06 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/event-page.c (event_page_fill_widgets): default
+ component classification to PUBLIC
+
+2001-12-06 Jon Trowbridge <trow@ximian.com>
+
+ * gui/dialogs/event-editor.c (event_editor_destroy): Explicitly
+ destroy the EMeetingModel. This is a hack to work around problems
+ with the reference counting; we are still leaking the
+ EMeetingModels.
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_construct): Ref our EMeetingModel.
+ (e_meeting_time_selector_destroy): Unref the model.
+
+ * gui/e-meeting-model.c (destroy): Properly destroy
+ corba_select_names with a call to bonobo_object_release_unref.
+ (Fixes 14002)
+
+2001-12-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/event-page.glade: added entry for the LOCATION field
+
+ * gui/dialogs/event-page.c: added support for the new LOCATION entry
+ added in the Event editor.
+
+2001-12-05 Zbigniew Chyla <cyba@gnome.pl>
+
+ * gui/itip-utils.c (comp_subject, comp_description):
+ Marked strings for translation.
+
+2001-12-03 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-meeting-model.c:
+ * gui/calendar-model.c: make sure we call e_table_model_pre_change()
+ before changing the model.
+
+ * gui/calendar-config.c (calendar_config_configure_e_calendar_table):
+ removed call to e_table_model_changed(). calendar_model_refresh()
+ results in that anyway.
+
+2001-12-03 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-calendar-table.etspec: disabled 'Alarms', 'End Date' and
+ 'Show Time As' fields, as these are not useful for tasks. We may want
+ to reenable them later if we add a table view of calendar events.
+
+2001-12-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/calendar-offline-handler.c (backend_cal_opened): connect to
+ "cal_set_mode" signal before calling cal_client_set_mode. Also,
+ s/cal_mode_set/cal_set_mode
+ (backend_go_offline): connect to "cal_opened" signal before calling
+ cal_client_open_calendar
+
+2001-11-30 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-itip-control.c (remove_item): only show the dialog if we
+ created it. Hopefully fixes bug #15774.
+ Also ifdef'ed out a lot of code that isn't currently used, including
+ code to use a label which is never created. The unused code was there
+ to support handling multiple iTIP objects in a message, but was never
+ updated when we switched to use HTML for the control. Fixes bug #16232.
+
+2001-11-28 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_new_task): Set the category of
+ the new task to that of the search bar. Fixes bug #15533.
+
+2001-11-27 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-itip-control.c (update_attendee_status):
+ * gui/itip-utils.c (comp_to_list): fixed typos in translatable
+ strings. Fixes Ximian #15456
+
+2001-11-14 Damon Chaplin <damon@ximian.com>
+
+ * gui/print.c: Substituted gnome_font_get_width_string() with
+ gnome_font_get_width_utf8() and gnome_font_get_width_string_n()
+ with gnome_font_get_width_utf8_sized(). Fixes calendar part of #15379.
+
+2001-11-14 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-model.c (date_value_to_string): Convert the buffer
+ to UTF8.
+ (calendar_model_value_to_string): Do not convert the string fields
+ to UTF8 again; they are already in UTF8. Fixes the UTF8-related
+ bits of bug #15304.
+
+2001-11-14 Damon Chaplin <damon@ximian.com>
+
+ * gui/calendar-model.c:
+ * cal-util/cal-component.h: #ifdef'ed out the LOCATION field for now,
+ since it wasn't supported everywhere, or in the .etspec file.
+
+2001-11-14 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-calendar-table.c: don't abort when e_table_selected_count()
+ returns odd values. There seems to be a bug in ETable. This is to
+ avoid bug #13843.
+
+2001-11-13 Federico Mena Quintero <federico@ximian.com>
+
+ (committed to CVS by Damon)
+ Fixes bug #15137.
+
+ * gui/e-day-view.c (e_day_view_on_delete_appointment): Do not try
+ to operate on the event if it gets deleted while stopping the
+ edition.
+ (e_day_view_on_event_double_click): Likewise.
+ (e_day_view_on_long_event_button_press): Likewise.
+ (e_day_view_on_event_button_press): Likewise.
+ (e_day_view_on_long_event_click): Likewise.
+ (e_day_view_on_event_click): Likewise.
+
+ * gui/e-week-view.c (e_week_view_on_text_item_event): Likewise.
+
+2001-11-14 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (pre_sync): remove silly
+ debug warning
+
+2001-11-13 Damon Chaplin <damon@ximian.com>
+
+ * gui/alarm-notify/config-data.c (ensure_inited):
+ * gui/calendar-config.c (config_read):
+ * conduits/todo/todo-conduit.c (get_default_timezone):
+ * conduits/calendar/calendar-conduit.c (get_default_timezone):
+ make the timezone default to UTC. Fixes bug #14362.
+
+2001-11-13 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-week-view.c (selection_received): only change the day,
+ month and year for the start date, for not screwing up the start
+ time, which was being set to midnight always (Fixes Ximian #5287)
+ Also, deal correctly with VCALENDAR components
+
+ * gui/e-day-view.c (selection_received): dela correctly with
+ VCALENDAR components being pasted
+
+2001-11-11 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/save.c (get_calendars_to_load): The last
+ argument to the bonobo_config_get_XXX_with_default() is a gboolean
+ *, not a CORBA_Environment *. Fixes bug #14655.
+
+2001-11-11 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-backend-file.c (free_busy_instance): recurrence
+ expansion callback for free/busy
+ (create_user_free_busy): expand recurrences and use date/time
+ values for dtstart and dtend
+
+2001-11-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.h: new protos
+
+ * gui/e-meeting-model.c (e_meeting_model_get_zone): accessor
+ (e_meeting_model_set_zone): ditto
+ (init): init to the calendar default zone
+ (process_free_busy_comp): take the zone to convert to as a param
+ (e_meeting_model_refresh_busy_periods): redraw properly
+
+ * gui/dialogs/schedule-page.c (update_time): set the zone of the
+ model
+
+2001-11-09 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-week-view.c (e_week_view_key_press): don't subtract a day
+ from DTEND. For DATE values we don't include the entire day now.
+ Fixes bug #14842.
+
+2001-11-09 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-week-view-layout.c (e_week_view_layout_events): fix buffer
+ overflow. Fixes bug #10285 (the printing of lines & dates in the
+ printout of the month view).
+
+2001-11-09 Zbigniew Chyla <cyba@gnome.pl>
+
+ * gui/dialogs/meeting-page.c
+ (meeting_page_fill_widgets): Convert strings to GTK+ encoding.
+ (meeting_page_destroy): Free allocated strings before freeing the list
+ itself.
+
+2001-11-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_timeout_handler): don't let an empty
+ event occur for all days when auto scrolling
+
+2001-11-08 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-file.c
+ (cal_backend_file_compute_changes_foreach_key): don't leak the
+ string returned by cal_component_get_as_string nor the temporary
+ CalComponent we create
+
+2001-11-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (ok_clicked_cb): don't add the item, remove
+ it if declining (in case it was added before)
+ (remove_item): Since we can't discern between an item not found
+ and another error, always say the removal is complete
+
+2001-11-07 Zbigniew Chyla <cyba@gnome.pl>
+
+ * gui/e-cell-date-edit-text.c (ecd_get_text):
+ Convert generated string to UTF-8.
+
+2001-11-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_on_start_time_changed): emit changed
+ signal
+ (e_meeting_time_selector_on_end_time_changed): emit changed
+ signal, if end time is now before start time and all day event,
+ make sure a whole day is still selected
+ (e_meeting_time_selector_drag_meeting_time): calculate the first
+ and last_time's in whole days for all day events
+ (e_meeting_time_selector_timeout_handler): calculate the drag time
+ to be whole days for all day events and scroll the canvas even if
+ we don't update the time so the user can see where they're headed
+
+2001-11-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/event-editor.c (event_editor_edit_comp): make sure
+ to remove all attendees from the model when we edit a new comp,
+ append the pages if they are needed and we weren't showing them
+ before
+
+ * gui/dialogs/task-editor.c (task_editor_edit_comp): same as above
+
+ * gui/dialogs/comp-editor.c (comp_editor_remove_page): check for a
+ return value indicating the page was not found and return if so
+
+2001-11-05 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/e-delegate-dialog.c: #include
+ "Evolution-Addressbook-SelectNames.h", not
+ "../Evolution-Addressbook-SelectNames.h". Grrr.
+
+2001-11-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_class_init):
+ add a changed signal
+ (e_meeting_time_selector_construct): emit changed signal
+ (e_meeting_time_selector_set_meeting_time): ditto
+ (e_meeting_time_selector_set_all_day): set the all day setting
+ (e_meeting_time_selector_autopick): emit changed signal
+ (e_meeting_time_selector_find_nearest_interval): find proper
+ interval when in all day mode
+ (e_meeting_time_selector_find_nearest_interval_backward): ditto
+ (e_meeting_time_selector_drag_meeting_time): for all day events,
+ move the time when past the 12 hour mark, and and always make sure
+ 1 full day is selected, emit changed signal when appropriate
+ (e_meeting_time_selector_update_start_date_edit): set date and
+ time of day together
+ (e_meeting_time_selector_update_end_date_edit): ditto, and adjust
+ display time if all day event
+
+ * gui/e-meeting-time-sel-item.c
+ (e_meeting_time_selector_item_draw): remove unused variable
+ (e_meeting_time_selector_item_button_press): for all day mode,
+ make the interval a whole day
+
+ * gui/dialogs/schedule-page.c (update_time): set the meeting time
+ selector setting instead of manual mucking with the e-date-edit
+ widgets
+ (init_widgets): listen to the changed signal of the meeting time
+ selector instead of propagating multiple events as it updates
+
+ * gui/dialogs/event-page.c (update_time): block time zone change
+ signals
+
+2001-11-05 Damon Chaplin <damon@ximian.com>
+
+ * gui/calendar-model.c (dup_date_edit_value): removed ';' in the wrong
+ place. Fixes bug #14421.
+
+2001-11-05 Dan Winship <danw@ximian.com>
+
+ * gui/alarm-notify/Makefile.am (evolution_alarm_notify_LDFLAGS):
+ -export-dynamic for libglade custom widget.
+
+2001-11-04 Damon Chaplin <damon@ximian.com>
+
+ * gui/comp-editor-factory.c (get_default_component): use TZID from the
+ builtin timezone, instead of using the location name.
+
+2001-11-02 Federico Mena Quintero <federico@ximian.com>
+
+ * cal-util/cal-util.c (compute_alarm_range): Short-circuit the
+ calculation of the repeat time if there are zero repetitions.
+ (compute_alarm_range): I'm a moron. De-reference alarm_start when
+ subtracting stuff from it! Fixes bug #14209.
+
+2001-10-31 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/Makefile.am: Added rules to generate
+ `Evolution-Addressbook-SelectNames.h'.
+
+ * gui/dialogs/comp-editor-util.h: #include
+ "Evolution-Addressbook-SelectNames.h" from this directory.
+
+2001-10-31 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/alarm-options.c: #include <string.h>
+
+2001-10-31 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/gnome-cal.c (dn_query_obj_updated_cb): If a query is not in
+ progress, just retag the whole thing. An event may change dates
+ and tag_calendar_by_comp() would not know how to untag the old
+ dates. Fixes bug #10220.
+
+ * pcs/query.c (start_query_cb): Connect to the backend's
+ "obj_updated" and "obj_removed" signals here instead of in
+ query_construct(). If a query is started while another one is
+ notifying of an update, these signal connections would get appened
+ to the running signal (the one that triggered the notification
+ about an update) and the new signal handlers would also get
+ called. We are really not interested in updates before we
+ populate the query, because we'll catch the changes anyways.
+
+2001-10-31 Federico Mena Quintero <federico@ximian.com>
+
+ Fix bug #13723.
+
+ * gui/gnome-cal.h (GnomeCalendarClass): New signals
+ "calendar_focus_change", "taskpad_focus_change", and
+ "taskpad_selection_changed". Renamed "selection_changed" to
+ "calendar_selection_changed".
+
+ * gui/gnome-cal.c (gnome_calendar_get_num_tasks_selected): New
+ function.
+ (setup_widgets): Connect to the focus event signals of the task
+ pad and the calendar view widgets.
+ (gnome_calendar_delete_selection): Renamed from
+ gnome_calendar_delete_event().
+ (gnome_calendar_cut_clipboard): Handle the current focus location.
+ (gnome_calendar_copy_clipboard): Likewise.
+ (gnome_calendar_paste_clipboard): Likewise.
+ (gnome_calendar_delete_selection): Likewise.
+ (table_selection_change_cb): New callback.
+
+ * gui/calendar-commands.c (sensitize_calendar_commands): Take in
+ whether we should unconditionally disable everything.
+ (sensitize_taskpad_commands): Analogous function to the above.
+ (gcal_calendar_focus_change_cb): New callback, used for calendar
+ views.
+ (gcal_taskpad_focus_change_cb): New callback, used for the
+ taskpad.
+
+ * gui/e-day-view.c (e_day_view_key_press): Use a better test for
+ keys that should start editing. Fixes bug #6447.
+
+ * gui/e-week-view.c (e_week_view_key_press): Likewise.
+
+2001-10-31 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/calendar-model.c: Make the pre_changes and changes match
+ here.
+
+2001-10-31 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): send as mixed rather than
+ alternative
+
+2001-10-31 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/alarm-notify/save.c (KEY_CALENDARS_TO_LOAD):
+ Removed.
+ (KEY_NUM_CALENDARS_TO_LOAD): New key, containing the number of
+ calendars to load.
+ (BASE_KEY_CALENDAR_TO_LOAD): New base key name for the URIs of the
+ calendars to load.
+ (save_calendars_to_load): Rewrote to not use a sequence, to work
+ around an ORBit bug that causes bonobo-moniker-xmldb to crash.
+ (get_calendars_to_load): Likewise.
+
+2001-10-30 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/comp-editor.c (comp_editor_remove_page): disconnect
+ signals added in append_page(). Fixes Gtk-Critical warning about
+ GtkAccelGroup being added twice to a window.
+
+2001-10-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): set a body for the message
+
+2001-10-30 Dan Winship <danw@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): call
+ GNOME_Evolution_Composer_setMultipartType to get a
+ multipart/alternative.
+
+2001-10-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_on_start_time_changed): don't overwrite
+ memory
+ (e_meeting_time_selector_on_end_time_changed): ditto
+
+2001-10-30 Damon Chaplin <damon@ximian.com>
+
+ * gui/calendar-model.c (dup_date_edit_value): return NULL if passed
+ NULL. Should fix bug #14048.
+
+2001-10-30 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-config.c (config_read): Do not ignore the
+ exceptions of the cases that do not have defaults.
+
+2001-10-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_drag_meeting_time): if we are doing all
+ day stuff, make the drag increment 1 day at a time
+
+2001-10-30 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/meeting-page.c (meeting_page_fill_component): Add
+ _() to a string that was missing it.
+
+2001-10-30 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/meeting-page.c (table_canvas_focus_out_cb): Commit
+ the ETable click-to-add for if the dialog is being destroyed.
+ Should fix bug #13959.
+
+2001-10-30 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): Allocate enough space for the
+ string! (was missing the null terminator) Possibly fixes #13924.
+ Thanks a *LOT* to Michael Zucchi for running this through Purify.
+
+2001-10-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel-item.c
+ (e_meeting_time_selector_item_button_press): move in whole day
+ increments if we are in all day mode
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_on_start_time_changed): get rid of
+ localtime call
+ (e_meeting_time_selector_on_end_time_changed): ditto
+ (e_meeting_time_selector_update_start_date_edit): set the date
+ editor using the meeting time fields directly
+ (e_meeting_time_selector_update_end_date_edit): ditto
+
+ * gui/dialogs/schedule-page.c (update_time): do the set_show_time
+ stuff first
+
+ * conduits/calendar/calendar-conduit.c (process_multi_day): don't
+ adjust the time, set the default timezone for date values
+
+2001-10-30 Dan Winship <danw@ximian.com>
+
+ * gui/alarm-notify/Makefile.am (INCLUDES):
+ s/BONOBO_HTML_GNOME_LIBS/BONOBO_HTML_GNOME_CFLAGS/
+
+2001-10-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (e_meeting_model_count_actual_attendees):
+ count the actual attendees (doesn't include people delegating
+
+ * gui/e-meeting-time-sel.c: use
+ e_meeting_model_count_actual_attendees (renamed)
+
+ * gui/e-meeting-time-sel-item.c: use
+ e_meeting_model_etable_view_to_model_row calls instead of calling
+ on the model directly, use e_meeting_model_count_actual_attendees
+
+ * gui/e-meeting-model.c
+ (e_meeting_model_etable_model_to_view_row): get the real mapping
+ (e_meeting_model_etable_view_to_model_row): ditto
+ (get_key): e-table-without callback
+ (duplicate_key): ditto
+ (free_gotten_key): ditto
+ (free_duplicated_key): ditto
+ (init): create without model
+ (e_meeting_model_etable_from_model): build etable from without
+ model
+
+ * gui/e-meeting-model.h: update protos
+
+ * gui/dialogs/meeting-page.c (right_click_cb): convert row from
+ view to model row
+
+2001-10-30 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/task-page.c (task_page_fill_widgets): set to the default
+ timezone for DATE values, in case the user switches to a DATE-TIME.
+
+2001-10-30 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/task-page.c: handle DATE values for Start and Due dates.
+
+2001-10-30 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/schedule-page.c:
+ * gui/dialogs/event-page.c:
+ * gui/dialogs/comp-editor-util.c: updated code to handle DATE values.
+
+ * gui/gnome-cal.c (gnome_calendar_new_appointment_for):
+ * gui/e-day-view.c (e_day_view_key_press): updated DATE code.
+
+ * gui/e-cell-date-edit-text.c:
+ * gui/calendar-model.c: updated to support DATE values.
+
+ * cal-util/cal-recur.c (cal_recur_generate_instances_of_rule): updated
+ to use DATE values in same way as Outlook - i.e. the DTEND date is
+ not included entirely. Though I did make it so that if the DTSTART
+ and DTEND used the same DATE value, it includes the entire day.
+ So 1-day events should be the same. Long All-Day events will be
+ 1 day shorter.
+
+ * cal-util/cal-component.c (cal_component_get_start_plus_duration):
+ don't subtract a day from the end date.
+
+ * gui/tasks-control.c: updated the EPixmap paths for Cut/Copy etc.
+ Removed Print & Print Preview paths, since we don't have menu commands
+ for these any more.
+
+2001-10-30 Federico Mena Quintero <federico@ximian.com>
+
+ Fix bug #10016.
+
+ * gui/dialogs/comp-editor.c (comp_editor_merge_ui): Use
+ bonobo_ui_util_set_ui() instead of doing things by hand. Hmmm, if
+ only that function had a way of telling us whether it failed so
+ that we could avoid setting the verb list...
+
+ * gui/dialogs/event-editor.c (event_editor_init): Do not pass the
+ filename with the full path so that Bonobo can find it in a smart
+ way.
+
+ * gui/dialogs/task-editor.c (task_editor_init): Likewise.
+
+2001-10-30 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/delete-comp.c (delete_component_dialog): Use an
+ EMessageBox instead of a gnome_dialog_question so that the label
+ gets line breaking. Fixes bug #11260.
+
+2001-10-29 Federico Mena Quintero <federico@ximian.com>
+
+ Fix bug #13649.
+
+ * gui/calendar-config.c
+ (calendar_config_get_use_default_reminder): New function.
+ (calendar_config_set_use_default_reminder): New function.
+ (calendar_config_get_default_reminder_interval): New function.
+ (calendar_config_set_default_reminder_interval): New function.
+ (calendar_config_get_default_reminder_units): New function.
+ (calendar_config_set_default_reminder_units): New function.
+ (config_read): Get the options for default reminders.
+ (calendar_config_write): Set the options for default reminders.
+
+ * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config):
+ Set the default reminder widgets from the config values.
+ (cal_prefs_dialog_update_config): Set the config values from the
+ widgets.
+
+ * gui/comp-util.c (cal_comp_event_new_with_defaults): New
+ function; creates a VEVENT component with the default alarm.
+
+ * gui/e-day-view.c (e_day_view_key_press): Use
+ cal_comp_event_new_with_defaults ();
+
+ * gui/e-week-view.c (e_week_view_key_press): Likewise.
+ * gui/calendar-model.c (calendar_model_append_row): Likewise.
+ * gui/comp-editor-factory.c (get_default_component): Likewise.
+ * gui/gnome-cal.c (gnome_calendar_new_appointment_for): Likewise.
+
+ * cal-util/cal-component.c (ensure_alarm_properties_cb): Ensure we
+ have a DESCRIPTION property.
+ (cal_component_commit_sequence): Ensure we have the mandatory
+ alarm properties.
+
+2001-10-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (process_section): process an individual
+ section here
+ (select_names_ok_cb): call above
+ (get_select_name_dialog): listen for ok:dialog signal
+
+2001-10-29 Damon Chaplin <damon@ximian.com>
+
+ * importers/Makefile.am (evolution_calendar_importer_LDADD):
+ * gui/Makefile.am (evolution_calendar_LDADD):
+ * cal-util/Makefile.am (test_recur_LDADD):
+ * cal-client/Makefile.am (client_test_LDADD): use libical-evolution.la
+
+ * gui/dialogs/schedule-page.c: save the timezone passed in for the
+ start time, so if our times are changed we use this. Also, if the
+ end time was passed in in a different timezone, convert it.
+ Also hide the time fields for DATE values. Note that DATE values still
+ do not work.
+
+ * gui/dialogs/meeting-page.glade: changed "Invite Others" to
+ "Invite Others..." to be consistent with the other page.
+
+ * gui/dialogs/event-page.c (times_updated):
+ (all_day_event_toggled_cb): set is_date if appropriate.
+
+ * gui/e-itip-control.c (write_label_piece): convert all UTC times to
+ the current timezone. Outlook sends simple, non-recurring, events as
+ UTC times, which isn't very useful.
+
+2001-10-29 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/main.c (launch_alarm_daemon): Launch the alarm daemon as
+ soon as the calendar component is started. Fixes bug #13867;
+ we can't really do much better than this.
+
+2001-10-29 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/tasks-control.c (pixmaps): Fix the verb names for the
+ pixmaps in the Edit menu; they were out of synch with the XML
+ UI description.
+
+2001-10-29 Chris Toshok <toshok@ximian.com>
+
+ * pcs/cal-factory.c (cal_factory_dump_active_backends): new
+ function.
+ (dump_backend): new function.
+
+ * pcs/cal-factory.h: add prototype for
+ cal_factory_dump_active_backends.
+
+2001-10-29 Federico Mena Quintero <federico@ximian.com>
+
+ Fix bug #12163.
+
+ * cal-util/cal-util.c (compute_alarm_range): Take alarm
+ repetitions into account.
+ (add_alarm_occurrences_cb): Add alarm repetitions.
+ (generate_absolute_triggers): Likewise.
+ (generate_absolute_triggers): Oops, absolute triggers are in UTC,
+ so convert them as such. Also, pay attention to the timezones of
+ the dtstart and dtend properties.
+
+2001-10-29 JP Rosevear <jpr@ximian.com>
+
+ * importers/Makefile.am: include the header as a source so it gets
+ dist'ed.
+
+2001-10-29 Ettore Perazzoli <ettore@ximian.com>
+
+ * importers/Makefile.am (INCLUDES):
+ s/BONOBO_CFLAGS/BONOBO_GNOME_CFLAGS/.
+
+2001-10-29 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/icalendar-importer.c (load_file_fn): fixed URI
+ construction, which was preventing importing into the root
+ calendar (~/evo/local/Calendar/)
+
+2001-10-29 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (is_all_day): handle date
+ values
+
+2001-10-29 Rodrigo Moya <rodrigo@ximian.com>
+
+ * importers/: added evolution-calendar-importer binary, starting
+ with an iCalendar file importer
+
+2001-10-29 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit-config.h
+ (todoconduit_load_configuration): get the management object by id
+
+ * conduits/calendar/calendar-conduit-config.h
+ (calconduit_load_configuration): ditto
+
+2001-10-29 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/calendar-config.[ch] (calendar_config_get_default_uri):
+ (calendar_config_set_default_uri):
+ (calendar_config_get_default_tasks_uri):
+ (calendar_config_set_default_tasks_uri): new functions for setting
+ and retrieving the default calendar URIs
+
+ * gui/e-itip-control.c (init): don't use
+ hard-coded URI, but use the default calendar URI, as returned
+ by calendar_config_get_default_uri
+ (start_calendar_server): added a "gboolean tasks" parameter, so
+ that the local tasks.ics file is used if the calendar to be
+ started is for tasks when no default tasks URI is found in
+ the configuration
+
+2001-10-28 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (add_record): unref the
+ comp when finished
+
+ * conduits/todo/todo-conduit.c (add_record): ditto
+
+2001-10-28 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/task-page.c (task_page_fill_widgets): added break
+ statements after each case, when setting the classification.
+ Fixes bug #13772.
+
+2001-10-28 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-client.c (destroy_wombat_client): removed this
+ function, as we don't need to unref at all the WombatClient
+ object, since it is aggregated to the CalListener object, which
+ will take care of unrefing it (Fixes Ximian #12001)
+ (cal_client_open_calendar): create the WombatClient here
+
+2001-10-28 Damon Chaplin <damon@ximian.com>
+
+ * gui/print.c (print_todo_details): get the tasks directly from the
+ CalendarModel, so we get the filtering & sorting for free. Fixes
+ bug #10280. Hmm. This seems too easy. It isn't going to work is it...
+
+ * gui/gnome-cal.c (gnome_calendar_get_task_pad): new function to get
+ the TaskPad ECalendarTable, for printing.
+
+ * gui/calendar-model.c:
+ * gui/calendar-config.c (calendar_config_get_hide_completed_tasks_sexp):
+ split this out from calendar-model.c so we could use it for printing,
+ but ended up doing that a different way.
+
+ * gui/dialogs/task-page.c (init_widgets): removed a duplicated signal
+ connected to field_changed_cb().
+
+2001-10-27 Damon Chaplin <damon@ximian.com>
+
+ * gui/print.c (print_week_view):
+ (range_selector_new): when the week start day is set to Sunday, we
+ have to be careful to make sure we print the correct week, since
+ the previous Saturday is actually printed first. Fixes bug #13687.
+ (print_week_summary): always set compress_weekend to true if
+ multi_week_view is FALSE (i.e. we are printing the week view).
+ Fixes bug #13688.
+
+ * gui/e-itip-control.c (send_freebusy): use the timezones from the
+ DTSTART and DTEND.
+ (write_label_piece): output the date-time and the timezone after it.
+ Note that we may want to convert it to the current timezone and display
+ that as well. Also converted COMPLETED to the current timezone.
+ And fixed all uses of old timezone functions.
+
+ * gui/dialogs/comp-editor.c (commit_all_fields): added function to
+ set the focus in the window to NULL, so all fields lose their focus,
+ so they emit "changed" signals and update their values if needed.
+ We call this when most menu commands are used, e.g. 'Save and Close',
+ 'Print' etc. Fixes bug #11434. In future we should also check fields
+ are valid and show dialogs if they are not.
+
+ * gui/calendar-model.c (get_completed): use the completed value
+ properly. Fixes bug #13694.
+
+ * cal-util/timeutil.c (icaltimetype_to_tm_with_zone): don't check
+ from_zone and to_zone != NULL. A NULL zone is valid, it is for
+ floating times.
+
+2001-10-27 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_text_item_event): Cancel editing
+ if the user presses Escape.
+
+ * gui/e-week-view.c (e_week_view_on_text_item_event): Likewise.
+
+ * gui/cal-search-bar.c: #include <string.h>
+
+2001-10-27 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_editing_stopped): Delete
+ appointments with empty summaries. Fixes Ximian bug #780.
+
+ * gui/e-week-view.c (e_week_view_on_editing_stopped): Likewise.
+
+ * gui/dialogs/delete-comp.c (delete_component_dialog): Added an
+ argument to specify whether we unconditionally want single
+ components to be considered as not having a summary.
+
+ * gui/comp-util.c (cal_comp_confirm_delete_empty_comp): New
+ function.
+
+ * gui/misc.[ch]: New files with miscellaneous utility functions;
+ moved string_is_empty() over from calendar-model.c.
+
+ * gui/calendar-model.c: Use the string_is_empty()
+ function from misc.c.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added misc.[ch] to
+ the list of sources.
+
+2001-10-27 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (local_record_from_comp): touch on
+ lookup
+ (check_for_slow_setting): write touched only if slow sync
+ (match): touch on lookup
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp):
+ touch the record on lookup
+ (check_for_slow_setting): write touched only if slow sync
+ (pre_sync): don't touch on lookup
+ (match): touch on lookup
+
+2001-10-26 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/e-calendar.conduit.in: remove the merges as
+ valid sync types
+
+ * conduits/todo/e-todo.conduit.in: as above
+
+ * conduits/calendar/calendar-conduit.c (pre_sync): write out only
+ the touched records if we are doing copies
+
+ * conduits/todo/todo-conduit.c: as above
+
+ * conduits/calendar/calendar-conduit-config.h
+ (calconduit_load_configuration): get the sync type
+
+ * conduits/todo/todo-conduit-config.h: as above
+
+2001-10-26 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-itip-control.c (write_label_piece): convert the formatted
+ date to UTF-8.
+
+ * cal-util/cal-recur.c (CAL_OBJ_DEBUG): turn off debug functions.
+
+ * gui/dialogs/comp-editor-util.c (parse_contact_string): handle UTF8
+ correctly. Bug #4450. Good enough for 1.0.
+
+ * gui/e-week-view-event-item.c (e_week_view_draw_time): set the gc
+ color before drawing. Should fix bug #11469.
+
+ * gui/dialogs/task-editor.c (task_editor_edit_comp): show or hide the
+ meeting page as appropriate. Note this may be called more than once,
+ if the task gets updated somewhere else and the user clicks 'Update
+ the object'. Hopefully fixes bug #12930.
+
+ * gui/print.c (print_comp_item): printed more fields and made a little
+ prettier. Fixes bug #9352.
+ (print_date_label): used the correct timezones for each date field.
+
+ * *.c: removed several debug messages.
+
+2001-10-26 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (check_for_slow_setting):
+ make debug output more accurate
+
+ * conduits/todo/todo-conduit.c (check_for_slow_setting): ditto
+
+2001-10-26 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (pre_sync): remove the uid from the
+ map if was archived and is now deleted
+
+ * conduits/calendar/calendar-conduit.c: ditto
+
+2001-10-26 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-calendar_table.c (delete_selected_components):
+ (selection_received): added status bar messages
+
+ * gui/e-day-view.c (e_day_view_cut_clipboard):
+ (selection_received): likewise
+
+ * gui/e-week-view.c (e_week_view_cut_clipboard):
+ (selection_received): likewise
+
+2001-10-26 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.h: modify fields
+
+ * conduits/todo/todo-conduit.h: as above
+
+ * conduits/calendar/calendar-conduit.c (print_remote): free the
+ struct after use
+ (e_calendar_context_new): explicitly init context fields
+ (e_calendar_context_destroy): free local records and properly free
+ changed hash elements
+ (start_calendar_server_cb): tidy
+ (start_calendar_server): ditto
+ (free_local): free a local record
+ (local_record_to_pilot_record): use a static buffer to avoid leaks
+ (local_record_from_comp): only copy over alarm stuff from the
+ original record, we sync everything else
+ (local_record_from_uid): unref the comp when we are done
+ (pre_sync): free change_id
+ (post_sync): ditto
+ (for_each): track locals
+ (for_each_modified): ditto
+ (free_match): use free_local
+
+ * conduits/todo/todo-conduit.c: as above
+
+2001-10-26 Federico Mena Quintero <federico@ximian.com>
+
+ * pcs/cal.c (cal_construct): Get a fresh CORBA_Environment for
+ every CORBA call. Hopefully will fix #11978, but I'm not sure
+ about what else could be happening.
+ (cal_get_password): Free the exception.
+
+2001-10-25 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-itip-control.c: used functions to get PUBLISH_OPTIONS etc.,
+ so we can translate them.
+
+2001-10-25 Damon Chaplin <damon@ximian.com>
+
+ * cal-util/cal-recur.c (cal_obj_bysetpos_filter): subtract 1 from
+ any positive BYSETPOS value, since our array is 0-based.
+
+ * gui/dialogs/recurrence-page.c (simple_recur_to_comp):
+ (recurrence_page_fill_widgets): Outlook (2000) will not accept monthly
+ recurrences like BYDAY=2TU. Instead it uses BYDAY=TU;BYSETPOS=2.
+ So to be compatable with it we now do the same, although we still
+ accept and convert the old format.
+
+ * cal-client/cal-client.c (cal_client_get_component_as_string): new
+ function to return a complete VCALENDAR string containing a VEVENT
+ or VTODO with all the VTIMEZONEs it uses.
+
+ * gui/dialogs/comp-editor.c (save_as_ok): use above function so we
+ save the VTIMEZONE data with the VEVENT/VTODO. Fixes bug #8626.
+ Also made sure we output "METHOD:PUBLISH" since Outlook (2000) will
+ not import it otherwise.
+
+ * gui/dialogs/comp-editor.c (page_mapped_cb):
+ (page_unmapped_cb): install/uninstall the GtkAccelGroup for the page.
+ (comp_editor_append_page): connect to the map/unmap signals to
+ install/uninstall the accelerators. (This is all for bug #11609,
+ though of course it doesn't work too well in GTK+ 1.2 anyway.)
+
+ * gui/dialogs/task-page.c (get_widgets):
+ * gui/dialogs/task-details-page.c (get_widgets):
+ * gui/dialogs/schedule-page.c (get_widgets):
+ * gui/dialogs/recurrence-page.c (get_widgets):
+ * gui/dialogs/meeting-page.c (get_widgets):
+ * gui/dialogs/event-page.c (get_widgets):
+ * gui/dialogs/alarm-page.c (get_widgets): got the GtkAccelGroup from
+ the original window, ref'ed it and placed it in the CompEditorPage
+ struct.
+
+ * gui/dialogs/comp-editor-page.c (comp_editor_page_destroy): unref
+ any GtkAccelGroup for the page.
+
+ * gui/dialogs/task-page.glade: changed '_Confidential' to
+ 'Con_fidential' as it clashed with '_Contacts'. It now matches the
+ event editor as well.
+
+ * gui/dialogs/event-page.glade:
+ * gui/dialogs/task-page.glade: Set CAN_FOCUS to TRUE for the custom
+ EDateEdit widgets, and set them as the accel targets of the labels.
+
+2001-10-25 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/comp-editor.c (save_comp): show an error message when
+ we can't update the object on the calendar server
+
+2001-10-25 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/control-factory.c: Ifdef-ed out the PersistFile bits.
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: The tasks folder does not
+ support the PersistFile interface; removed it. Removed it as well
+ from the calendar folder since it is aggregated but not actually
+ implemented.
+
+2001-10-25 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/component-factory.c (xfer_folder): Handle tasks folders as
+ well; was always using "calendar.ics" as the filename.
+
+2001-10-24 Damon Chaplin <damon@ximian.com>
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: added sections for Tasks
+ factory and control. I hope someone checks these!
+
+2001-10-24 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (xfer_folder): Fixed to only copy the
+ `calendar.ics' and `calendar.ics~' files.
+
+2001-10-24 Damon Chaplin <damon@ximian.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_update_objects): when
+ iterating over the subcomponents, use 'subcomp' rather than 'icalcomp'.
+ That meant it wasn't working at all well when an entire VCALENDAR
+ was passed in.
+
+ * cal-util/cal-component.c: handle DURATION property used instead of
+ DTEND or DUE. In cal_component_get_dtend/due we will return DTSTART
+ + DURATION if necessary. In set_dtend/due we remove any DURATION
+ property. Fixes bug #11262.
+
+ * gui/e-meeting-model.c (build_etable):
+ * gui/e-calendar-table.c (e_calendar_table_init): use U_ for the
+ ECellCombo popdown strings, as it expects UTF-8 strings.
+
+2001-10-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct):
+ track the spacer vbox
+ (e_meeting_time_selector_style_set): make sure the rows are the
+ correct size for the style
+
+ * gui/e-meeting-time-sel-item.c
+ (e_meeting_time_selector_item_paint_day_top): slight adjustments
+ to where the text is drawn
+
+ * gui/e-meeting-time-sel.h: new member
+
+ * gui/e-meeting-model.c (build_etable): ensure uniform row height
+
+ * conduits/todo/todo-conduit.c (comp_from_remote_record): mark
+ status as completed in appropriate places and don't overwrite
+ legitimate percentages and such
+
+2001-10-24 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #5282.
+
+ * cal-util/timeutil.c (icaltimetype_to_tm_with_zone): New function
+ to avoid copying the same code all over the place.
+ (icaltimetype_to_tm): Also set the tm.tm_wday.
+
+ * gui/alarm-notify/alarm-queue.c (queue_midnight_refresh): Use
+ time_day_end_with_zone().
+ (load_alarms_for_today): Likewise. And oops, we were only
+ computing the times and not loading the alarms.
+ (obj_updated_cb): Likewise.
+ (load_alarms): Removed assertion that is no longer valid because
+ we may load the alarms for a client in two stages.
+
+ * gui/dialogs/alarm-page.c (get_alarm_string): Convert absolute
+ trigger times to the local timezone.
+
+ * gui/alarm-notify/alarm-notify-dialog.c (write_html_heading):
+ Convert the times to the local timezone.
+ (alarm_notify_dialog): Likewise, for the window title.
+ (alarm_notify_dialog): Set the window layer to WIN_LAYER_ONTOP.
+
+ * gui/e-cell-date-edit-text.c (ecd_get_text): Use
+ icaltimetype_to_tm_with_zone().
+
+ * gui/alarm-notify/save.c (get_config_db): Made public.
+ (discard_config_db): Made public.
+
+ * gui/alarm-notify/config-data.[ch]: New files with functions to
+ fetch the calendar configuration data used by the alarm daemon.
+
+2001-10-23 Damon Chaplin <damon@ximian.com>
+
+ * cal-util/cal-component.c (cal_component_event_dates_match): make sure
+ we free all the CalComponentDateTime's when we are finished.
+
+ * gui/gnome-cal.c (gnome_calendar_notify_dates_shown_changed): just
+ return if no time range is set.
+
+2001-10-23 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_table_vadjustment_changed): adjust the
+ display canvas when the table scrolls
+ (e_meeting_time_selector_construct): listen for table scrolling
+
+2001-10-23 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (build_etable): no longer set the
+ scrollbar policy here
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_update_main_canvas_scroll_region): add an
+ extra row to the height so the click to add row can be properly
+ seen
+ (e_meeting_time_selector_construct): set the scrollbar policy for
+ the etable scrolled
+
+2001-10-23 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/timeutil.c (icaltimetype_to_tm): convert an
+ icaltimetype to a tm
+ (tm_to_icaltimetype): vice versa
+
+ * cal-util/timeutil.h: new protos
+
+ * conduits/calendar/calendar-conduit.c: replace all mktime and
+ localtime calls (except for debugging calls)
+
+ * conduits/todo/todo-conduit.c: ditto
+ (comp_from_remote_record): make sure the completed time is in UTC
+
+2001-10-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-query.c (cal_query_construct) set priv->corba_query
+ to CORBA_OBJECT_NIL if there was an error
+
+2001-10-22 Damon Chaplin <damon@ximian.com>
+
+ * idl/evolution-calendar.idl: added setDefaultTimezone() method.
+
+ * pcs/cal-backend.c (cal_backend_get_default_timezone):
+ (cal_backend_set_default_timezone): new functions to call class
+ methods.
+
+ * pcs/cal-backend-file.c: lots of changes to handle the default
+ timezone and use it.
+
+ * pcs/query.c: use the default timezone.
+
+ * gui/dialogs/task-details-page.c (date_changed_cb): initialized
+ completed_tt.
+
+ * gui/dialogs/event-page.c: changed it to handle DATE values. The
+ 'All Day Event' checkbox is only set now when the DTSTART and DTEND
+ are DATE values.
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_free_dates): free the
+ CalComponentDateTime structs as well.
+
+ * gui/e-tasks.c: set the default timezone on the server.
+
+ * gui/tag-calendar.c:
+ * gui/gnome-cal.c:
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: updates to handle DATE values.
+
+ * gui/e-calendar-table.c (date_compare_cb): updated to use the new
+ ECellDateEditValue values, so it now works.
+ (percent_compare_cb): updated to use GPOINTER_TO_INT values.
+ (e_calendar_table_init): use an ECellPercent for the percent field
+ and an ECellDateEditText for the date fields.
+
+ * gui/comp-util.c (cal_comp_util_compare_event_timezones): return TRUE
+ if the DTSTART or DTEND is a DATE value. We don't want to show the
+ timezone icons for DATE values.
+
+ * gui/comp-editor-factory.c (resolve_pending_requests): set the default
+ timezone on the server.
+
+ * gui/calendar-model.c: major changes to support sorting properly.
+ For date and percent fields we now use subclasses of ECellText, so
+ we don't use a char* as the model value. For the percent field we now
+ use a GINT_TO_POINTER. For the date fields we now use a
+ ECellDateEditValue* as the value.
+
+ * gui/calendar-config.c (calendar_config_configure_e_cell_date_edit):
+ set the timezone and use_24_hour flags of the new ECellDateEditText.
+
+ * conduits/todo/todo-conduit.c (pre_sync):
+ * conduits/calendar/calendar-conduit.c (pre_sync): set the default
+ timezone on the server.
+
+ * cal-util/timeutil.c (time_days_in_month): removed debug message.
+
+ * cal-util/test-recur.c: try to handle timezones in the iCalendar
+ file properly, and updated to pass default timezone.
+
+ * cal-util/cal-util.c (cal_util_generate_alarms_for_comp):
+ (cal_util_generate_alarms_for_list): added default timezone argument.
+
+ * cal-util/cal-recur.c: changed many of the functions to take a default
+ timezone, to use to resolve DATE and floating DATE-TIME values.
+
+ * cal-client/cal-client.c (cal_client_set_default_timezone): new
+ function to set the default timezone.
+ (cal_client_ensure_timezone_on_server): new function to ensure that
+ a given timezone is on the server.
+
+ * gui/e-cell-date-edit-text.c: new subclass of ECellText to display
+ and edit a date value.
+
+ * cal-util/cal-recur.c (cal_obj_byday_expand_monthly): changed week_num
+ to -week_num when calculating the weeks to go back from the end of the
+ month for things like BYDAY=-2WE. Fixes bug #11525.
+ (cal_recur_generate_instances_of_rule): only go up to MAX_YEAR (2037).
+ We can't really handle anything past that anyway.
+ (cal_recur_ensure_rule_end_date): initialize cb_date.end_date to 0,
+ so if the RULE doesn't generate COUNT instances we save 0 as the
+ time_t.
+
+2001-10-22 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/tasks-control-factory.c (tasks_control_factory_fn): Put up a
+ warning dialog box if we failed to create the tasks control.
+ Fixes bug #13033.
+
+2001-10-22 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (set_date_label): write out the correct
+ time in the control
+
+ * pcs/cal.c (build_fb_seq): utility function to build sequences of
+ f/b data
+ (impl_Cal_get_free_busy): use above so we never return a NULL
+
+ * conduits/calendar/calendar-conduit-config.h
+ (calconduit_save_configuration): fix c/p error
+ (calconduit_load_configuration): ditto
+
+2001-10-22 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (meeting_page_destroy): we don't need
+ to save the state
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_destroy):
+ ditto
+
+ * gui/e-meeting-model.c (build_etable): listen for the etable
+ being destroyed
+ (table_destroy_cb): save the state when the etable is destroyed
+
+2001-10-21 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/schedule-page.c (init_widgets): listen for changes
+ in the date editors
+ (schedule_page_set_dates): update the times when they change
+ elsewhere
+ (update_time): set the time in the dialog
+ (time_changed_cb): notify of changed times
+
+ * gui/dialogs/comp-editor.c (page_dates_changed_cb): don't call
+ the set dates function on the page that noted the change
+ (page_summary_changed_cb): same for set summary function
+
+ * gui/dialogs/event-page.c (update_time): move time setting stuff
+ to util function
+ (event_page_set_dates): use it
+ (event_page_fill_component): ditto
+
+ * gui/e-meeting-time-sel.h: fix comment
+
+2001-10-19 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm-notify.c (add_uri_to_load): Do not assert
+ if we fail to load the URI list. This would of course have been a
+ bonobo-conf activation problem.
+ (remove_uri_to_load): Likewise.
+
+ * gui/alarm-notify/notify-main.c (load_calendars): Likewise.
+
+ * gui/alarm-notify/alarm-queue.c (load_missed_alarms): Make the
+ time range half-open so that we do not display the last alarm
+ twice.
+
+2001-10-19 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/calendar-model.c (calendar_model_set_status_message): make
+ it a public function
+
+ * gui/e-tasks.c (e_tasks_open): display progress messages
+ (cal_opened_cb): clean up status bar messages
+
+ * gui/gnome-cal.c (gnome_calendar_open): display progress messages
+ (client_cal_opened_cb): clean up status bar messages
+
+2001-10-19 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/calendar-model.c (set_status_message): new function
+ (update_query): call set_status_message
+ (query_query_done_cb):
+ (query_eval_error_cb): clean up status bar messages
+ (get_location, set_location): new functions for setting and
+ retrieving the location in the calendar model
+
+2001-10-19 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/component-factory.c (owner_set_cb): keep a reference to the
+ EvolutionShellClient component
+
+ * gui/e-week-view.c (e_week_view_set_status_message): new function
+ (update_query): call e_week_view_set_status_message
+ (query_query_done_cb):
+ (query_eval_error_cb): clean up status bar messages
+
+ * gui/e-day-view.c (e_day_view_set_status_message): new function
+ (update_query): call e_day_view_set_status_message
+ (query_query_done_cb):
+ (query_eval_error_cb): clean up status bar messages
+
+ * gui/Makefile.am: added EVOLUTION_IMAGESDIR to CFLAGS
+
+2001-10-18 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_on_invite_others_button_clicked): call
+ the invite others dialog in the model
+
+ * gui/e-meeting-attendee.c (e_meeting_attendee_get_atype): pick
+ attendee type based on role and cutype
+
+ * gui/e-meeting-attendee.h: remove proto
+
+ * gui/Makefile.am: compile select names idl
+
+ * gui/e-meeting-model.h: new proto
+
+ * gui/dialogs/meeting-page.c: remove invite others dialogs bits
+ from here
+
+ * gui/e-meeting-model.c (e_meeting_model_invite_others_dialog):
+ and put them here
+
+ * gui/dialogs/Makefile.am: compile corba bits in parent dir
+
+ * gui/dialogs/comp-editor-util.h: reflect above in includes
+
+ * gui/dialogs/e-delegate-dialog.c: ditto
+
+ * gui/dialogs/schedule-page.c: ditto and clean includes
+
+2001-10-18 Larry Ewing <lewing@ximian.com>
+
+ * gui/alarm-notify/alarm-notify-dialog.c: add html widget
+ (url_requested_cb): add function to load images from file as they
+ are requested.
+ (write_html_heading): convert to using html.
+ (alarm_notify_dialog): convert to use html display.
+ (make_html_display): this is the function the custom widget in the
+ galde file uses to create the html widget.
+
+ * gui/alarm-notify/alarm-notify.glade: add placeholder for the
+ custom html widget.
+
+ * gui/alarm-notify/Makefile.am: add flags for gtkhtml and gal.
+
+2001-10-18 Federico Mena Quintero <federico@ximian.com>
+
+ Adds session management for the alarm daemon. Also makes it store
+ a list of calendars to be monitored. Those calendars will all be
+ loaded when the alarm daemon starts up.
+
+ * idl/evolution-calendar.idl (AlarmNotify): Removed the ::die()
+ method. The alarm daemon now handles termination via the session
+ manager's commands.
+
+ * gui/alarm-notify/notify-main.c (set_session_parameters): New
+ function, sets some parameters so that the session manager can
+ restart the daemon via the evolution-alarm-client program. Also,
+ sets up the "die" signal so that the daemon can terminate when the
+ session ends.
+ (load_calendars): New function to load the calendars on startup.
+ (main): Set the session parameters. Load the calendars on startup.
+
+ * gui/alarm-notify/alarm-notify.c (alarm_notify_add_calendar): New
+ function, moved over from the impl_ function. Added a
+ load_afterwards argument to indicate whether the calendar should
+ just be loaded or if it should also be added to the list of
+ calendars to load on startup.
+ (AlarmNotify_addCalendar): Use alarm_notify_add_calendar().
+ (AlarmNotify_removeCalendar): Remove the calendar from the list of
+ calendars to load on startup.
+
+ * gui/alarm-notify/save.c (save_calendars_to_load): New function,
+ saves a sequence of the URIs to load.
+ (get_calendars_to_load): New function, loads a sequence of
+ calendars to load.
+
+ * gui/alarm-notify/alarm.h: Removed stale prototype for alarm_init().
+
+ * gui/component-factory.c (remove_folder): Ask the alarm daemon to
+ stop monitoring alarms for the folder that is being deleted.
+
+2001-10-18 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+
+ * gui/e-meeting-time-sel-item.c
+ (e_meeting_time_selector_item_paint_day_top): use 12 or 24 hour
+ settings
+
+ * gui/e-meeting-time-sel.c: strings for 12 hour setting
+ (e_meeting_time_selector_construct): increase width slightly
+
+ * gui/e-meeting-time-sel.h: extern the new char array
+
+2001-10-18 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/cal-component.[ch] (cal_component_get_location):
+ (cal_component_set_location): new functions
+
+2001-10-18 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (process_callbacks): util routine to
+ handle calling back
+ (async_close): use above
+ (e_meeting_model_refresh_busy_periods): ditto
+
+2001-10-17 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (local_record_from_comp): translate
+ 1-5 priorites to 1-9 priorities better
+ (comp_from_remote_record): ditto
+
+2001-10-17 JP Rosevear <jpr@ximian.com>
+
+ * idl/evolution-calendar.idl: allow some decent exceptions
+
+2001-10-17 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/query.c (match_component): there may be cases when the backend
+ will return an invalid component from a valid UID (an UID returned
+ by the get_uids method), so don't abort if that's the case
+
+2001-10-15 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.glade: removed Help button. Do we have
+ any others?
+
+2001-10-15 Larry Ewing <lewing@ximian.com>
+
+ * gui/dialogs/comp-editor.c (set_icon_from_comp): remove warnings.
+
+2001-10-15 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (process_multi_day):
+ function to break up multi day events into single events for both
+ evo and the pilot and create new CalClientChange structures
+ (pre_sync): call above function, and adjust changed list if
+ necessary
+
+2001-10-15 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (is_all_day): util function
+ to determine if event is all day
+ (local_record_from_comp): use new util function
+ (comp_from_remote_record): kill use of deprecated time functions
+
+2001-10-13 Larry Ewing <lewing@ximian.com>
+
+ * gui/dialogs/comp-editor.c (real_edit_comp): call
+ set_icon_from_comp.
+ (set_icon_from_comp): set the window icon from the comp.
+ (make_icon_from_comp): get the icon path based on comp type.
+
+ * gui/dialogs/Makefile.am (iconsdir): EVOLUTION_ICONSDIR bits.
+
+2001-10-13 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-editor.c (task_editor_send_comp): send
+ cancellation comp if necessary
+
+2001-10-12 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/alarm-page.c: return fill_component success
+
+ * gui/dialogs/task-page.c: ditto
+
+ * gui/dialogs/task-details-page.c: ditto
+
+ * gui/dialogs/schedule-page.c: ditto
+
+ * gui/dialogs/recurrence-page.c: ditto
+
+ * gui/dialogs/event-page.c: ditto
+
+ * gui/dialogs/meeting-page.c: use e_notice instead of
+ duplicate_error
+ (meeting_page_get_cancel_comp): duh, deleted_attendees is an array
+ now
+ (meeting_page_fill_component): spew gui errors if there is no
+ organizer or no attendees, return success
+
+ * gui/dialogs/event-editor.c (event_editor_send_comp): always call
+ parent method and don't send the cancellation comp if the method
+ is publish
+ (refresh_meeting_cmd): use the orginal comp to refresh
+ (forward_cmd): prompt the user for the version they want to send
+ (current, original)
+
+ * gui/dialogs/task-editor.c (forward_cmd): as above
+ (refresh_task_cmd): ditto
+
+ * gui/dialogs/comp-editor-page.c
+ (comp_editor_page_fill_component): return boolean of whether the
+ component could be filled or not
+
+ * gui/dialogs/comp-editor-page.h: update proto
+
+ * gui/dialogs/comp-editor.c (prompt_to_save_changes): take a param
+ on whether to try and send or not
+ (comp_editor_get_current_comp): only fill component if its changed
+ (comp_editor_save_comp): prompt user as well
+
+ * gui/dialogs/comp-editor.h: change proto
+
+ * gui/itip-utils.c: replace error_dialog with e_notice
+ (comp_content_type): specify charset
+
+2001-10-11 Larry Ewing <lewing@ximian.com>
+
+ * gui/e-itip-control.c: large reworking of i18n tagging and now
+ uses gtk_html_stream write and U_ where appropriate. More to
+ come.
+
+2001-10-10 Larry Ewing <lewing@ximian.com>
+
+ * gui/e-itip-control.c (init): set the default character set to
+ utf-8.
+
+2001-10-10 Federico Mena Quintero <federico@ximian.com>
+
+ * pcs/cal-factory.c (lookup_backend): Return the original key in
+ the hash table if requested.
+ (backend_last_client_gone_cb): Use lookup_backend() so that we
+ have the URI mangling done for us.
+ (impl_CalFactory_open): The type should be GtkType *, not GtkType!
+
+2001-10-10 JP Rosevear <jpr@ximian.com>
+
+ * cal-client/cal-client.c (cal_set_mode_cb): remove unneeded
+ assertions
+
+2001-10-10 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-factory.c (add_uri): fix logic checks
+
+ * gui/dialogs/event-editor.c (event_editor_init): init the
+ exisiting_org boolean
+ (set_menu_sens): base sensitivity on existing_org boolean
+ (event_editor_edit_comp): set exisiting_org boolean
+
+ * gui/dialogs/task-editor.c: same as above
+
+ * gui/calendar-offline-handler.c (add_connection): handle the
+ protocol or host being unknown
+
+ * cal-util/cal-component.c (cal_component_has_organizer):
+ implement
+
+2001-10-09 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #884.
+
+ * gui/alarm-notify/save.[ch]: New files with functions to
+ save/load the last notification time.
+
+ * gui/alarm-notify/alarm-queue.c (alarm_trigger_cb): Save the last
+ notification time.
+ (alarm_queue_init): Load the last notification time when the
+ daemon is inited.
+ (alarm_queue_add_client): Load the alarms that we missed while the
+ alarm daemon was not running.
+ (cal_opened_cb): Likewise.
+
+ * gui/alarm-notify/Makefile.am (evolution_alarm_notify_SOURCES):
+ Added save.[ch] to the list of sources.
+
+2001-10-09 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (get_address): util function to get address
+ (itip_addresses_get_default): get only the default address
+ (itip_address_free): free single address
+ (itip_addresses_free): use above
+ (comp_limit_attendees): limit the number of attendees to one, the
+ user
+ (comp_sentby): set the sentby parameter if the user is not the
+ organizer
+ (comp_minimal): remove extraneous info for send (for refresh and
+ declinecounter)
+ (comp_compliant): remove all alarms, do various things to make the
+ components comply with itip spec based on method
+ (itip_send_comp): use comp_compliant method
+
+ * gui/itip-utils.h: new protos
+
+ * gui/e-itip-control.c: rescan the component when necessary
+ (get_next): don't get stuck in infinite loop if there are no
+ viewable components
+ (e_itip_control_set_data): if there are no viewable components,
+ spit an error message
+
+ * gui/dialogs/meeting-page.h: tidy
+
+ * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): use
+ organizer's cn if possible
+ (other_clicked_cb): no longer doing the sent by stuff directly,
+ hide more widgets
+
+ * pcs/query.c: use bonobo exception stuff
+
+ * cal-util/cal-component.c (cal_component_rescan): have the comp
+ rescan its libical component (for when you change things directly)
+ (free_icalcomponent): take a param on whether to free the
+ component or just clean up the mappings
+ (cal_component_has_attendees): util function
+
+ * cal-util/cal-component.h: new protos
+
+2001-10-09 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-factory.c (lookup_backend, add_backend): deal correctly with
+ URIs to be inserted into the hash table, so that we don't add the same
+ backend over and over because the URI strings were different (although
+ refering to the same backend)
+
+ * pcs/cal-backend-file.c (mail_account_*): moved to a common place
+ (cal_backend_file_open): check if "uristr != NULL" and not
+ "uri != NULL"
+
+ * pcs/cal-backend-util.c: moved to here
+
+ * gui/e-day-view.c: add missing header file
+
+2001-10-09 Dan Winship <danw@ximian.com>
+
+ * gui/e-meeting-model.c (process_free_busy_comp): Fix incorrect
+ variable name check.
+
+2001-10-03 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): refactor functionality into
+ several function
+ (comp_string): if we are publishing, empty the attendee list
+
+ * gui/dialogs/event-editor.c (schedule_meeting_cmd): when we
+ schedule a new meeting, mark the event editor as changed
+
+ * pcs/cal.c (cal_class_init): get correct parent class
+
+ * gui/dialogs/comp-editor.c (comp_editor_merge_ui): use the
+ generated ui component name
+
+2001-10-03 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/component-factory.c:
+ * gui/calendar-offline-handler.c:
+ * gui/comp-editor-factory.c: replace use of gnome_vfs_uri with e_uri
+
+ * gui/e-meeting-model.c (start_addressbook_server): make it return void,
+ since the return value does not mind
+
+ * pcs/cal.c:
+ * pcs/cal-factory.c:
+ * pcs/cal-backend.[ch]: don't use GnomeVFS for URI management
+
+ * pcs/cal-backend-file.c: ditto, only use GnomeVFS for internal
+ operations
+
+ * cal-client/cal-client.c (cal_client_open_calendar): don't CORBA_exception_free
+ before checking for exceptions
+
+2001-10-03 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/e-calendar-table.etspec: Added priorities to a bunch of
+ these columns. Fixes Ximian bug #7158.
+
+2001-10-03 Damon Chaplin <damon@ximian.com>
+
+ * gui/comp-util.c (cal_comp_util_add_exdate): save the EXDATE as a
+ DATE-TIME value, since we know the exact time. Fixes bug #11278.
+ (Before we were setting is_date, but icaltime_from_timet_with_zone()
+ didn't convert it properly. We need to figure out how to handle DATEs
+ when using time_t's.)
+
+ * gui/dialogs/recurrence-page.c (get_exception_string): use
+ e_time_format_date_and_time() so we show the time as well, if the
+ exception is a DATE-TIME value.
+
+ * cal-util/timeutil.c: removed time_add_month(), time_year_begin(),
+ time_month_begin() & time_week_begin() - old pre-timezone functions
+ which we no longer use.
+
+ * cal-util/cal-recur.c (cal_recur_from_icalproperty): set
+ ir.until.is_date to FALSE before converting to a time_t.
+ Hopefully fixes bug #5034.
+
+2001-10-02 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/comp-editor.c (setup_widgets): Use
+ `bonobo_ui_component_new_default()', not
+ `bonobo_ui_component_new()'.
+
+2001-10-02 JP Rosevear <jpr@ximian.com>
+
+ * cal-client/cal-query.c: use bonobo-exception to tidy
+
+2001-10-02 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (nth_weekday): handle -1 as
+ well
+ (comp_from_remote_record): fix monthly by day recurrences and
+ handle "last" day type
+
+2001-10-01 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/comp-editor.c (comp_editor_destroy): unref the page
+ objects here, instead of in close_dialog(). (This was fixed a while
+ ago, but accidentally reverted.) Fixes bug #7543.
+
+2001-10-01 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm-notify-dialog.c (alarm_notify_dialog):
+ Set the window state to sticky. Thanks to Peter Teichman for the
+ suggestion.
+
+2001-10-01 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp):
+ Convert the comp exceptions to the pilot record
+ (comp_from_remote_record): record exceptions on the desktop and
+ use time zone stuff on recurrence end date
+
+2001-10-01 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_compute_changes):
+ strdup the uid to avoid double free, write out only after
+ everything is done
+
+2001-10-01 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_open): don't use
+ gnome_vfs_uri_is_local on URIs created with
+ gnome_vfs_uri_new_private
+
+2001-09-28 Damon Chaplin <damon@ximian.com>
+
+ * gui/print.c (print_comp_item): use bound_text to print the summary,
+ so it wraps instead of being clipped to 1 line. Fixes part 3 of bug
+ #10285, I think.
+
+ * gui/dialogs/alarm-page.glade: left-aligned the Date/Time label.
+ Also set the width of the Summary & Date/Time labels to 10, and set
+ expand to TRUE, to make sure that the dialog doesn't keep getting
+ wider as the summary text on the main page gets longer. Could possibly
+ use an EClippedLabel here instead, so we get a '...' at the end if it
+ is clipped.
+
+ * gui/dialogs/recurrence-page.glade: changed Summary & Date/Time
+ widths as above.
+
+ * gui/print.c (print_calendar): use landscape mode for the month
+ preview.
+ (print_border_with_triangles): use EPSILON to account for floating
+ point errors. Hopefully fixes part 2b of bug #10285.
+
+2001-09-28 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp):
+ Handle the fields and category we don't sync by making sure we
+ don't overwrite them
+ (local_record_to_pilot_record): use local record category
+ (pre_sync): track db info
+
+ * conduits/calendar/calendar-conduit.h: db info field
+
+ * conduits/todo/todo-conduit.[hc]: same as above
+
+ * pcs/cal-backend-file.c
+ (cal_backend_file_compute_changes_foreach_key): create a dummy
+ component of the right type and strdup the uid
+ (cal_backend_file_compute_changes): sync the db hash after each
+ change and free the uid
+
+2001-09-28 JP Rosevear <jpr@ximian.com>
+
+ * cal-client/cal-client.c (cal_client_open_calendar): init the
+ execption rather than freeing it
+
+2001-09-28 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-client.c (cal_client_construct): use bonobo-exception
+ for exceptions
+ (cal_client_open_calendar): likewise
+
+2001-09-27 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/calendar-commands.c (pixmaps): Update pixmap menu paths;
+ /menu/ComponentToolsPlaceholder/Tools ->
+ /menu/Tools/ComponentPlaceholder .
+ * gui/tasks-control.c: Likewise.
+
+2001-09-27 Rodrigo Moya <rodrigo@ximian.com>
+
+ * idl/evolution-calendar.idl: added InvalidURI and UnsupportedMethod
+ exceptions to the CalFactory interface
+
+ * pcs/cal-factory.c (impl_CalFactory_open): raise InvalidURI exception on
+ URI errors and UnsupportedMethod when we don't support the method for
+ a given URI
+
+2001-09-26 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-client.c: added support for using multiple calendar
+ factories
+ (cal_client_uri_list): use the list of factories loaded for this
+ CalClient
+
+2001-09-26 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-calendar-table.c (date_compare_cb):
+ (percent_compare_cb):
+ (priority_compare_cb): added comparison functions for these special
+ cell types. But the date and percent ones don't work yet due to the
+ use of static text buffers for return cell values.
+ (e_calendar_table_init): added the comparison functions to the
+ ETableExtras. NOTE: task_compare_cb() never seems to be called.
+ I'm not sure why it is there.
+
+ * gui/e-calendar-table.etspec: set the comparison function names for
+ the date/percent/priority fields.
+
+ * cal-util/cal-util.c (cal_util_priority_to_string):
+ (cal_util_priority_from_string): new utility functions.
+
+ * gui/calendar-model.c (get_priority):
+ (set_priority): used above utility functions, and removed the warning
+ dialog which isn't useful now that the field isn't editable.
+
+ * gui/dialogs/event-page.c (times_updated): handle timezones and for
+ all-day events make sure it stays an all-day event after adjusting.
+ Fixes bugs #5945 and #10222.
+
+ * gui/calendar-commands.c (pixmaps): fixed the E_PIXMAP paths - the
+ edit items were moved beneath 'EditPlaceholder'. This gets rid of
+ those long Bonobo warnings! (and we get the icons back)
+
+ * gui/dialogs/comp-editor.c (pixmaps): removed the PrintPreview toolbar
+ icon, since it doesn't appear in the xml file. Gets rid of warning.
+
+ * gui/dialogs/event-page.c (notify_dates_changed): new function to
+ emit the notification signal when the dates are changed. It also
+ handles timezones now.
+
+ * gui/dialogs/comp-editor-page.h (CompEditorPageDates): used
+ CalComponentDateTime for start/end/due so we have the timezone as well
+ as the time.
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_dates): updated to get
+ the timezones as well as the times.
+ (comp_editor_free_dates): new function needed to free all the structs.
+
+ * gui/dialogs/recurrence-page.c (recurrence_page_set_dates): added call
+ to preview_recur() to make sure the preview gets updated.
+
+ * gui/dialogs/alarm-page.c (alarm_page_fill_widgets): free the
+ CompEditorPageDates struct after use.
+
+ * gui/tag-calendar.c (tag_calendar_by_comp): added 'comp_is_on_server'
+ argument. If FALSE, we try to use builtin timezones first. This is
+ needed for the recurrence page of the event editor, because the
+ timezones may not have been added to the server yet. This and the
+ changes to the notification stuff should fix bug #5034.
+
+ * gui/gnome-cal.c (dn_query_obj_updated_cb): call above
+ tag_calendar_by_comp() with TRUE since the events will be on the
+ server in this case.
+
+ * gui/e-day-view-layout.c:
+ * gui/e-day-view.c: made sure an event always takes up at least one
+ row, even when the start & end times are the same. Fixes bug #5944.
+ I don't know if we should try to also handle events with the end time
+ before the start time.
+
+ * gui/e-week-view.c (e_week_view_style_set): check that the small font
+ is actually smaller than the normal font. If it isn't, don't use it.
+ Hopefully fixes bug #6876.
+ (e_week_view_on_new_appointment): if only one day is selected, then
+ we set the initial time of the event to 1/2-hour from the start of the
+ working day, to differentiate 'New Appointment' from 'New All Day
+ Event'. Fixes bug #8892.
+
+ * gui/e-day-view.c (e_day_view_on_new_appointment): do the same as the
+ above.
+
+2001-09-26 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes the GUI part of bug #7892.
+
+ * gui/dialogs/alarm-page.c (get_alarm_duration_string): Return
+ NULL if the duration is zero.
+ (get_alarm_string): Handle duration of zero. Also, hopefully
+ make the strings be more l10n-friendly.
+
+ * gui/alarm-notify/alarm.c (alarm_ready_cb): I am a moron. Fix
+ reversed test.
+
+2001-09-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor.c (comp_editor_destroy): disconnect
+ signals first thing
+
+2001-09-26 Dan Winship <danw@ximian.com>
+
+ * gui/Makefile.am (evolution_calendar_LDFLAGS): Add
+ -export-dynamic to make glade custom widgets work on non-Linux.
+
+2001-09-26 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/cal-util.h: added CAL_MODE_INVALID to CalMode enum
+
+2001-09-26 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal.h: new proto
+
+ * pcs/cal.c (impl_Cal_set_mode): implement set mode method
+ (cal_class_init): set setMode function in epv
+ (cal_notify_mode): notify listener of mode change
+
+ * pcs/cal-factory.c (add_uri): deal with UriType renaming
+
+ * pcs/cal-backend.h: add new virtual methods and protos
+
+ * pcs/cal-backend.c (cal_backend_class_init): init new virtual
+ methods to null
+ (cal_backend_set_mode): sets mode
+ (cal_backend_get_mode): gets mode
+
+ * pcs/cal-backend-file.c (cal_backend_file_class_init): overide
+ get_mode and set_mode methods
+ (cal_backend_file_get_mode): return mode
+ (notify_mode): have listeners notified of the set mode call
+ (cal_backend_file_set_mode): set the mode by indicating not
+ supported
+
+ * cal-client/cal-listener.h: update proto
+
+ * cal-client/cal-listener.c (impl_notifyCalSetMode): implement set
+ mode callback
+ (cal_listener_construct): take set mode callback
+ (cal_listener_new): ditto
+
+ * cal-client/cal-client.h: update protos, add signal proto
+
+ * cal-client/cal-client.c (cal_client_class_init): add
+ cal_set_mode signal
+ (cal_set_mode_cb): handle set mode callback from listener
+ (cal_client_open_calendar): pass additional param to cal_listener_new
+ (cal_client_set_mode): wrapper to set the calendar mode
+
+ * idl/evolution-calendar.idl: make UriType into CalMode, add
+ SetModeStatus enum and notifyCalSetMode method to the listener
+
+ * gui/calendar-offline-handler.c (create_connection_list): fetch
+ the uri list ourselves
+ (impl_prepareForOffline): reflect param change of
+ create_connect_list
+ (update_offline): ditto
+ (backend_cal_set_mode): set mode call back
+ (backend_cal_opened): cal opened call back, set mode to local
+ (impl_goOffline): reflect UriType renaming
+
+ * cal-util/cal-util.h: rename UriType to CalMode
+
+2001-09-25 Federico Mena Quintero <federico@ximian.com>
+
+ Warning fixes courtesy of Chris Lahey <clahey@ximian.com>.
+
+ * gui/e-itip-control.c (write_html): Warning fixes. Also, don't
+ strdup() more than necessary.
+
+ * gui/e-meeting-time-sel.c (e_meeting_time_selector_refresh_cb):
+ Warning fixes.
+
+ * gui/itip-utils.c (itip_addresses_get): Warning fixes.
+
+ * gui/print.c (print_day_background): Warning fixes.
+
+ * gui/dialogs/alarm-options.c (alarm_to_aalarm_widgets): Warning
+ fixes.
+ (alarm_to_palarm_widgets): Likewise.
+
+ * gui/dialogs/delete-comp.c: #include "../calendar-config.h"
+
+2001-09-25 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm.c (alarm_ready_cb): Check that the
+ timeout is not set up before we create a new one; the alarm_fn
+ callback may cause the alarm system to re-enter and add a new
+ alarm. Fixes bug #10840.
+ (pop_alarm): Assert that there is at least one alarm in the queue.
+
+2001-09-25 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal.c: use bonobo-exception stuff to clean code
+
+ * pcs/cal-factory.c (add_uri): add uri to the list if the type
+ matches
+ (impl_CalFactory_uriList): implement uriList method
+
+ * pcs/cal-backend.h: new virtual function member
+
+ * pcs/cal-backend.c (cal_backend_is_remote): call virtual function
+
+ * pcs/cal-backend-file.c (cal_backend_file_class_init): override
+ virtual function
+ (cal_backend_file_is_remote): new virtual function, always return
+ FALSE
+
+ * idl/evolution-calendar.idl: uriList factory call, with flags for
+ types to get
+
+ * gui/dialogs/comp-editor.c (comp_editor_destroy): cast to remove
+ warning
+
+ * gui/e-itip-control.c (write_label_piece): kill warnings by take
+ const char *
+
+ * gui/component-factory.c (create_object): aggregate offline
+ interface
+
+ * gui/Makefile.am: compile new files
+
+ * calobj.[hc]: Remove obsolete files
+
+ * cal-util/cal-util.h: enum URI types for uriList call
+
+ * cal-client/cal-client.c (build_uri_list): build list from string
+ sequence
+ (cal_client_uri_list): factory call to get uri list
+
+ * cal-client/cal-client.h: new proto
+
+ * cal-client/cal-client.c: use bonobo exception stuff to clean
+ code
+
+ * gui/calendar-offline-handler.[hc]: Start some skeleton routines
+ for online/offline handling
+
+ * pcs/cal-factory.c (launch_backend_for_uri): use accessor and
+ remove FIXME
+
+2001-09-23 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (set_date_label): base text on component
+ type
+
+2001-09-20 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/component-factory.c: don't use gnome_vfs_uri_new_private
+ (fixes Ximian #10544)
+
+2001-09-20 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/component-factory.c: #include a few files we were missing
+ from libgnomevfs.
+
+2001-09-20 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-backend-file.c (load_db): gets a config db
+ (cal_backend_file_destroy): release config db
+ (cal_backend_file_init): use load_db
+ (mail_account_get): gets a mail account by number
+ (mail_account_get_default): gets the default mail account
+ (mail_account_is_valid): looks to see if any accounts have the
+ given address
+ (create_user_free_busy): modularize so we can call multiple times
+ if necessary, set organizer
+ (cal_backend_file_get_free_busy): if the list of users is null,
+ use the default account otherwise get the same info for each
+ address that is an identity in the mailer
+
+ * gui/itip-utils.c (itip_addresses_get): s/gint/glong/ for bonobo
+ conf returns
+
+ * gui/calendar-commands.c (publish_freebusy_cmd): fix problems
+ from a merge so that we publish 6 weeks of free/busy information
+ again
+
+2001-09-20 Larry Ewing <lewing@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (recurrence_page_destroy): make
+ sure to release the ref on priv->comp.
+
+ * gui/dialogs/comp-editor.c (real_edit_comp): make sure to release
+ the ref on priv->comp.
+
+2001-09-19 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm-queue.c (audio_notification): Display a
+ notification message always, in addition to playing the sound.
+ (procedure_notification): Present a confirmation dialog before
+ actually running the alarm's program.
+ (procedure_notification): Use gnome_execute_shell() instead of
+ gnome_execute_async() so that we handle multiple arguments
+ properly. Plus, it is most likely what the user expects.
+ (mail_notification): Display a message about unsupported email
+ reminders instead of blindly dropping the alarm.
+
+ * gui/dialogs/alarm-options.glade: Added an explanatory message
+ about mail alarms not being supported.
+
+ * gui/dialogs/alarm-page.glade: Removed the "Send an email"
+ option.
+
+ * gui/dialogs/alarm-page.c (action_map): Removed CAL_ALARM_EMAIL.
+
+2001-09-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-editor.c (init_widgets): listen for model
+ changes
+ (task_editor_edit_comp): add the attendees to the model and notify
+ of need send
+ (row_count_changed_cb): mark as changed when row added/deleted
+ (model_row_changed_cb): mark as changed when row changes
+
+ * gui/dialogs/event-editor.c (init_widgets): listen for model
+ changes
+ (event_editor_init): flip page order
+ (event_editor_edit_comp): set needs send value
+ (schedule_meeting_cmd): flip page order
+ (row_count_changed_cb): mark as changed when row added/deleted
+ (model_row_changed_cb): mark as changed when row changes
+
+ * gui/dialogs/schedule-page.c: remove model change notification
+ stuff
+ (schedule_page_fill_widgets): no need to do the needs_send here
+ because the editor handles this since it owns the model
+
+ * gui/dialogs/event-editor.c (init_widgets): listen for model
+ changes
+ (event_editor_init): flip page order
+ (event_editor_edit_comp): set needs send value
+ (schedule_meeting_cmd): flip page order
+ (row_count_changed_cb): mark as changed when row added/deleted
+ (model_row_changed_cb): mark as changed when row changes
+
+ * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): no need
+ to do the needs_send here because the editor handles this since it
+ owns the model
+ (invite_entry_changed): ditto
+
+ * gui/dialogs/comp-editor.c (comp_editor_set_changed): new
+ accessor
+ (comp_editor_get_changed): ditto
+ (comp_editor_set_needs_send): ditto
+ (comp_editor_get_needs_send): ditto
+
+ * gui/dialogs/comp-editor.h: new protos
+
+ * gui/itip-utils.c (itip_addresses_get): reflect configuration
+ path changes in the mailer
+
+ * gui/e-meeting-model.c: remove commented out code, ifdef one
+ section for later
+
+2001-09-19 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-factory.c (cal_factory_oaf_register): add a new parameter
+ (const char *iid) to specify the OAFIID of the factory being
+ registered
+
+2001-09-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-model.c (e_meeting_model_refresh_busy_periods):
+ remove silly debug #if 0
+
+ * gui/calendar-commands.c (publish_freebusy_cmd): g_list_free
+ rather than g_free
+
+ * gui/e-itip-control.c (write_html): eliminate code path that
+ caused double freed memory
+
+2001-09-18 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/schedule-page.*: A page that shows the meeting time
+ selector and free/busy data for attendees
+
+ * gui/dialogs/meeting-page.c: use the meeting model to track/edit
+ attendees, remove table value conversion routines and simple table
+ routines
+ (set_attendees): take a pointer array
+ (meeting_page_destroy): destroy the pointer array, save state
+ (meeting_page_init): new pointer array
+ (meeting_page_fill_widgets): don't null the deleted attendees
+ field
+ (popup_delegate_cb): array add
+ (popup_delete_cb): array add
+ (cleanup_attendees): iterate over the array to unref now
+ (meeting_page_fill_widgets): don't null out fields, no need to add
+ attendees here
+ (invite_entry_changed): use e_meeting_attendee routines
+ (popup_delegate_cb): ditto
+ (popup_delete_cb): ditto
+ (meeting_page_new): take new arg and pass it to construct
+ (meeting_page_construct): take new arg, use e-meeting-model
+ routines to construct table
+
+ * gui/dialogs/task-editor.c (task_editor_init): new meeting model
+ (task_editor_destroy): unref the model
+
+ * gui/dialogs/event-editor.c (event_editor_init): make new model
+ and pass it to meeting and schedule pages
+ (event_editor_set_cal_client): virtual function, set meeting model
+ client
+ (event_editor_edit_comp): add the attendees to the model
+ (event_editor_destroy): unref model
+
+ * gui/dialogs/comp-editor.h: add virtual function
+ * gui/dialogs/comp-editor.c (comp_editor_set_cal_client): make
+ set_cal_client a virutal function
+
+ * gui/e-meeting-types.h: generally useful type defines
+
+ * gui/e-meeting-time-sel*.[hc]: Move here and use an e-table for
+ the attendee list and extract display information from the new
+ meeting model and attendees
+
+ * gui/e-meeting-time-sel.etspec: spec for the table
+
+ * gui/e-meeting-attendee.[hc]: meeting attendees for the model,
+ with to/from conversions for CalComponentAttendee structure, emits
+ changed signal and allows getting and setting of free busy
+ periods
+
+ * gui/e-meeting-model.[hc]: move the model out on its own
+
+ * gui/e-itip-control.c (write_error_html): clean up warnings
+
+2001-09-18 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #6350.
+
+ * gui/component-factory.c (remove_folder): Use a simplified method
+ for removing our folder data; we just need to remove calendar.ics
+ or tasks.ics and the corresponding backup files.
+
+2001-09-18 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #2830.
+
+ * gui/calendar-config.c (calendar_config_get_confirm_delete): New
+ function.
+ (calendar_config_set_confirm_delete): New function.
+ (config_read): Get the default value for the ConfirmDelete option.
+ (calendar_config_write): Set the value of ConfirmDelete.
+
+ * gui/dialogs/delete-comp.c (delete_component_dialog): Handle the
+ configuration option for confirmation.
+
+ * gui/dialogs/cal-prefs-dialog.c (CalPrefsDialogPrivate): Added
+ the fields for the Other page.
+ (get_widgets): Handle the new widgets.
+ (cal_prefs_dialog_show_config): Likewise.
+ (cal_prefs_dialog_update_config): Likewise.
+
+2001-09-18 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-client-multi.[ch]: new class for managing multiple
+ calendars, with an API very similar to the CalClient one,
+ for ease of transition from one to the other
+
+ * gui/component-factory.c (xfer_folder, remove_folder, create_folder):
+ reworked to be able to manage folders for any calendar backend, and
+ not only the file: one
+
+2001-09-18 Rodrigo Moya <rodrigo@ximian.com>
+
+ * idl/evolution-calendar.idl: changed signature for the getFreeBusy
+ method, to return a sequence of CalObj's, and added sequence of users
+ as a new parameter to that method
+
+ * cal-client/cal-client.c (cal_client_get_free_busy): adapted to new
+ IDL method signature, by adding a new "GList *users" parameter, for
+ callers to be able to specify a list of users
+
+ * pcs/cal-backend.[ch] (cal_backend_get_free_busy):
+ * pcs/cal-backend-file.c (cal_backend_file_get_free_busy): add the
+ "GList *users" parameter. In cal_backend_file_get_free_busy, call
+ lookup_component to get the CalComponent for each uid, instead
+ of calling cal_backend_get_object, which meant converting the
+ component to a string and then parsing it again.
+
+ * cal-client/client-test.c (cal_opened_cb):
+ * gui/e-itip-control.c (send_freebusy):
+ * gui/calendar-commands.c (publish_freebusy_cmd): adapted to
+ new getFreeBusy method signature
+
+2001-09-17 Damon Chaplin <damon@ximian.com>
+
+ * gui/calendar-model.c: added a timeout to refresh the list every
+ 10 minutes. Not ideal, as the user may be editing a task when it gets
+ refreshed.
+ (adjust_query_sexp): use the 'completed-before?' operator to filter
+ out tasks according to the config settings.
+
+ * gui/dialogs/task-details-page.c (task_details_page_fill_widgets):
+ added support for the 'Completed' date. This code must have got lost
+ somewhere, as it used to work.
+ (date_changed_cb): set the priv->updating flag while updating the other
+ widgets.
+
+ * pcs/cal-backend-file.c (cal_backend_file_update_objects): made sure
+ we freed the components.
+
+ * pcs/query.c (func_completed_before): added 'completed-before?'
+ operator.
+
+ * gui/calendar-config.c (calendar_config_configure_e_cell_date_edit):
+ don't set the lower & upper hour. Use 0-24 like the EDateEdit does.
+
+ * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config): set
+ the 12/24-hour time format options sensitive only if we support both.
+
+ * gui/calendar-config.c (config_read): if the locale doesn't define
+ 'am' and 'pm' strings then we must use 24-hour format.
+
+ * gui/calendar-commands.c (calendar_set_folder_bar_label): don't
+ translate the '%d' as it doesn't make much sense. Resolves bug #8027.
+
+2001-09-17 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/component-factory.c (owner_set_cb): Do not call
+ calendar_config_init() here.
+
+ * gui/main.c (main): Call calendar_config_init() here.
+
+2001-09-17 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm.c (queue_alarm): Duh, only setup the
+ timeout if the list was empty.
+ (alarm_ready_cb): Notify with the ID of the original alarm.
+ (alarm_remove): Likewise.
+
+2001-09-17 Federico Mena Quintero <federico@ximian.com>
+
+ Switch the alarm system from using SIGALRM to normal glib timers.
+ Also, use a more robust de-queueing mechanism.
+
+ * gui/alarm-notify/alarm.c (alarm_init): Removed.
+ (alarm_done): Remove the glib timeout instead of closing the pipes
+ and the signal handler.
+ (alarm_add): Allow adding alarms that happen before right now.
+ (queue_alarm): Use a glib timer instead of a signal.
+ (alarm_remove): Adjust the timeout as appropriate.
+
+ * gui/alarm-notify/notify-main.c (main): There is no need to
+ initialize the alarm system now.
+
+ * gui/main.c (main): Likewise.
+
+2001-09-17 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-model.c (calendar_model_init): get itip addresses
+ (calendar_model_destroy): destroy same
+ (calendar_model_value_at): do more thorough checking on whether to
+ use recurring, assigned, assigned to or regular task icons
+
+2001-09-17 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-component.c (for_each_remove_all_alarms): for each
+ call back, removes the alarms
+ (cal_component_remove_all_alarms): remove all alarms from the
+ component
+
+ * cal-util/cal-component.h: new proto
+
+ * gui/e-itip-control.c (write_error_html): writes error messages
+ rather than normal html
+
+ * gui/itip-utils.c (itip_send_comp): remove all alarms if the
+ method warrants it
+
+2001-09-16 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/dialogs/meeting-page.c (build_etable): Updated this to match
+ the new ETableSimple interface.
+
+2001-09-14 Ettore Perazzoli <ettore@ximian.com>
+
+ [Automake 1.5 fixes pointed out by Richard Boulton
+ <richard@tartarus.org>, as per #9258.]
+
+ * cal-client/Makefile.am: Set CLEANFILES directly instead of using
+ `+='.
+ * gui/Makefile.am: Likewise.
+ * gui/alarm-notify/Makefile.am: Likewise.
+ * pcs/Makefile.am: Likewise.
+
+2001-09-14 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-itip-control.c (ok_clicked_cb): added space after 'identities'
+ in the message. Fixes bug #9896.
+
+2001-09-14 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/e-calendar.conduit.in: remove translation
+ marker for now
+
+2001-09-13 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-component.h: use ical partstat, role, cutypes
+ directly
+
+ * cal-util/cal-component.c: ditto
+
+ * gui/e-itip-control.c (find_my_address): set my addresses if the
+ addresses match
+ (find_attendee): strstr returns non-null on a match
+ (write_html): use new icon, select the name displayed (organizer
+ or attendee) based on method,
+ (ok_clicked_cb): when rsvp'ing strip off all but the attendee
+ being replied for as is specified in the spec
+ (find_attendee_partstat): new util function to extract the
+ partstat of an attendee
+ (update_attendee_status): updates the partstat of a specific
+ attendee in the reply message
+
+ * gui/dialogs/meeting-page.c: use ical partstat, role, cutypes
+ directly
+ (popup_delegate_cb): if we delegate, notify of needs send and
+ changed
+ (popup_delete_cb): notify of needs send and changed for each
+ deletion
+
+2001-09-12 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-commands.c (publish_freebusy_cmd): send 6 weeks of
+ free busy info starting with the UTC start of day
+
+ * gui/itip-utils.c (get_label): create a text representation of
+ the given icaltime
+ (itip_send_comp): if the summary is empty, set the subject based
+ on the type of component, put the right extension on free/busy
+ components and base descriptions on type of component, include
+ start/end for free/busy info
+
+2001-09-11 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm-queue.c (display_notification): Added an
+ use_description argument so that other alarms can fall back to
+ this type.
+ (audio_notification): Implemented.
+ (remove_comp): Call remove_queued_alarm() here; there is no longer
+ a destroy notification function for alarms so must we do this
+ manually.
+ (alarm_trigger_cb): Do not pass the alarm to the notification
+ functions so that we can free it ourselves before all the alarms
+ in the component get freed.
+ (display_notification): Get the alarm here instead of getting it
+ as an argument.
+ (procedure_notification): Implemented.
+
+2001-09-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (invite_entry_changed): free the
+ destination vector when we finish with it, if we actually add
+ anyone, notify listeners of the needs send and changed info. Fixes
+ bug #8632.
+
+2001-09-10 Zbigniew Chyla <cyba@gnome.pl>
+
+ * gui/print.c
+ (format_date): Convert string generated by strftime to UTF-8.
+ (print_week_view_background): Ditto.
+ (print_month_summary): Ditto.
+ (print_month_small): Use U_() instead of _().
+ (print_day_background): Ditto.
+ (print_todo_details): Ditto.
+ (print_date_label): Convert generated string to UTF-8.
+
+2001-09-10 Federico Mena Quintero <federico@ximian.com>
+
+ * cal-util/cal-component.c (cal_component_alarm_get_attach):
+ Handle the new icalattach type instead of struct icalattachtype.
+ (cal_component_alarm_set_attach): Likewise.
+
+ * gui/dialogs/alarm-options.c (alarm_to_aalarm_widgets): Likewise.
+ (alarm_to_palarm_widgets): Likewise.
+ (aalarm_widgets_to_alarm): Likewise.
+ (palarm_widgets_to_alarm): Likewise.
+
+2001-09-05 Ettore Perazzoli <ettore@ximian.com>
+
+ [Fix #958, ShellComponents should not be created by factories, for
+ the calendar.]
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: Remove the
+ ShellComponentFactory.
+
+ * gui/component-factory.c (create_object): Renamed from
+ `component_fn'. Don't get any args.
+ (component_factory_init): Create the component using
+ `create_object()' and register it into OAF.
+ (COMPONENT_FACTORY_ID): Removed.
+ (COMPONENT_ID): New.
+
+2001-09-04 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/component-factory.c (sc_user_create_new_item_cb):
+ Implemented.
+
+ * gui/main.c (component_editor_factory_init): New function to
+ create the factory for the comp_editor_factory.
+
+ * gui/comp-editor-factory.c: Finished implementation.
+
+ * gui/alarm-notify/alarm-queue.c (edit_component): Implemented the
+ Edit command.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ comp-editor-factory.[ch] to the list of sources.
+
+2001-09-03 Damon Chaplin <damon@ximian.com>
+
+ * gui/calendar-commands.c (calendar_control_activate):
+ * gui/tasks-control.c (tasks_control_activate): don't call
+ calendar_config_check_timezone_set() now, since the startup wizard
+ handles that.
+
+ * gui/e-tasks.c (e_tasks_class_init): changed selection_changed signal
+ to GTK_RUN_LAST. It has no reason to be GTK_RUN_FIRST.
+
+ * gui/gnome-cal.c:
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: added "selection_changed" signal,
+ XX_delete_event() and XX_get_num_events_selected().
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw): fix the shadow
+ around the dates at the top - it was 1 pixel off.
+
+ * gui/calendar-commands.c: added sensitize_commands(), similar to in
+ tasks-control.c, so we only make Cut/Copy/Delete sensitive when an
+ event is selected. Also added delete_event_cmd().
+
+ * gui/dialogs/task-page.c (task_page_set_summary):
+ * gui/dialogs/event-page.c (event_page_set_summary): do nothing,
+ since the summary only gets changed on the main event/task page now.
+ Fixes bug #6939.
+
+ * gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received):
+ (e_day_view_on_top_canvas_drag_data_received): check that we are
+ dragging an event from the same EDayView. We currently don't support
+ DnD from other widgets.
+ (e_day_view_update_top_canvas_drag): only get the summary if we
+ actually have an event. Fixes bug #5162.
+
+ * gui/e-day-view.c (e_day_view_on_editing_stopped): if the text hasn't
+ changed we need to call e_day_view_update_event_label() to show the
+ times again if necessary. Fixes bug #1813.
+
+ * gui/dialogs/comp-editor.c (comp_editor_destroy): destroy the
+ CompEditorPage objects here rather than in close_dialog(), after the
+ widgets have been destroyed. We do this because the widgets have lots
+ of signal handlers connected with the CompEditorPage objects as the
+ signal data, so we want to ensure that the data pointer is always
+ valid. (Alternatively we could disconnect all the handlers when the
+ CompEditorPage objects are destroyed, or use connect_while_alive()).
+ Fixes bug #7543.
+
+ Note: there is still a small bug in that if you type in a time and
+ then hit 'Save and Close', the time won't be saved. I'm not sure
+ where this should be fixed - should the actions which close the
+ dialog grab the focus to the toplevel, so any widgets currently
+ being edited finish the edit and emit 'changed'?
+
+ * gui/dialogs/recurrence-page.c (append_exception): use
+ gtk_clist_set_row_data_full() so freeing is handled automatically by
+ the GtkClist. This helps avoid problems at destroy-time.
+ (exception_delete_cb): just call gtk_clist_remove() now. No need to
+ free the row data as GtkCList now handles it.
+ (recurrence_page_destroy): no need to free the data in the clist.
+
+ * gui/dialogs/alarm-page.c: ditto.
+
+ * gui/dialogs/meeting-page.c: ditto.
+ (etable_destroy_cb): save the ETable state in this new handler cb
+ rather than in the destroy method, since the widget will already be
+ destroyed by then.
+
+2001-08-31 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-itip-control.c: changed 3 occurrences of 'Replyed' to 'replied'
+
+2001-08-31 Zbigniew Chyla <cyba@gnome.pl>
+
+ * gui/e-itip-control.c (write_html):
+ Marked strings for translation (with U_).
+
+ * gui/itip-utils.c (itip_send_comp):
+ Ditto.
+
+2001-08-31 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_contacts_to_widget):
+ (comp_editor_contacts_to_component): fix debugging messages so they
+ use "" rather than NULL. Fixes bug #8559.
+
+2001-08-29 Federico Mena Quintero <federico@ximian.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_remove_object): See if
+ the set of categories changed by using the removed_categories hash
+ table.
+ (cal_backend_file_init): Create a table of removed categories.
+ This allows us to notify if and only if the set of category
+ changes when an object is updated/removed, instead of
+ unconditionally notifying if an object is updated.
+ (cal_backend_file_update_objects): Only notify if the set of
+ categories really changed.
+ (update_categories_from_comp): Shuffle the categories between the
+ priv->categories and priv->removed_categories lists.
+
+2001-08-28 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #7879, a query may receive an update notification from
+ the backend before the query itself gets populated.
+
+ * pcs/query.c (ensure_sexp): New function; ensures that the esexp
+ is created and notifies of parse errors. It is the bulk of
+ start_query_cb() but put in a separate function so that we can
+ share it elsewhere.
+ (start_query_cb): Use ensure_sexp().
+ (process_component_cb): Oops, notify of a successfully finished
+ query.
+ (match_component): Call ensure_sexp(). This function can be
+ called by the backend notification callbacks before the query is
+ populated, so we need to make sure the esexp exists here.
+
+2001-08-22 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/cal-search-bar.c (cal_search_bar_construct): Set the
+ "category is" criterion as the default for the calendar and tasks.
+
+2001-08-22 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (recurrence_page_fill_widgets):
+ Unset the priv->updating flag before returning in the case the
+ component has no recurrence information. Fixes bug #6850.
+
+2001-08-22 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm-queue.c (QueuedAlarm): Added a snooze
+ flag to differentiate snoozed alarms from real occurrences.
+ (add_component_alarms): Do not specify a destroy function for the
+ alarm trigger. We handle this in the callbacks now.
+ (alarm_trigger_cb): Just remove the alarms for the unimplemented
+ notification types.
+ (create_snooze): Implemented snooze.
+ (notify_dialog_cb): Snooze as appropriate.
+
+2001-08-22 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (foreach_tzid_callback): call back to add
+ timezones to the top level
+ (itip_send_comp): call icalcomponent_foreach_tzid
+
+2001-08-22 Dan Winship <danw@ximian.com>
+
+ * gui/gnome-cal.c: #include <libgnomevfs/gnome-vfs-types.h> so
+ this will compile against gnome-vfs 1.0.1.
+
+2001-08-22 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_open): open the tasks folder
+ associated with the calendar being opened, and not always the local
+ tasks.ics file
+
+ * pcs/cal-factory.c (open_fn): use gnome_vfs_uri_new_private when
+ parsing the URI to allow non-registered URIs
+
+2001-08-21 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/alarm-options.c (alarm_to_palarm_widgets): Handle
+ the case where there is no attachment. Fixes bug #7257.
+
+2001-08-21 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (write_html): strip the mailto bit for the
+ email address if we display it
+
+2001-08-21 Damon Chaplin <damon@ximian.com>
+
+ * pcs/query.c (func_is_completed): added new e-sexp operator. We
+ don't currently use it though.
+
+ * gui/dialogs/cal-prefs-dialog.glade: Changed '_Overdue' to 'O_verdue'
+ since we have an '_Other' notebook tab. Added '_Hide' accel.
+
+ * gui/dialogs/cal-prefs-dialog.c: hooked up config options to dialog.
+
+ * gui/calendar-config.c: added config options for hiding completed
+ tasks.
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw):
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
+ * gui/e-day-view.c (e_day_view_reshape_long_event): added 2 pixels
+ extra space between icons and text for long events, and 1 pixel space
+ between icons in all events.
+ (e_day_view_realize): changed the background color to match the
+ EGrayBar in the shell.
+
+2001-08-21 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-util.[ch]: new files to contain utility functions
+ for calendar backends
+
+ * pcs/cal-backend.c (cal_backend_add_cal): implement it here, and not in
+ the calendar backends. Add a "cal_added" signal, so that backends are
+ notified when a new Cal is added, if they need to
+ (cal_backend_get_type_by_uid): implement it here
+
+ * pcs/cal-backend-file.c (fill_alarm_instances_seq): moved to
+ cal-backend-util.c
+ (cal_backend_file_add_cal): removed
+ (cal_backend_file_init): connect to the "cal_added" signal in the
+ CalBackend class so that we can update categories when a new Cal is
+ added
+ (cal_backend_file_get_type_by_uid): removed
+
+ * pcs/cal-backend-db.c (fill_alarm_instances_seq): moved to
+ cal-backend-util.c
+ (cal_backend_db_add_cal): removed
+ (cal_backend_db_get_type_by_uid): removed
+
+ * AUTHORS: added JP and Damon to list of authors
+
+2001-08-20 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-util/cal-util.[ch] (cal_util_generate_alarms_for_list):
+ (cal_util_generate_alarms_for_comp):
+ new functions moved from the CalBackendFile, to allow its use outside
+ of it. The signature has changed a little bit, since these functions
+ need a way to get the timezones from the callers, so a callback
+ function to resolve the timezones has been added to the list of
+ parameters
+
+ * pcs/cal-backend-file.c (generate_alarms_for_list):
+ (generate_alarms_for_comp): moved to cal-util, with all their related
+ functions/structures
+
+ * pcs/cal-backend-db.c: removed functions that were moved to cal-util
+
+2001-08-20 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/comp-editor.c (pixmaps): use Delete icon in menu, and
+ change to bigger Save icon in toolbar.
+
+ * gui/tasks-control.c:
+ * gui/calendar-commands.c (pixmaps): used new_task-16.png and
+ goto-16.png.
+
+2001-08-20 Damon Chaplin <damon@ximian.com>
+
+ * gui/calendar-commands.c (pixmaps): added delete icons for menu
+ and toolbar.
+
+2001-08-20 Damon Chaplin <damon@ximian.com>
+
+ * gui/tasks-control.c: added Cut/Copy/Paste icons for toolbar.
+
+2001-08-20 Damon Chaplin <damon@ximian.com>
+
+ * gui/tasks-control.c: uses new delete icons in menu & toolbar.
+
+2001-08-19 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c: Update the folder list to include a
+ display name and a description.
+
+2001-08-20 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/comp-editor.c (pixmaps): use new delete icon for toolbar.
+
+2001-08-19 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-itip-control.c: fixed typo, 'send' -> 'sent'. Bug #7621.
+
+2001-08-18 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.glade: added option to hide completed
+ tasks after a given number of minutes/hours/days. Unfinished.
+
+ * gui/dialogs/event-page.c (event_page_fill_component): initialize
+ zone to NULL to avoid a warning.
+ (contacts_clicked_cb): work around a bug in SelectNames by notifying
+ that the page has changed when you click the 'Contacts' button.
+ Otherwise it is easy to lose changes.
+
+ * gui/dialogs/task-page.c (contacts_clicked_cb): ditto.
+
+2001-08-18 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/comp-editor.c (pixmaps): used new Save/Save As icons.
+
+ * gui/tasks-control.c:
+ * gui/calendar-commands.c (pixmaps): added new Cut/Copy/Paste icons,
+ and changed the 'New Task' icon to use the bigger one I made.
+
+2001-08-05 Zbigniew Chyla <cyba@gnome.pl>
+
+ * gui/dialogs/task-page.c (summary_changed_cb):
+ Use e_dialog_editable_get instead of gtk_editable_get_chars (we need
+ UTF-8 string).
+
+2001-08-18 Zbigniew Chyla <cyba@gnome.pl>
+
+ * gui/calendar-config.c (locale_uses_24h_time_format): New.
+ (config_read): Use locale's setting as default for
+ /Calendar/Display/Use24HourFormat so that Europeans don't have to
+ switch to 24-hour format manually.
+
+2001-08-17 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (destroy): destroy the addresses
+ (clean_up): don't free the addresses, we need them
+
+2001-08-17 Damon Chaplin <damon@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_new_task): new function to open the
+ task editor to add a new task.
+
+ * gui/calendar-commands.c: added new_task_cb() to create a new task
+ in the calendar folder, and added menu commands for it, and a toolbar
+ button (I think that is what Ettore wanted. Maybe he just meant menu
+ commands. Anyway, it is easy to take out.) Note that we don't have a
+ decent icon for 'New Task' for the toolbar.
+ Also added the new Goto button (but we don't have a similar one for
+ the menu command).
+
+2001-08-16 Iain Holmes <iain@ximian.com>
+
+ * gui/Makefile.am: Add the libetimezonedialog.a lib link
+
+ * gui/calendar-config.c: Change the #include for the timezone dialog
+
+ * gui/e-timezone-entry.c: Ditto.
+
+ * gui/dialogs/Makefile.am: Remove the e-timezone-dialog stuff.
+
+2001-08-16 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/event-page.c: hide the timezone fields for all-day
+ events. We will use DATE values for these eventually, and these
+ don't have timezones associated with them. Currently we just use the
+ default timezone for all-day events, as a workaround until we have
+ DATE values working.
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_new_date_edit): added
+ make_time_insensitive flag. Though we may not use it.
+
+ * gui/dialogs/event-page.glade: made the 'All day event' toggle
+ right-aligned, so it doesn't move when the other widgets are shown
+ and hidden.
+
+ * gui/e-timezone-entry.c (e_timezone_entry_set_default_timezone): new
+ function to set the default timezone of the widget. If the current
+ timezone setting matches the default then the entry field is hidden.
+ Most people won't use timezones so this makes the GUI simpler.
+
+ * gui/dialogs/event-page.c (init_widgets):
+ * gui/dialogs/task-page.c (init_widgets): set the default timezone
+ using the above function.
+
+ * gui/dialogs/task-page.c (task_page_fill_widgets): if the start date
+ or due date is not set, we use the default timezone, so the user
+ doesn't have to set this each time they set the date.
+
+2001-08-16 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/alarm-page.c (alarm_page_fill_widgets): If the
+ component has no alarms remember to set the priv->updating flag to
+ FALSE before returning.
+
+2001-08-16 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/e-delegate-dialog.c
+ (e_delegate_dialog_get_delegate_name): get the destinations
+ property, not the text property
+
+2001-08-16 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/alarm-page.c (clear_widgets): Set the default-to-add
+ notification to be display a message 15 minutes before the start
+ of the appointment. Fixes bug #7175.
+
+2001-08-16 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_strip_categories):
+ New function to strip surrounding whitespace from a string of
+ categories entered by the user.
+
+ * gui/dialogs/task-page.c (task_page_fill_component): Use
+ comp_editor_strip_categories().
+
+ * gui/dialogs/event-page.c (event_page_fill_component): Likewise.
+
+2001-08-16 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-config.c (calendar_config_configure_e_date_edit):
+ Do not set the time popup range. We also want to be able to
+ create appointments that are not within nine-to-five! Think of
+ going to the movies! Fixes bug #7436.
+
+ * gui/dialogs/cal-prefs-dialog.glade: "am/pm" is now "AM/PM".
+ Fixes bug #7367.
+
+2001-08-16 Jon Trowbridge <trow@ximian.com>
+
+ * gui/cal-search-bar.c: Changed to reflect my renaming of some of
+ the more hideously-named functions in the ESearchBar API.
+
+2001-08-15 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor.c (save_comp): only fill the component
+ and save it if something has changed
+ (save_comp_with_send): only try to send if something has changed
+ and the editor needs a send
+
+2001-08-15 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.glade: OK, re-added the default
+ alarm options. Way too many people are asking for them.
+
+2001-08-15 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/component-factory.c (factory_fn): Add the user creatable
+ items. The callback is not actually implemented yet; this is just
+ to finalize the GUI.
+
+ * gui/dialogs/cal-prefs-dialog.glade: Added an option to ask for
+ confirmation when deleting items. Added underlined shortcuts
+ (they may not all work currently).
+
+2001-08-14 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/task-page.c:
+ * gui/dialogs/event-page.c: added support for the Contacts field.
+ Note that I'm not sure what we should put in the iCalendar CONTACT
+ properties. Currently we put "name <email>", but it isn't recognized
+ as a contact when we reopen the dialog, so we may need more info here.
+ Also we currently use a simple parser to parse the above format, and
+ we should maybe use some camel function.
+
+ * gui/dialogs/task-page.glade:
+ * gui/dialogs/event-page.glade: replaced the GtkEntry fields for the
+ Contacts with a GtkEventBox which we put the BonoboControl in at
+ runtime.
+
+ * gui/dialogs/meeting-page.c (invite_entry_changed): added FIXMEs
+ since it doesn't seem to be freeing the EDestination stuff. JP?
+
+ * gui/dialogs/comp-editor-util.c: added bunch of utility functions to
+ handle the Contacts field in the main Event and Task pages.
+
+ * gui/gnome-cal.c: added visible_start and visible_end fields, so we
+ only emit the 'dates-shown-changed' signal when really necessary.
+ Currently changing the folder title bar label results in a complete
+ redraw of the Evolution window (silly GtkLabel queueing a resize),
+ so we want to avoid that as much as possible.
+ (gnome_calendar_new_appointment_for): only move the event's end time
+ to the end of the day if it is not already 00:00:00.
+
+ * gui/e-week-view-event-item.c:
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: added support for double-clicking on an event to
+ open it, and for double-clicking on the background to create a new
+ event. There is still a minor problem to sort out, but it basically
+ works.
+
+ * cal-util/cal-component.c: added support for CONTACT properties,
+ mainly by copying the code for COMMENT properties which are exactly
+ the same type.
+
+ * gui/e-day-view.c (e_day_view_realize): use the same color for the
+ top canvas background as the shortcut bar, to make it look a little
+ nicer (I think). Although we still have the theme problem with
+ hard-coded colors.
+
+2001-08-14 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-calendar-table.etspec: Made the click-to-add message
+ shorter. Fixes bug #7177.
+
+2001-08-14 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-commands.c (pixmaps): Added Tigert's new icons for
+ Prev and Next.
+
+2001-08-14 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/cal-search-bar.c (make_suboptions): Make the "Any Category"
+ item consistent with the one in the addressbook. Also, free the
+ items correctly.
+
+2001-08-14 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/cal-search-bar.c (get_current_category): Handle an array of
+ categories in the CalSearchBar instead of our own menu items.
+ (notify_query_contains): Fetch the text from the search bar here
+ instead of in regen_query().
+ (regen_query): Handle category searches.
+ (notify_category_is): New function.
+ (cal_search_bar_construct): Do not create an option menu.
+ (make_suboptions): New function to create the suboption items from
+ the list of categories.
+ (notify_query_contains): Do not include a category sexp here.
+
+2001-08-13 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (update_item): add dialog for feedback
+ (remove_item): ditto
+ (send_item): ditto
+ (send_freebusy): ditto
+
+2001-08-13 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c: rewrite the gui to use gtkhtml
+
+ * gui/Makefile.am: define the icon dir
+
+2001-08-12 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gui/e-itip-control.h: Remove #include <config.h> from here.
+ * gui/itip-utilss.h: Same here.
+
+2001-08-11 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/tasks-control.c: Update the paths of the Tools menu
+ according to the changes in the XML [i.e. things are moved to the
+ ComponentToolsPlaceholder].
+
+ * gui/calendar-commands.c: Likewise.
+
+2001-08-11 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/event-page.c (init_widgets):
+ * gui/dialogs/task-page.c (init_widgets): turn on word-wrap for the
+ description fields. Fixes bug #6821.
+
+2001-08-10 Jon Trowbridge <trow@ximian.com>
+
+ * gui/cal-search-bar.c: Where we have ESearchBarItems, set their
+ subitems to NULL.
+
+2001-08-09 Damon Chaplin <damon@ximian.com>
+
+ * pcs/cal-backend.c (cal_backend_get_object_component): added new
+ backend method to get the component given a UID.
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_object_component):
+ added implementation of above virtual method.
+
+ * pcs/query.c (match_component): use the new backend function to get
+ the CalComponent rather than the string. This avoids converting all
+ the calendar components to strings and parsing them back into
+ components for every query! (That wasn't a good idea, was it ;)
+
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: use a timeout handler to layout the events,
+ to avoid doing a layout for each event we get from a query.
+
+ * gui/print.c (print_day_add_event):
+ * gui/e-day-view.c (e_day_view_add_event): set start_row_or_col and
+ num_columns to 0. They are guint8's.
+
+ * gui/e-week-view.c (e_week_view_free_events): hide all the jump
+ buttons. Fixes bug #5946.
+
+ * gui/calendar-commands.c (calendar_set_folder_bar_label): added the
+ day numbers for the month view.
+
+ * gui/dialogs/recurrence-page.glade: changed "_Delete" to "_Remove",
+ since it clashed with "_Add". Also added underlined accelerators for
+ the recurrence radio buttons. Note that none of these accelerators
+ actually work at present, due to the way we are using .glade files
+ for each notebook page. I need to add a bug about this.
+ Also, the "_Action" menu doesn't popup when I press Alt+A, even though
+ the "_File" menu does popup when I press Alt+F. Strange.
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_timezone_object):
+ removed debug msgs.
+
+2001-08-09 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons):
+ unref the GdkPixmap and GdkBitmap returned by the function
+ e_categories_config_get_icon_for ()
+
+2001-08-09 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-page.*: Remove progress frame
+
+ * gui/dialogs/task-details-page.*: Put in progress frame, remove
+ basics frame
+
+ * gui/dialogs/task-editor.c (set_menu_sens): util function to set
+ menu sensitivity based on state
+ (task_editor_init): add meeting page
+ (task_editor_edit_comp): show page if necessary
+ (task_editor_destroy): unref meeting page
+ (assign_task_cmd): bring up meeting page
+ (refresh_task_cmd): save before sending
+ (forward_cmd): ditto
+
+ * gui/dialogs/comp-editor.c (save_cmd): implement new save command
+
+2001-08-09 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-itip-control.c (destroy): Chain to the destroy handler in
+ the parent class!
+
+ * gui/dialogs/comp-editor-page.c (comp_editor_page_destroy):
+ Likewise. Sigh.
+
+ * gui/cal-search-bar.c (cal_search_bar_destroy): Whoops, added a
+ destroy handler.
+
+2001-08-08 Damon Chaplin <damon@ximian.com>
+
+ * gui/goto-dialog.glade: removed underlined accelerator key from
+ "_Go To Today" button. GnomeDialog doesn't actually support underlined
+ accelerator keys for buttons. We could hack it, like Glade does, if
+ we really need to. Fixes bug #6418.
+
+2001-08-08 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-day-view.c (update_query): Stop editing any event. Fixes
+ bug #5949.
+
+2001-08-08 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/alarm-page.c (alarm_page_fill_component): Duuuh, set
+ the alarm_copy on the component, not the original alarm. Fixes
+ bug #5214.
+
+2001-08-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (set_attendees): set the attendees of
+ a component
+ (meeting_page_fill_component): use above
+ (meeting_page_get_cancel_comp): return a comp with the attendees
+ to be cancelled
+
+ * gui/dialogs/meeting-page.h: get a component that will be sent as
+ a cancellation
+
+ * gui/dialogs/event-editor.c (event_editor_class_init): override
+ send_comp class method
+ (event_editor_send_comp): send cancellation notices to deleted
+ attendees
+ (refresh_meeting_cmd): save before send
+ (forward_cmd): ditto
+
+ * gui/dialogs/comp-editor.c (comp_editor_class_init): set default
+ send_comp method
+ (real_send_comp): do the real work
+ (comp_editor_send_comp): call class method
+ (save_comp): don't do any sending
+ (save_comp_with_send): save and send here
+ (prompt_to_save_changes): use above
+ (save_close_cmd): ditto
+
+ * gui/dialogs/comp-editor.h: add virtual function
+
+2001-08-08 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-week-view-event-item.c
+ (e_week_view_event_item_draw_icons): don't use a NULL mask in the
+ call to gdk_gc_set_clip_mask
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
+ ditto
+
+ * gui/e-day-view-main-item.c
+ (e_day_view_main_item_draw_day_event): ditto
+
+2001-08-08 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit-config.h: fix pre-processor
+ macros
+
+ * conduits/calendar/calendar-conduit.h: ditto
+
+ * conduits/todo/todo-conduit-config.h: fix pre-processor macros
+
+ * conduits/todo/todo-conduit.h: ditto
+
+2001-08-07 Federico Mena Quintero <federico@ximian.com>
+
+ * cal-client/cal-listener.c (cal_listener_stop_notification): New
+ function to stop further notification from happening.
+ (impl_notifyCalOpened): Do not notify if requested.
+ (impl_notifyObjUpdated): Likewise.
+ (impl_notifyObjRemoved): Likewise.
+ (impl_notifyCategoriesChanged): Likewise.
+ (CalListenerPrivate): Do not keep a reference to the server-side
+ Cal. This would create a circular reference since the server
+ keeps a reference to the listener.
+ (cal_listener_destroy): Likewise.
+ (impl_notifyCalOpened): Likewise.
+
+ * pcs/cal.c (cal_destroy): bonobo_object_release_unref() the listener.
+
+ * cal-client/cal-client.c (cal_client_destroy): Ask the listener
+ to stop notifications. Also, do not unref it as the server does
+ that itself when we unref the Cal.
+
+2001-08-07 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-model.c (calendar_model_free_value): Only unref the
+ FIELD_COMPONENT if it is non-NULL. We return a NULL for that
+ field from ::initialize_value(), after all. Fixes bug #6098.
+
+2001-08-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): Make calendar.ics the
+ suggested name when attaching the ical object
+
+2001-08-06 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-week-view.h:
+ * gui/e-day-view.h: added 'different_timezone' fields to EDayViewEvent
+ and EWeekViewEvent, to note that the event is in a different timezone.
+ We now compute this once when we add the event to the array, rather
+ than each time we draw the event. If it is set, we will draw the
+ timezone icon next to the event.
+
+ * gui/e-day-view-main-item.c: take transparency into account when
+ drawing the blue vertical bars to represent busy time.
+
+ * gui/tag-calendar.c: take transparency into account when tagging
+ the mini calendar.
+
+ * gui/e-calendar-table.c (e_calendar_table_init): removed the "None"
+ options for transparency and classification, since these properties
+ have defaults anyway, so we may as well use those to keep it simple.
+ Also use "Free" and "Busy" for transparency, rather than "Transparent"
+ and "Opaque".
+
+ * gui/calendar-model.c: updated classification & transparency code
+ as above.
+
+ * gui/e-calendar-table.etspec: changed "Transparency" to "Show Time As"
+ since people have a chance of understanding that.
+
+ * gui/e-week-view.c:
+ * gui/e-day-view.c:
+ * gui/gnome-cal.c: added functions to get the visible time range.
+
+ * gui/calendar-commands.c: finished stuff to set the folder bar
+ label to the dates currently displayed.
+
+ * gui/control-factory.c (control_factory_new_control): connected
+ signal to update the folder title bar label when the dates shown
+ are changed. I had to connect it here since we need the BonoboControl
+ in the callback, and I don't know how to get the control from the
+ widget.
+
+ * gui/tasks-control.c (tasks_control_activate): clear the folder bar
+ label. We could display something here at some point.
+
+ * gui/dialogs/recurrence-page.glade: changed "_Add" to "A_dd", since
+ we have an "_Actions" menu. (These also use Alt+key, right?)
+
+ * gui/dialogs/event-page.glade:
+ * gui/dialogs/event-page.c: added 'Show Time As' field, which is
+ really the TRANSP property but with a better name!
+ Also changed one of the "_Confidential" to "Con_fidential" since we
+ already have "_Contacts" using the same 'C' key.
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_free_busy): skip
+ events that are TRANSPARENT. Also added comment as this code looks
+ inefficient.
+
+ * cal-util/cal-component.c: removed stuff for comparing timezones.
+
+ * gui/comp-util.c (cal_comp_util_compare_event_timezones): moved the
+ above function here, and updated it to compare the UTC offsets of the
+ times as well as the TZIDs.
+
+2001-08-06 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.glade: In process of fixing bug
+ #6005. The "Calendar" page is now "Display", and it has no
+ frames. The "Task list" page has colons between the labels and
+ the color pickers, and it has no frame.
+
+2001-08-06 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-client.c (destroy_wombat_client): added check for
+ NULL pointers. Maybe fixes #5203 (I can't reproduce it, so I'm not
+ sure)
+
+2001-08-03 Federico Mena Quintero <federico@ximian.com>
+
+ * cal-client/query-listener.c (query_listener_stop_notification):
+ New function; stops further notification from happening. This is
+ needed since the listener is destroyed asynchronously from the
+ Wombat and the corresponding CalQuery may already have died.
+ (impl_notifyObjUpdated): Do not notify if requested.
+ (impl_notifyObjRemoved): Likewise.
+ (impl_notifyQueryDone): Likewise.
+ (impl_notifyEvalError): Likewise.
+
+ * cal-client/cal-query.c (cal_query_destroy): Use
+ query_listener_stop_notification().
+
+ * cal-client/cal-listener.c (cal_listener_destroy): Nullify the
+ pointers to the callback functions.
+
+ * gui/e-day-view.c (update_query): Commit our state of no longer
+ having a query before unrefing it. We may reenter from the ORBit
+ main loop and we *really* want this information to be committed.
+
+ * gui/e-week-view.c (update_query): Likewise.
+
+ * gui/calendar-model.c (update_query): Likewise.
+
+ * gui/tag-calendar.c (tag_calendar_by_comp): Added a "clear_first"
+ argument that indicates whether the ECalendar should be cleared of
+ any marks first.
+
+ * gui/calendar-commands.c (calendar_control_activate): Removed
+ ifdefed-out view buttons code from the Gnomecal days.
+
+ * gui/gnome-cal.c (client_categories_changed_cb): Merge the
+ categories of the calendar and tasks clients so that we can
+ display the categories in both sets.
+ (gnome_calendar_construct): Connect to "categories_changed" on
+ both clients.
+ (gnome_calendar_on_date_navigator_selection_changed): Removed call
+ to gnome_calendar_update_view_buttons().
+ (gnome_calendar_update_view_buttons): Removed. We cannot have
+ this until Bonobo supports radio toolbar items.
+ (gnome_calendar_set_view_buttons): Removed.
+ (gnome_calendar_dayjump): Do not use priv->day_button.
+ (GnomeCalendarPrivate): Removed the {day,work_week,week,month}_button
+ fields.
+ (gnome_calendar_set_query): Start a retagging process of the date
+ navigator so that it reflects the current query.
+ (update_query): New function to restart a query for the date navigator.
+ (initial_load): Use update_query() instead of tagging the date
+ navigator directly.
+ (gnome_calendar_on_date_navigator_date_range_changed): Likewise.
+ (client_cal_opened_cb): Use update_query() instead of initial_load().
+ (initial_load): Removed.
+ (client_obj_updated_cb): Removed.
+ (client_obj_removed_cb): Removed.
+ (gnome_calendar_new_appointment_for): Set the default category of
+ the new component.
+ (search_bar_category_changed_cb): Set the default category for the
+ calendar views.
+
+ * gui/cal-search-bar.c (cal_search_bar_set_categories): Sort the
+ categories before creating the menu.
+
+ * gui/e-day-view.c (adjust_query_sexp): Return NULL instead of
+ "#f" if the time range is not set yet.
+ (update_query): Do not start a query if the time range is not set.
+ (e_day_view_set_default_category): New function.
+ (e_day_view_key_press): Set the default category on the new
+ component.
+
+ * gui/e-week-view.c (adjust_query_sexp): Analogous to the above.
+ (update_query): Analogous to the above.
+ (e_week_view_set_default_category): Analogous to the above.
+ (e_week_view_key_press): Analogous to the above.
+
+2001-08-03 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #1407.
+
+ * gui/dialogs/cal-prefs-dialog.glade: Removed the alarm
+ preferences page, since we decided it was unnecessary.
+
+2001-08-03 Zbigniew Chyla <cyba@gnome.pl>
+
+ I18n fixes.
+
+ * gui/dialogs/event-page.c (summary_changed_cb):
+ Use e_dialog_editable_get instead of gtk_editable_get_chars (we need
+ UTF-8 string).
+
+ * gui/itip-utils.c:
+ Added missing #include <config.h>
+
+2001-08-02 Jon Trowbridge <trow@ximian.com>
+
+ * gui/Makefile.am: Added camel dependency (now needed by ebook).
+
+2001-08-01 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-model.c (calendar_model_value_is_empty): If the
+ default category is the same as the value passed in to this
+ function, return TRUE. This could be a hack or not, but it
+ prevents two items from being added to the table if a category is
+ selected.
+
+ * gui/e-tasks.c (setup_widgets): Allow the search bar to shrink
+ horizontally.
+
+ * gui/dialogs/task-page.c (clear_widgets): Pass valid values to
+ e_dialog_option_menu_set(); these need to come from the status map.
+
+2001-08-01 Damon Chaplin <damon@ximian.com>
+
+ * cal-client/cal-client.c: removed debugging messages.
+
+2001-08-01 Federico Mena Quintero <federico@ximian.com>
+
+ The calendar search bar widget now includes a drop-down menu of
+ available categories.
+
+ * pcs/query.c (func_has_categories): Handle one and only one #f
+ value as meaning "unfiled", for components that have no categories
+ at all.
+
+ * pcs/cal-backend-file.c (open_cal): Duh, do not notify here about
+ changed categories since at this point we don't have any clients
+ bound to us yet.
+ (create_cal): Likewise.
+ (cal_backend_file_add_cal): Notify here.
+
+ * gui/cal-search-bar.h (CalSearchBarClass): New signal
+ "category_changed".
+
+ * gui/cal-search-bar.c (cal_search_bar_construct): Add a drop-down
+ menu for the list of categories.
+ (search_option_items): Removed the "Has category" option, since we
+ now have the drop-down menu instad and it would be confusing to
+ have both options.
+ (regen_query): Likewise. Also, this function is now the old
+ cal_search_bar_query_changed() and is shared by that very function
+ and by the callback from the drop-down menu.
+ (notify_query_contains): Include the sub-sexp for the categories.
+ (cal_search_bar_set_categories): New function.
+ (cal_search_bar_get_category): New function.
+ (categories_selection_done_cb): Emit the "category_changed" signal.
+
+ * gui/e-tasks.c (obj_updated_cb): Removed function since it did
+ not do anything; all updates are handled by the CalendarModel.
+ (obj_removed_cb): Likewise.
+ (ETasksPrivate): Removed the fields for the categories option
+ menu, since now it is in the ESearchBar.
+ (search_bar_sexp_changed_cb): Use calendar_model_set_query()
+ directly here, as we do not need to frob the sexp anymore.
+ (update_query): Removed.
+ (client_categories_changed_cb): New callback.
+ (search_bar_category_changed_cb): New callback.
+ (e_tasks_new_task): Set the default category on the component to
+ the one that is selected in the search bar.
+ (e_tasks_on_filter_selected): Removed.
+ (e_tasks_on_categories_changed): Removed.
+ (e_tasks_rebuild_categories_menu): Removed.
+ (e_tasks_add_menu_item): Removed.
+ (e_tasks_setup_view_menus): Sanitized not to sink objects wildly.
+ (e_tasks_discard_view_menus): New function.
+
+ * gui/calendar-model.h (CalendarModelClass): Removed the
+ "categories_changed" signal since this is handled in the Wombat
+ now.
+
+ * gui/calendar-model.c (calendar_model_get_categories): Removed.
+ (calendar_model_set_value_at): Do not collect the categories.
+ (query_obj_updated_cb): Likewise.
+ (calendar_model_collect_categories): Removed.
+ (calendar_model_set_default_category): Constify.
+
+ * gui/tasks-control.c (tasks_control_deactivate): Call
+ e_tasks_discard_view_menus().
+
+ * gui/gnome-cal.c (search_bar_category_changed_cb): Set the
+ default category for the task pad's model.
+
+2001-07-31 Federico Mena Quintero <federico@ximian.com>
+
+ The Wombat now keeps track of which categories are present in the
+ objects of a calendar. It will notify the clients of changes in
+ this set. This is to make the category drop-down menus in the
+ calendar/tasks views be always up to date.
+
+ * idl/evolution-calendar.idl (Listener): Added a
+ notifyCategoriesChanged() method. The Wombat now keeps track of
+ the categories within a calendar.
+
+ * cal-client/cal-listener.[ch]: Switched it to use BonoboXObject.
+ Also added the notifyCategoriesChanged implementation.
+
+ * cal-client/cal-client.[ch]: Added a "categories_changed" signal.
+
+ * pcs/cal-backend-file.c: Maintain a list of the live categories.
+ (update_categories_from_comp): New function to maintain the set of
+ live categories.
+ (add_component): Update the set of categories.
+ (remove_component): Likewise.
+ (open_cal): Notify about changes in the set of categories.
+ (create_cal): Likewise.
+ (cal_backend_file_update_objects): Likewise.
+ (cal_backend_file_remove_object): Likewise.
+ (notify_categories_changed): New function to notify the clients
+ about the current set of categories.
+
+ * pcs/cal.c (cal_notify_categories_changed): New function.
+
+2001-07-31 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.c (selection_received):
+ * gui/e-week-view.c (selection_received): yes, set the end date, but
+ correctly calculated, not by using the component's duration, which
+ may not exist. Now really fixes #5836
+
+2001-07-31 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.c (selection_received):
+ * gui/e-week-view.c (selection_received): don't set the end date
+ for the pasted components, since it will be recalculated when the start
+ date is set, thus keeping the same duration than the original
+ cut/copied component. Fixes #5836
+
+2001-07-30 Damon Chaplin <damon@ximian.com>
+
+ * gui/gnome-cal.c:
+ * gui/calendar-commands.c (clear_folder_bar_label): started some code
+ to show the currently displayed dates in the folder title bar.
+ Unfinished.
+
+ * gui/e-itip-control.c (set_date_label):
+ * conduits/todo/todo-conduit.c (local_record_from_comp):
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp): free
+ the CalComponentDateTimes. (Note the iTIP control needs updating for
+ timezone support.)
+
+ * cal-util/cal-component.c: Changed CalComponentDateTime so that the
+ TZID is malloc'ed and freed rather than being a pointer to a static
+ string. This was causing problems as sometimes we were freeing the
+ string that was being pointed to, so we got corrupted TZIDs.
+
+ * gui/comp-util.c (cal_comp_util_add_exdate): set TZID to NULL.
+ DATE values do not have timezones.
+
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: Moved 'Paste' after the New Appointment commands,
+ since I think they are more commonly-used. Also added underlined
+ accelerator keys.
+
+ * gui/e-calendar-table.c: changed 'Edit this task' to 'Open' in the
+ popup menu to be consistent with other folders, and separated from the
+ clipboard commands. Also changed to use EPopupMenu so the accelerators
+ work, and the masks may be useful at some point.
+
+ * gui/dialogs/recurrence-page.c: use DATE values for UNTIL, since
+ that makes it simpler. Fixes bug #5034.
+
+ * gui/calendar-config.c (calendar_config_set_timezone): strdup the
+ location string. Fixes bug #4990.
+
+ * gui/tag-calendar.c (tag_calendar_cb): take 1 off iend as the times
+ don't include the end time.
+
+ * gui/e-week-view-layout.c (e_week_view_layout_event): fixed
+ days_shown. Fixes bug #5709.
+
+ * cal-client/cal-client.c (cal_client_get_timezone): took out some
+ debugging messages.
+
+2001-07-30 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.glade: added Help button. Though of
+ course it doesn't do anything yet.
+
+2001-07-30 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c: Mark strings for translation
+
+2001-07-30 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/client-test.c (cal_opened_cb): call
+ cal_client_get_free_busy for testing the new method
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_free_busy): implemented
+
+2001-07-28 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #5352.
+
+ * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show): Added a
+ `page' argument so that we can select which page to show when
+ popping up the dialog.
+ (cal_prefs_dialog_construct): Added the `page' argument as well.
+ (cal_prefs_dialog_new): Likewise.
+
+ * gui/calendar-commands.c (settings_cmd): Set the page to the main
+ calendar settings one.
+
+ * gui/tasks-control.c (tasks_control_settings_cmd): Implemented
+ callback for the "Task Settings" command.
+ (verbs): Added the "TasksSettings" verb.
+ (pixmaps): Added an icon for the tasks settings command.
+
+2001-07-27 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp):
+ recur is always in UTC
+
+2001-07-27 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c: handle timezones
+ everywhere
+ (get_timezone): new function to get a timezone based
+ on a tzid
+ (get_default_timezone): get default timezone
+
+ * conduits/calendar/calendar-conduit.h: time zone field for the
+ context
+
+ * conduits/calendar/Makefile.am: link to bonobo conf
+
+ * conduits/todo/todo-conduit.c: handle timezones
+ everywhere
+ (get_timezone): new function to get a timezone based
+ on a tzid
+ (get_default_timezone): get default timezone
+
+ * conduits/todo/todo-conduit.h: time zone field for the
+ context
+
+ * conduits/todo/Makefile.am: link to bonobo conf
+
+2001-07-27 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons):
+ initialize to NULL some pointers
+
+ * e-calendar-table.c (selection_received): deal correctly with
+ VCALENDAR objects
+ (e_calendar_table_copy_clipboard): g_strdup the value returned by
+ icalcomponent_get_as_ical_string
+
+2001-07-27 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/gnome-cal.c (gnome_calendar_set_query): Constify and set the
+ query sexp on the task pad's model as well.
+
+2001-07-27 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/cal-search-bar.[ch]: New files with a derivative of
+ ESearchBar that generates sexps for calendar queries directly.
+
+ * gui/gnome-cal.c (setup_widgets): Use CalSearchBar instead of
+ ESearchBar.
+
+ * gui/e-calendar-table.h (ECalendarTable): Removed the ->colors
+ array since it is handled by ETableExtras now.
+
+ * gui/e-calendar-table.[ch]: Removed the subset_model. Now we use
+ the live query facility to filter tasks. Removed the filter
+ function stuff as well.
+
+ * gui/e-tasks.c (e_tasks_construct): Use
+ calendar_model_set_cal_client() directly instead of
+ e_calendar_table_set_model().
+ (setup_widgets): Create a calendar search bar for the tasks
+ component.
+ (search_bar_sexp_changed_cb): Set the query sexp on the table model.
+ (e_tasks_on_filter_selected): Regenerate the query from the
+ selected category and the current sexp.
+ (update_query): New convenience function to recompute the real
+ query sexp.
+
+ * gui/gnome-cal.c (gnome_calendar_construct): Likewise.
+
+ * gui/e-calendar-table.c (e_calendar_table_set_cal_client):
+ Removed function; people are now supposed to get the model from
+ the calendar table and operate on it.
+
+ * gui/calendar-commands.c (verbs): Consistency fixes with the XML
+ file.
+ (pixmaps): Likewise.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ cal-search-bar.[ch] to the list of sources.
+
+2001-07-20 Federico Mena Quintero <federico@ximian.com>
+
+ * idl/evolution-calendar.idl (CompEditorFactory): New interface to
+ a centralized factory for calendar component editors. Has
+ editExisting() and editNew() methods to edit an existing component
+ from a URI/UID pair, and to create a new component in a calendar
+ that is in a particular URI, respectively.
+
+ * gui/comp-editor-factory.[ch]: Implementation files for the
+ component editor factory.
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: Added the CompEditorFactory
+ stuff.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ comp-editor-factory.[ch] to the list of sources.
+
+2001-07-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (invite_entry_changed): when an entry
+ has changed, iterate over the elements of the entry and add them
+ to the list if need be
+ (get_select_name_dialog): add a Chair Persons section
+
+ * gui/itip-utils.c (itip_send_comp): send the empty string as
+ subject if there is no summary
+
+2001-07-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): send the empty string as
+ subject if there is no summary
+
+ * gui/dialogs/meeting-page.c (cleanup_attendees): free a list of
+ attendees
+ (meeting_page_fill_widgets): clean up attendee lists and fix typo
+ (find_match): add ability to return pos of match
+ (popup_delete_cb): if deletion happens, make sure to tidy up
+ delegation chain
+
+ * gui/dialogs/e-delegate-dialog.c (e_delegate_dialog_construct):
+ use the destination rather than text property
+ (e_delegate_dialog_get_delegate): ditto
+ (e_delegate_dialog_new): take name/address pair for dialog default
+
+ * gui/dialogs/e-delegate-dialog.h: update protos
+
+ * gui/e-itip-control.c (clean_up): only unref the object if we
+ have one
+
+ * gui/itip-control-factory.c (stream_read): make sure we null
+ terminate the final buffer
+
+ * gui/itip-utils.c (itip_send_comp): strip the mailto: from the
+ organizer address if necessary
+
+2001-07-26 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (exception_select_row_cb): check that
+ the row passed in is valid. Sometimes we get the "row-selected"
+ signal for row 0 when there are no rows in the list. Fixes bug #4266.
+
+ * cal-client/cal-client.c (cal_client_get_object): prefetch all the
+ timezone data needed by the object, to try to avoid making Corba
+ calls all over the place. They can cause problems because they call
+ the GTK+ main loop recursively. This currently leads to an assertion
+ failure in the GnomeCanvas occasionally.
+
+2001-07-25 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (e_itip_control_set_data): gracefully
+ handle the lack of a method
+
+2001-07-25 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.c (selection_received_cb): check type of component
+ before actually pasting.
+ Deal with VCALENDAR components also (fixes bug #5140)
+
+ * gui/e-week-view.c (selection_received_cb): ditto
+
+ * cal-client/cal-client.c (cal_client_update_object): check the return
+ value from cal_component_get_as_string and don't call
+ GNOME_Evolution_Calendar_Cal_updateObjects if NULL
+
+2001-07-25 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/comp-editor.c (pixmaps): used the new print preview icon.
+
+ * gui/print.c (range_selector_new): changed the 'Current day/week...'
+ strings to 'Selected day/week...' to make a little less confusing.
+ Fixes bug #5451.
+
+2001-07-25 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (is_duplicate): see if the address is
+ already in the list of attendees
+ (duplicate_error): throw up an error dialog
+ (popup_delegate_cb): if the attendee has already delegated, delete
+ the old delegatee
+ (value_at): cast to kill warnings
+ (append_row): don't add the new attendee if they are already in
+ the list
+
+2001-07-24 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (get_exception_string): calculate
+ tmp_tm.tm_wday ourselves. strftime has a habit of crashing if you
+ have weird values here. I think this fixes bug #4574.
+
+2001-07-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (value_at): stip the delto and
+ delfrom
+ (popup_delegate_cb): show a delegate dialog and add the new
+ delegatee and update the delegator
+ (add_section): listen for changes in a more direct manner
+ (get_select_name_dialog): add_section now takes a limit argument
+
+ * gui/dialogs/e-delegate-dialog.[hc]: New dialog to query the user
+ for a person to delegate to
+
+ * gui/dialogs/Makefile.am: build/install new files
+
+ * gui/Makefile.am: add ldadd line for ebook
+
+2001-07-21 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw): fixed
+ the test to see whether we should draw the icons.
+
+2001-07-22 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (get_local_file_name_for_folder_type):
+ New helper function.
+ (remove_folder): Add a @type arg and handle it, by deleting
+ "tasks.ics" instead of "calendar.ics" if the type is "tasks". If
+ the type is not "tasks" or "calendar", report an
+ `UNSUPPORTED_TYPE' error.
+ (xfer_folder): Likewise.
+
+2001-07-21 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c: Make folders of type "calendar" and
+ "tasks" user-creatable by setting `user_creatable' to %TRUE in the
+ `EvolutionShellComponentFolderType's.
+
+2001-07-19 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/event-editor.h (event_editor_update_widgets):
+ Removed unused prototype.
+
+ * gui/dialogs/task-editor.h (task_editor_update_widgets):
+ Likewise.
+
+2001-07-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (clean_up): free various data related
+ settings
+ (destroy): use cleanup and unref the clients
+ (e_itip_control_set_data): clean up before setting the data and
+ store the timezones in a top level component
+ (update_item): use cal_client_update_objects and our top level
+ (including the timezones)
+
+2001-07-19 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/comp-editor.c (pixmaps):
+ * gui/calendar-commands.c (pixmaps): updated to use new print icon.
+
+2001-07-17 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (init_widgets): don't show the time
+ in the EDateEdit widget for adding EXDATEs.
+
+ * cal-util/cal-component.c (cal_component_alarm_set_trigger): don't
+ set t.time.is_date to -1. It is a boolean flag, 0 or 1. We probably
+ don't want a date value, so we leave it at 0.
+
+2001-07-18 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
+ do not discard drawing icon if mask is NULL
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
+ ditto
+
+2001-07-17 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (get_next): find the next displayable
+ component
+ (get_prev): find the previous displayable component
+ (e_itip_control_set_data): use above
+ (prev_clicked_cb): ditto
+ (next_clicked_cb): ditto
+
+2001-07-17 Federico Mena Quintero <federico@ximian.com>
+
+ Really fixes #4380. The previous fix was necessary but not
+ sufficient; it worked for me because my system timezone happens to
+ match the Evolution timezone --- if they don't match, the bug
+ would persist. Not matching is *not* an error; it is just a
+ matter of Unix sucking a lot and XST not being finished :)
+
+ * cal-util/timeutil.c (time_to_gdate_with_zone): New function. We
+ cannot use g_date_set_time() anymore because it does not take
+ timezones into account.
+
+ * gui/gnome-cal.c (get_days_shown): Use the function above.
+
+ * gui/e-day-view.c (e_day_view_find_work_week_start): Likewise.
+
+ * gui/e-week-view.c (e_week_view_set_selected_time_range): Likewise.
+
+2001-07-17 Jon Trowbridge <trow@ximian.com>
+
+ * gui/dialogs/meeting-page.c (invite_entry_changed): Print
+ a g_message when the list of invited people changes
+ in the SelectNames control.
+ (add_section): #if 0/#endif out some (broken?) code.
+ (get_select_name_dialog): Listen for changes in the
+ SelectNames control.
+
+2001-07-17 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/e-timezone-dialog.c (e_timezone_dialog_destroy): destroy
+ the dialog widget here. Fixes bug #4198.
+
+2001-07-16 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/task-page.c (task_page_fill_widgets):
+ * gui/dialogs/event-page.c (event_page_fill_widgets): try to use
+ builtin timezones before getting them from the server. When creating
+ new events/tasks the timezones may not be on the server.
+
+ * gui/dialogs/event-page.c (event_page_fill_widgets): for all-day
+ events we subtract a day from the end date rather than add it.
+
+ * gui/dialogs/e-timezone-dialog.c (on_map_leave): ignore the event
+ if it isn't a GDK_CROSSING_NORMAL event. For some reason we are getting
+ leave events when the button is pressed, which meant that selecting
+ timezones in the map didn't work.
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_dates):
+ * gui/print.c (print_date_label): only free icaltimetype if not NULL.
+
+2001-07-12 Taylor Hayward <taylorhayward@yahoo.com>
+
+ * gui/goto-dialog.glade:
+ * gui/meeting-mockup.glade:
+ * gui/alarm-notifyålarm-notify.glade:
+ * gui/dialogs/alarm-page.glade:
+ * gui/dialogs/meeting-page.glade:
+ * gui/dialogs/recurrence-page.glade: Added missing underlined
+ shortcuts.
+
+2001-07-12 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-util.h: new proto
+
+ * cal-util/cal-util.c (cal_util_new_top_level): standard place to
+ get your top level calendar component
+
+ * pcs/cal-backend-file.c (create_cal): use it
+
+ * gui/itip-utils.c (itip_send_comp): ditto
+
+ * gui/e-calendar-table.c (e_calendar_table_copy_clipboard): ditto
+
+2001-07-12 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-calendar-table.c (e_calendar_table_copy_clipboard): fix
+ typo breaking compilation
+
+ * gui/dialogs/meeting-page.c: fix include
+
+ * gui/dialogs/Makefile.am: build select names idl here
+
+ * gui/Makefile.am: remove select names compilation from here
+
+2001-07-12 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-details-page.c (task_details_page_set_dates):
+ guard against infinite loops with the updating boolean, fixes 4270
+
+2001-07-12 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-calendar-table.c: added support for multiple selections in
+ cut/copy/paste. Also, it's now ready for the
+ s/update_object/update_objects change (I think)
+
+2001-07-11 Damon Chaplin <damon@ximian.com>
+
+ * idl/evolution-calendar.idl: renamed updateObject to updateObjects
+ and removed the UID argument, since it can add/update multiple objects
+ at once. (It can't yet, but it will!)
+
+ * pcs/cal.c:
+ * pcs/cal-backend.[hc]:
+ * pcs/cal-backend-file.c: renamed update_object to update_objects and
+ got rid of the UID arg.
+
+ * cal-client/cal-client.c (cal_client_update_objects): new function to
+ add/update multiple objects in one go, i.e for iTIP and for importing
+ calendars.
+
+ * gui/print.c (print_date_label): fixed type bug.
+
+ * gui/e-week-view.[hc]:
+ * gui/e-week-view-event-item.c: draw the timezone icons if the event's
+ DTSTART or DTEND is in a different timezone to the current one.
+ Note that we may want to change this so it compares the UTC offsets
+ rather than the TZIDs, since currently it will draw the icons for all
+ events coming from iTIP requests from other clients.
+
+2001-07-11 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #4380 as well as some leftovers from the days of struct
+ tm and some uninitialized values.
+
+ * gui/gnome-cal.c
+ (gnome_calendar_on_date_navigator_selection_changed): Initialize
+ the icaltimetype structures completely.
+ (gnome_calendar_init): Do not reset priv->zone to NULL here, since
+ it was set by gnome_calendar_update_config_settings() from
+ setup_widgets().
+
+ * gui/calendar-model.c (set_completed): Do not set is_daylight.
+
+ * gui/e-day-view.c (e_day_view_convert_grid_position_to_time):
+ Likewise.
+
+ * gui/e-week-view.c (e_week_view_set_timezone): Likewise.
+
+ * cal-util/cal-recur.c (generate_instances_for_chunk): Likewise,
+ and initialize start_tt and end_tt completely.
+
+ * cal-util/timeutil.c (time_year_begin_with_zone): Likewise.
+ (time_month_begin_with_zone): Likewise.
+ (time_week_begin_with_zone): Likewise.
+ (time_day_begin_with_zone): Likewise.
+ (time_day_end_with_zone): Likewise.
+ (time_from_isodate): Likewise.
+
+ * gui/dialogs/task-page.c (task_page_fill_component): Initialize
+ icaltime before using it.
+
+ * gui/dialogs/event-page.c (event_page_fill_component): Likewise.
+
+ * gui/dialogs/recurrence-page.c (simple_recur_to_comp): Removed an
+ unused icaltimetype.
+
+ * gui/dialogs/task-details-page.c
+ (task_details_page_fill_component): Initialize icaltime before
+ using it.
+
+2001-07-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/component-factory.c: fix the calendar not exiting with a
+ gross hack because i don't have time to fix the ref counting right
+ now
+
+2001-07-11 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c: be careful about adding and
+ stripping MAILTO:'s properly
+
+ * gui/dialogs/meeting-page.etspec: add missing columns
+
+ * gui/itip-utils.c (itip_strip_mailto): point to the real start of
+ the email address
+
+ * gui/itip-utils.h: add proto
+
+ * gui/itip-control-factory.c: get rid of the my address property
+
+ * gui/e-itip-control.c: use the users real identity to figure out
+ which attendee they are
+ (find_my_address): figure out who the user is among the attendees
+
+ * gui/e-itip-control.h: remove protos
+
+ * gui/dialogs/Makefile.am: extra dist etspecs
+
+ * gui/Makefile.am: ditto
+
+2001-07-11 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gui/e-calendar-table.c: Added a hack to get the last
+ string translated since xml-i18n-tools doesn't recognize
+ _click-to-add-message="Click here to add a task".
+
+2001-07-10 Peter Williams <peterw@ximian.com>
+
+ * gui/Makefile.am (BUILT_SOURCES): Move this higher so that
+ Makefile properly depends on us. Fixes distcheck.
+
+2001-07-11 Jason Leach <jleach@ximian.com>
+
+ [Fix bug #4389: ETableSpecification still in e-calendar-table.c
+ file]
+
+ * gui/e-calendar-table.etspec: New file containing the spec that
+ was in e-calendar-table.c as a big string.
+
+ * gui/e-calendar-table.c (e_calendar_table_init): Use the spec
+ file instead of a string.
+ (e_calendar_table_get_spec): Removed this function, we don't need
+ it anymore.
+
+ * gui/e-tasks.c (e_tasks_setup_menus): Don't load from string,
+ from file instead.
+
+ * gui/Makefile.am: Necessary changes to get the new .etspec file
+ installed.
+
+2001-07-10 Jason Leach <jleach@ximian.com>
+
+ [Fix bug #4388: ETableSpecification still in meeting-page.c file]
+
+ * gui/dialogs/meeting-page.etspec: New file containing the spec
+ that was previously in meeting-page.c as a string.
+
+ * gui/dialogs/meeting-page.c: One line change to get it to use
+ this spec file instead of a string.
+
+ * gui/dialogs/Makefile.am: Necessary changes to get the new
+ meeting-page.etspec installed.
+
+2001-07-10 Damon Chaplin <damon@ximian.com>
+
+ * gui/calendar-model.c:
+ * gui/e-calendar-table.c:
+ * gui/e-day-view-main-item.c:
+ * gui/e-day-view-top-item.c:
+ * gui/e-day-view.[hc]:
+ * gui/e-week-view.c:
+ * gui/gnome-cal.c:
+ * gui/print.c:
+ * gui/dialogs/cal-prefs-dialog.c:
+ * gui/dialogs/comp-editor-util.c:
+ * gui/dialogs/event-page.c:
+ * pcs/cal-backend-file.c:
+ * pcs/query.c:
+ * cal-util/cal-component.[hc]:
+ * cal-util/cal-recur.c:
+ * cal-util/timeutil.[hc]:
+ * cal-client/cal-client.[hc]: more timezone updates. I'm pretty much
+ done with the calendar code now, except for alarms and conduits,
+ which Federico and JP know more about. And there are a couple of
+ other minor things to fix. But it is still pretty buggy.
+
+2001-07-10 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c: Add popup support so you can delete
+ users from the list
+
+ * gui/dialogs/comp-editor.c (setup_widgets): fix typo
+
+2001-07-10 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm-queue.c (alarm_trigger_cb): Handle the
+ different alarm actions.
+ (display_notification): Do the alarm notification dialog here.
+
+ * gui/alarm-notify/alarm-notify-dialog.c (make_heading): Take in a
+ CalComponentVType, not a whole component.
+ (alarm_notify_dialog): Take in a CalComponentVType and the final
+ message instead of generating it ourselves.
+
+2001-07-09 Federico Mena Quintero <federico@ximian.com>
+
+ * pcs/cal-backend-file.c (generate_alarms_for_comp): Pass the
+ parent vCalendar component as the timezone closure of
+ cal_recur_generate_instances().
+
+ * gui/dialogs/alarm-page.c (get_alarm_string): Make the string
+ consistent with the option menu text.
+ (get_alarm_string): Removed extra spaces from the last part of the
+ alarm string.
+
+2001-07-09 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_key_press): Use
+ e_utf8_from_gtk_event_key() so that we can input utf8 text
+ properly.
+ (e_day_view_cut_clipboard): Constify.
+ (e_day_view_on_cut): Constify.
+ (e_day_view_reshape_long_event): Remove unused variable.
+
+ * gui/e-week-view.c (e_week_view_key_press): Use
+ e_utf8_from_gtk_event_key() so that we can input utf8 text
+ properly.
+ (e_week_view_cut_clipboard): Constify.
+ (e_week_view_on_cut): Constify.
+
+ * cal-client/cal-client.c (cal_client_resolve_tzid_cb): Fix the
+ prototype so that this matches CalRecurResolveTimezoneFn. Also
+ renamed it so that it is clear that it is supposed to be a
+ callback.
+
+2001-07-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (init_widgets): connect to the entry
+ not the combo
+
+ * gui/dialogs/event-editor.c (set_menu_sens): set menu
+ sensitivities based on whether or not the meeting page is shown
+ (event_editor_init): call above
+ (event_editor_edit_comp): ditto
+ (schedule_meeting_cmd): ditto
+
+ * gui/dialogs/comp-editor.h: new proto
+
+ * gui/dialogs/comp-editor.c (comp_editor_set_ui_prop): new
+ function to allow for set of ui props (esp. "sensitive")
+
+2001-07-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c (clear_widgets): actually clear some
+ widgets and hide/show widgets in the default setup
+ (meeting_page_destroy): destroy the address lists
+ (meeting_page_fill_widgets): allow the user to select among their
+ identities as a new organizer, or show the existing organizer as
+ label
+ (meeting_page_fill_component): set the "MAILTO:" bit of the
+ organizer to match spec, set CN properly if we know it
+ (get_widgets): load new widgets
+ (other_clicked_cb): handle "Other Organizer" click
+ (change_clicked_cb): handle "Change Organizer" click
+ (init_widgets): listen for clicks on new buttons
+
+ * gui/dialogs/comp-editor.c (comp_editor_remove_page): remove the
+ page from our internal list and unref it
+
+ * gui/itip-utils.c (itip_addresses_get): get the configure mail
+ identities
+ (itip_addresses_free): free a list of identities returned by
+ itip_addresses_get
+
+ * gui/itip-utils.h: remove obsolete protos, and new protos
+
+ * gui/gnome-cal.html: Remove ancient file
+
+2001-07-04 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #4018 and what would be the analogous bugs for the other
+ component editors.
+
+ * gui/dialogs/comp-editor-page.h (CompEditorPageClass): New
+ virtual method "::focus_main_widget()".
+
+ * gui/dialogs/comp-editor-page.c
+ (comp_editor_page_focus_main_widget): New function.
+
+ * gui/dialogs/comp-editor.c (comp_editor_append_page): If we are
+ inserting the main page, ask it to focus its main widget.
+
+ * gui/dialogs/alarm-page.c (alarm_page_focus_main_widget):
+ Implemented.
+
+ * gui/dialogs/event-page.c (event_page_focus_main_widget):
+ Implemented.
+ #include "e-util/e-categories-config.h".
+
+ * gui/dialogs/meeting-page.c (meeting_page_focus_main_widget):
+ Implemented.
+
+ * gui/dialogs/recurrence-page.c
+ (recurrence_page_focus_main_widget): Implemented.
+
+ * gui/dialogs/task-details-page.c
+ (task_details_page_focus_main_widget): Implemented.
+
+ * gui/dialogs/task-page.c (task_page_focus_main_widget):
+ Implemented.
+
+2001-07-04 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-commands.c (clear_folder_bar_label): New function.
+ (calendar_control_activate): Clear the folder bar label; we really
+ don't have anything interesting to display.
+
+2001-07-03 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/meeting-page.c: Add new columns for information
+ specification
+ (meeting_page_destroy): save the table state
+ (build_etable): load new table state
+
+ * gui/dialogs/task-editor.c (task_editor_destroy): unref pages
+
+ * gui/dialogs/event-editor.c (event_editor_destroy): unref pages
+
+ * gui/dialogs/comp-editor.c (setup_widgets): kill warning
+ (comp_editor_append_page): ref page passed in
+ (close_dialog): unref pages
+
+2001-07-03 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-day-view.c (query_obj_updated_cb): fix warning, and added
+ some debug messages.
+
+ * gui/dialogs/comp-editor-util.c (write_label_piece):
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw): call mktime()
+ to set the weekday, though this is a temporary fix.
+
+2001-07-03 Damon Chaplin <damon@ximian.com>
+
+ * pcs/cal-backend.[hc]: added virtual method to get a VTIMEZONE
+ component given a TZID. We need this to resolve TZIDs when expanding
+ an event using cal_recur_generate_instances() in query.c.
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_timezone): implemented
+ virtual method.
+ (cal_backend_file_update_object): fixed bug, kind -> child_kind.
+
+ * pcs/query.c (func_occur_in_time_range): use the virtual method for
+ resolving TZIDs. The other way didn't work anyway, as we didn't have
+ the entire VCALENDAR with VTIMEZONEs in it.
+
+ * gui/dialogs/recurrence-page.c (init_widgets):
+ (make_ending_until_special): moved the call to
+ e_date_edit_set_get_time_callback() from init_widgets to
+ make_ending_until_special(), since that is where the widget gets
+ created.
+
+ * gui/e-timezone-entry.c (e_timezone_entry_set_timezone): handle zone
+ being NULL.
+
+2001-07-02 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/alarm-options.[ch]: New files with the alarm options
+ dialog; this configures the repeat/duration properties and the
+ options specific to each alarm action type.
+
+ * gui/dialogs/alarm-page.c (AlarmPagePrivate): Added the alarm
+ options button. Also, keep an alarm structure which we are
+ editing and an alarm options dialog.
+ (init_widgets): Connect to the options button.
+ (add_clicked_cb): Clone the component we are editing instead of
+ creating a new one so that we preserve the data from the alarm
+ options dialog.
+ (button_options_clicked_cb): Pop up the alarm options dialog.
+
+ * cal-util/cal-component.c (cal_component_alarm_new): Doh,
+ initialize the other fields in the new alarm.
+
+2001-07-03 Damon Chaplin <damon@ximian.com>
+
+ * cal-client/cal-client.[hc]
+ * cal-util/cal-component.c
+ * cal-util/cal-recur.[hc]
+ * cal-util/test-recur.c
+ * cal-util/timeutil.c
+ * gui/calendar-config.c
+ * gui/calendar-model.[hc]
+ * gui/comp-util.[hc]
+ * gui/e-calendar-table.c
+ * gui/e-day-view-main-item.c
+ * gui/e-day-view-top-item.c
+ * gui/e-day-view.[hc]
+ * gui/e-itip-control.c
+ * gui/e-timezone-entry.[hc]
+ * gui/e-week-view.[hc]
+ * gui/gnome-cal.[hc]
+ * gui/goto.c
+ * gui/tag-calendar.[hc]
+ * gui/dialogs/cal-prefs-dialog.c
+ * gui/dialogs/comp-editor-page.[hc]
+ * gui/dialogs/comp-editor-util.[hc]
+ * gui/dialogs/comp-editor.c
+ * gui/dialogs/e-timezone-dialog.[hc]
+ * gui/dialogs/event-page.c
+ * gui/dialogs/meeting-page.c
+ * gui/dialogs/recurrence-page.c
+ * gui/dialogs/task-details-page.c
+ * gui/dialogs/task-details-page.glade
+ * gui/dialogs/task-page.c
+ * idl/evolution-calendar.idl
+ * pcs/cal-backend-file.c
+ * pcs/cal-backend.c
+ * pcs/cal-backend.h
+ * pcs/cal.c
+ * pcs/query.c: timezone changes everywhere. There's still quite a
+ few things to update, and its not working well at present.
+
+2001-07-02 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-commands.c (publish_freebusy_cmd): publish
+ free/busy information for the currently viewed time range
+
+2001-07-02 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/Makefile.am (INCLUDES): Added $(BONOBO_CONF_CFLAGS).
+ (evolution_calendar_LDADD): Added $(BONOBO_CONF_LIBS).
+
+2001-07-02 Federico Mena Quintero <federico@ximian.com>
+
+ Support for ATTACH, DESCRIPTION properties in alarm components.
+
+ * cal-util/cal-component.c (scan_alarm_property): Deal with
+ ATTACH, DESCRIPTION properties.
+ (cal_component_alarm_get_attach): New function. Libical is
+ actually bogus; supposedly icalattachtype structures are
+ refcounted but the property functions return them by value.
+ (cal_copmonent_alarm_set_attach): New function.
+ (cal_component_alarm_get_description): New function.
+ (cal_component_alarm_set_description): New function.
+
+2001-07-02 Federico Mena Quintero <federico@ximian.com>
+
+ Support for repeat/duration properties in alarm components.
+
+ * cal-util/cal-component.h (CalAlarmRepeat): New structure that
+ pairs the repeat/duration values of an alarm component, which must
+ be set both together or not set at all.
+
+ * cal-util/cal-component.c (CalComponentAlarm): Added fields for
+ the repeat and duration properties.
+ (scan_alarm_property): Scan the DURATION and REPEAT properties.
+ (make_alarm): Nullify/initialize all the fields in the alarm.
+ (cal_component_alarm_get_repeat): New function.
+ (cal_component_alarm_set_repeat): New function.
+
+ * gui/dialogs/alarm-page.glade: Changed the label of display
+ alarms from "Show a dialog" to "Display a message".
+
+2001-07-02 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-details-page.c
+ (task_details_page_fill_widgets): fill in delegated from field
+
+2001-07-02 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/dialogs/task-page.c (categories_clicked_cb):
+ * gui/dialogs/event-page.c (categories_clicked_cb): use the new
+ self-contained e_categories_config_open_dialog_for_entry() function
+
+ * gui/e-week-view-event-item.c (e_week_view_item_draw_icons):
+ * gui/e-day-view-top-item.c (e_day_view_reshape_long_event):
+ (e_day_view_reshape_day_event): ditto
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
+ use e_categories_config_get_icon_for() to retrieve the icon
+ associated with each category
+
+2001-07-02 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (send_freebusy): implement
+
+ * cal-util/cal-component.c (set_attendee_list): add the delto
+ property rather than the delfrom property twice
+
+ * gui/dialogs/task-editor.c (task_editor_edit_comp): show
+ delegation info if appropriate
+ (delegate_task_cmd): delegate command
+ (cancel_task_cmd): cancel command
+ (refresh_task_cmd): refresh command
+
+ * gui/dialogs/task-details-page.c: Load new widgets
+ (task_details_page_show_delegation): show/hide delegation info widgets
+
+ * gui/dialogs/task-details-page.h: new proto
+
+ * gui/dialogs/event-editor.c (event_editor_edit_comp): free
+ attendee list when finished
+
+ * gui/dialogs/comp-editor.c (setup_widgets): explicitly show the
+ widgets, update pixmaps after the verbs have been added
+ (comp_editor_focus): don't do a show all
+
+2001-07-02 Federico Mena Quintero <federico@ximian.com>
+
+ Fixes bug #1406.
+
+ * gui/calendar-config.c (config_read): Handle the options for the
+ task list colors.
+ (calendar_config_write): Ditto.
+ (calendar_config_get_tasks_due_today_color): New function.
+ (calendar_config_set_tasks_due_today_color): New function.
+ (calendar_config_get_tasks_overdue_color): New function.
+ (calendar_config_set_tasks_overdue_color): New function.
+ (calendar_config_configure_e_calendar_table): Use
+ e_table_model_changed() for the colors.
+
+ * gui/dialogs/cal-prefs-dialog.glade: Updated the options for the
+ task list and alarms.
+
+ * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config):
+ Update the task list settings.
+ (cal_prefs_dialog_update_config): Ditto.
+
+ * gui/calendar-model.c (get_color): Deal with tasks for today as
+ well as overdue tasks. Make it cleaner, even though we have to
+ duplicate a chunk of is_overdue().
+
+ * gui/calendar-commands.c (preferences_cmd): Renamed from
+ properties_cmd().
+
+2001-07-01 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view-main-item.c
+ (e_day_view_main_item_draw_day_event): draw icons per category
+
+ * gui/e-day-view-top-item.c
+ (e_day_view_top_item_draw_long_event): draw icons per category
+
+ * gui/e-day-view.c
+ (e_day_view_reshape_long_event):
+ (e_day_view_reshape_day_event): calculate space for category icons
+
+ * gui/e-week-view-event-item.c
+ (e_week_view_event_item_draw_icons): draw icons per category
+
+ * gui/e-week-view.c
+ (e_week_view_reshape_event_span): calculate space for category icons
+
+2001-07-01 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_*_clipboard): fixed clibpoard
+ command activation from the menu entries. CTRL-C and CTRL-X don't
+ work though, since it seems the key presses are being captured by
+ the text item
+
+ gui/e-week-view.c (e_week_view_*_clipboard): ditto
+
+2001-06-30 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-week-view-event-item.c
+ (e_week_view_event_item_button_press): Only set the
+ pressed_event_num and pressed_span_num if button 1 was pressed.
+ Fix up return values a bit. This fixes bug #3780.
+
+ * gui/gnome-cal.c
+ (gnome_calendar_on_date_navigator_selection_changed): Doh, the
+ call for the day view was supposed to be
+ gnome_calendar_set_view(), not set_view(). Fixes bug #3779.
+
+2001-06-30 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/tasks-control.c (tasks_control_cut_cmd): call
+ e_calendar_table_cut_clipboard with the correct object
+
+ (tasks_control_copy_cmd): ditto
+
+ (sensitize_commands): sensitize clipboard commands based on the
+ number of selected tasks
+
+2001-06-28 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-calendar-table.[ch] (e_calendar_table_cut_clipboard),
+ (e_calendar_table_copy_clipboard),
+ (e_calendar_table_paste_clipboard): new functions for allowing the
+ execution of clipboard-related commands
+
+ * gui/tasks-control.c (tasks_control_cut_cmd),
+ (tasks_control_copy_cmd), (tasks_control_paste_cmd): added
+ callbacks for the new clipboard-related menu entries
+
+2001-06-28 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/component-factory.c: removed not-uses-anymore parameter in
+ call to evolution_shell_component_new
+
+ * gui/gnome-cal.[ch] (gnome_calendar_cut_clipboard),
+ (gnome_calendar_copy_clipboard), (gnome_calendar_paste_clipboard):
+ new functions for allowing execution of clipboard-related commands
+
+ * gui/e-day-view.[ch] (e_day_view_cut_clipboard),
+ (e_day_view_copy_clipboard), (e_day_view_paste_clipboard): ditto
+
+ * gui/e-week-view.[ch] (e_week_view_cut_clipboard),
+ (e_week_view_copy_clipboard), (e_week_view_paste_clipboard): ditto
+
+2001-06-27 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/calendar-commands.c (cut_event_cmd),
+ (copy_event_cmd), (paste_event_cmd): added callbacks for the new
+ clipboard-related menu entries
+
+2001-06-27 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (factory_fn): Pass NULL as the
+ @external_uri_schemas argument to
+ `evolution_shell_component_new()'.
+
+2001-06-27 Peter Williams <peterw@ximian.com>
+
+ * conduits/*/Makefile.am (INCLUDES): More srcdir != builddir
+ fixes.
+
+2001-06-27 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-calendar-table.c (selection_received): fixed
+ (e_calendar_table_on_copy): fixed
+
+2001-06-26 Federico Mena Quintero <federico@ximian.com>
+
+ * idl/evolution-calendar.idl (CalAlarmInstance): Renamed the occur
+ field to occur_start; added an occur_end field. This way we can
+ present the complete times for the occurrence from the server.
+
+ * cal-util/cal-component.h (CalAlarmInstance): Likewise.
+
+ * pcs/cal-backend-file.c (add_alarm_occurrences_cb): Fill the new
+ fields appropriately.
+ (generate_absolute_triggers): Likewise; we use -1 in case the
+ component has no DTSTART or DTEND because there are no meaningful
+ occurrence dates here.
+ (fill_alarm_instances_seq): Fill in the new fields.
+
+ * cal-client/cal-client.c (build_alarm_instance_list): Likewise.
+
+ * gui/alarm-notify/alarm-notify-dialog.c (alarm_notify_dialog):
+ Take in both the occur_start and occur_end times.
+
+ * gui/goto.c (goto_dialog): Free the dlg structure on the bail-out
+ cases.
+
+ * gui/dialogs/event-page.c (get_widgets): Do not assert if we
+ cannot find the main widget; just return FALSE.
+
+ * gui/dialogs/alarm-page.c (get_widgets): Likewise.
+
+ * gui/dialogs/task-page.c (get_widgets): Likewise.
+
+ * gui/dialogs/task-details-page.c (get_widgets): Likewise.
+
+ * gui/dialogs/meeting-page.c (get_widgets): Likewise.
+
+2001-06-25 Peter Williams <peterw@ximian.com>
+
+ * conduits/calendar/Makefile.am (INCLUDES): Fixes for
+ srcdir != builddir. Link to the static libwombat.
+
+ * conduits/todo/Makefile.am (INCLUDES): Here too.
+
+2001-06-24 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/notify-main.c (main): Initialize libglade.
+
+ * pcs/cal-backend-file.c (compute_alarm_range):
+ icaldurationtype_as_int() will now return a negative value if
+ dur->is_neg is true, so we need to flip the sign of some
+ operations here.
+ (add_alarm_occurrences_cb): Likewise.
+
+ * pcs/cal-backend-db.c (compute_alarm_range): Likewise.
+ (add_alarm_occurrences_cb): Likewise.
+
+2001-06-24 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm-notify.c: Converted to use BonoboXObject.
+
+ * gui/gnome-cal.c (gnome_calendar_open): Ask the alarm
+ notification service to add the calendar and tasks URIs.
+ (add_alarms): New function.
+
+ * gui/alarm-notify/notify-main.c (main): Doh, fixed typo in the
+ OAFIID.
+ (main): Initialize and shut down gnome-vfs.
+
+ * gui/Makefile.am (IDLS): Added evolution-calendar.idl, sigh.
+ (evolution_calendar_SOURCES): Added the files generated from the IDL.
+
+ * gui/alarm-notify/alarm-queue.c (alarm_trigger_cb): New function
+ used when an alarm is triggered.
+
+ * gui/dialogs/Makefile.am: Removed the alarm-notify-dialog files;
+ they are now in gui/alarm-notify.
+
+ * gui/alarm-notify/Makefile.am: Added the alarm-notify-dialog
+ files.
+
+ * pcs/cal.c (cal_forget_password): This was incorrectly named
+ cal_client_forget_password(); renamed it.
+
+ * gui/main.c (main): Initialize and shut down gnome-vfs.
+
+2001-06-23 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-calendar-table.c (task_compare_cb): New function to
+ compare tasks like the Pilot task list.
+
+ * cal-util/cal-component.h (CalComponentField): Added a
+ semi-hackish CAL_COMPONENT_FIELD_COMPONENT. In the ETable model,
+ it is intended to return a pointer to the component itself.
+
+ * gui/calendar-model.c (calendar_model_value_at): Return the
+ component itself for CAL_COMPONENT_FIELD_COMPONENT. Be more
+ paranoid about invalid columns.
+ (calendar_model_set_value_at): Be more paranoid about invalid
+ columns.
+ (calendar_model_duplicate_value): Ref the component field.
+ (calendar_model_initialize_value): Deal with the component field.
+ (calendar_model_value_is_empty): Likewise.
+ (calendar_model_value_to_string): Likewise.
+
+2001-06-22 Jeffrey Stedfast <fejj@ximian.com>
+
+ * gui/Makefile.am: Added itip-control-factory.* to the build.
+
+2001-06-22 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal.[ch] (cal_get_password): new function for the backends to
+ be able to call the getPassword method on the associated
+ WombatClient
+ (cal_forget_password): ditto for the forgetPassword method
+
+2001-06-22 Rodrigo Moya <rodrigo@ximian.com>
+
+ * idl/evolution-calendar.idl: changed getFreeBusy method to return
+ a CalObj instead of a sequence
+
+ * cal-client/cal-client.[ch] (cal_client_get_free_busy): changed it to
+ work like the cal_client_get_object function, that is, it does not
+ return anymore a list of UIDs, but a CalClientGetStatus code, and
+ added a new parameter for the caller to get the component back when
+ this function returns
+ (cal_client_open): aggregate WombatClient interface to the CalListener
+ being used
+
+ * pcs/cal-backend-db.c, pcs/cal-backend-file.c (..get_free_busy): set
+ return value to "char *" as it will be returning a FreeBusy object,
+ and not a list of UIDs
+
+ * pcs/cal-backend.[ch] (cal_backend_get_free_busy): ditto
+
+ * pcs/cal.c (cal_construct): queryInterface on the listener to obtain
+ the WombatClient interface
+
+2001-06-21 JP Rosevear <jpr@ximian.com>
+
+ * gui/main.c (main): update to new call
+
+ * gui/e-itip-control.[hc]: break the widget bits out on their own
+ into a proper object, basic stuff seems to be working again
+
+ * gui/itip-control-factory.c: put the control specific bits here
+ from e-itip-control.c
+
+ * gui/itip-control-factory.h: new header
+
+2001-06-21 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/Makefile.am (gladedir): add include path
+
+ * gui/dialogs/comp-editor.c (setup_widgets): remove buttons and
+ use evolution's standard ui config
+
+ * gui/print.c (print_comp_item): print description text
+
+2001-06-21 Rodrigo Moya <rodrigo@ximian.com>
+
+ * cal-client/cal-client.[ch]:
+ (cal_client_init): create a WombatClient when creating a CalClient
+ object, so that we can receive authentication notifications from
+ the wombat
+ (cal_client_destroy): destroy the WombatClient object when dying
+ (cal_client_set_auth_func): new function to set the authentication
+ function to be called when a password is required by the calendar
+ server (through the WombatClient object)
+ (cal_client_get_free_busy): new function for calling the new IDL
+ method Cal::getFreeBusy
+
+ * gui/alarm-notify/Makefile.am: add libwombat to LDADD
+
+ * gui/Makefile.am: add libwombat to LDADD
+
+2001-06-20 Dave Camp <dave@ximian.com>
+
+ * gui/itip-utils.c (itip_send_comp): Changed attach_data
+ to be a GNOME_Evolution_Composer_AttachmentData rather than a
+ CORBA_char*.
+
+2001-06-20 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor.c (print_cmd): print menu command
+ (print_preview_cmd): ditto for print preview
+ (print_setup_cmd): ditto for print setup
+ (comp_editor_set_cal_client): listen for updated and removed
+ signals
+ (obj_updated_cb): if the item changes else where, query the user
+ for the course of action
+ (obj_removed_cb): ditto for removal
+
+ * gui/print.c (print_setup): rudimentary page setup support
+ (print_comp): rudimentary individual event/task printing support
+
+ * gui/print.h: new protos
+
+ * gui/dialogs/changed-comp.[hc]: dialog to query the user about
+ what to do when a item is changed elsewhere
+
+ * gui/dialogs/Makefile.am: build new files
+
+ * gui/dialogs/send-comp.c (send_component_dialog): remove useless
+ assignment
+
+2001-06-20 Rodrigo Moya <rodrigo@ximian.com>
+
+ * idl/evolution-calendar.idl: added getFreeBusy method
+
+ * pcs/cal.c (impl_Cal_get_free_busy): implementation of the new
+ getFreeBusy added method
+
+ * pcs/cal-backend.[ch]: added new virtual method to the CalBackend
+ class (get_free_busy)
+
+ * pcs/cal-backend-db.c (cal_backend_db_get_free_busy): new function,
+ not implemented yet
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_free_busy): new funtion,
+ not implemented yet
+
+2001-06-20 Damon Chaplin <damon@ximian.com>
+
+ * gui/calendar-config.[hc]:
+ * gui/gnome-cal.[hc]:
+ * gui/tasks-control.c (tasks_control_activate):
+ * gui/calendar-commands.c (calendar_control_activate): moved the
+ function to check for a default timezone to calendar-config.c, and
+ also used it in the tasks control.
+
+ * gui/dialogs/e-timezone-dialog.h: #include <gtk/gtkwidget.h> fix.
+
+2001-06-20 Damon Chaplin <damon@ximian.com>
+
+ * gui/calendar-commands.c (calendar_control_activate):
+ * gui/gnome-cal.[hc]: added code to show the timezone dialog if the
+ user hasn't set a default timezone yet.
+
+ * gui/dialogs/e-timezone-dialog.c (e_timezone_dialog_add_timezones):
+ set the "None" item string before adding it to the combo, to stop the
+ combo putting "None" in the entry initially.
+
+2001-06-19 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-calendar-table.[ch]: added cut/copy/paste support. It works
+ with single selections (a single component selected) and with
+ multiple ones (several components selected)
+
+2001-06-19 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/event-page.c: if the timezones of the start and end of
+ the event are the same, then if the start timezone is changed we
+ change the end timezone as well, since that is what most users will
+ want.
+
+2001-06-19 Damon Chaplin <damon@ximian.com>
+
+ * pcs/cal.c:
+ * idl/evolution-calendar.idl:
+ * cal-client/cal-client.[hc]: removed stuff to get builtin timezone
+ info from the server.
+
+2001-06-19 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/cal-prefs-dialog.c: added a 'Time zone' setting. Also
+ rearranged a little, adding a new 'General' page, since we had too
+ many settings on the 'Calendar' page.
+
+ * gui/e-timezone-entry.[hc]:
+ * gui/dialogs/e-timezone-dialog.[hc]:
+ * gui/dialogs/comp-editor.c:
+ * gui/dialogs/comp-editor-page.[hc]:
+ * gui/dialogs/event-page.c:
+ * gui/dialogs/task-details-page.c:
+ * gui/dialogs/task-page.c: removed CalClient stuff. The timezone dialog
+ now uses the timezone data directly from the client's libical library.
+
+2001-06-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-editor.c (task_editor_init): add ui
+ (forward_cmd): implement forward command
+
+ * gui/dialogs/comp-editor.c (save_as_ok): bug fix, seems to work
+ now
+
+2001-06-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/control-factory.c (control_factory_init): add auto exit unref
+
+ * gui/component-factory.c (destroy_cb): destroy our selves if we
+ have no more shells
+ (component_factory_init): add auto exit unref
+
+2001-06-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/Makefile.am: don't compile or install the old meeting edit
+ stuff
+
+ * gui/e-week-view.c: ditto
+
+ * gui/e-day-view.c: Remove scheduling menu option
+
+2001-06-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/itip-utils.c: add some needed commas
+ (itip_send_comp): if publishing, don't set the to list and show
+ the message. unless publishing, just send the email
+
+ * gui/Makefile.am: remove typo
+
+2001-06-19 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/send-comp.c: itip/imip send dialog
+
+ * gui/dialogs/send-comp.h: new proto
+
+ * gui/dialogs/recurrence-page.c (recurrence_page_set_dates): only
+ use the weekday picker if visible
+
+ * gui/dialogs/meeting-page.c: just show the meeting list
+
+ * gui/dialogs/event-editor.c (event_editor_edit_comp): remove the
+ meeting page if no attendees
+ (schedule_meeting_cmd): schedule a meeting menu item
+ (refresh_meeting_cmd): refresh meeting request menu item
+ (cancel_meeting_cmd): ditto for cancel
+ (forward_cmd): send as attachment
+
+ * gui/dialogs/comp-editor.c (comp_editor_remove_page): remove page
+ from dialog
+ (comp_editor_show_page): show a given page
+ (comp_editor_get_current_comp): return a cal component
+ representing the current widget state
+ (comp_editor_save_comp): save the cal component
+ (comp_editor_delete_comp): delete the cal component
+ (comp_editor_send_comp): send the cal component
+ (comp_editor_merge_ui): merge xml in to the bonobo gui
+ (setup_widgets): use a bonobo window instead of a gtk window, add menus again
+ (save_as_cmd): save to file on disk - still broken
+ (save_close_cmd): close menu command
+ (save_close_cmd): save and close menu command
+
+ * gui/dialogs/comp-editor.h: new protos
+
+ * gui/dialogs/cancel-comp.c (cancel_component_dialog): itip/imip
+ cancellation dialog
+
+ * gui/dialogs/cancel-comp.h: new proto
+
+ * gui/dialogs/Makefile.am: build new files
+
+ * gui/dialogs/comp-editor-page.c
+ (comp_editor_page_notify_needs_send): emit needs_send signal
+
+ * gui/dialogs/comp-editor-page.h: new signal protos
+
+ * gui/itip-utils.c (itip_send_comp): new function to send cal
+ components
+
+ * gui/itip-utils.h: new proto
+
+ * gui/e-itip-control.c (pstream_load): trim using cal-component
+ wrapper stuff
+ (accept_button_clicked_cb): use itip_send_comp
+ (tentative_button_clicked_cb): ditto
+ (decline_button_clicked_cb): ditto
+
+ * gui/Makefile.am: compile select name idl stuff
+
+ * cal-util/cal-component.c (cal_component_get_organizer): get the organizer
+ (cal_component_set_organizer): set the organizer
+ (cal_component_get_recurid): get the recurrence id
+ (cal_component_set_recurid): set the recurrence id
+ (set_attendee_list): actually set the attendee list
+ (get_attendee_list): build the attendee list
+
+ * cal-util/cal-component.h: new protos
+
+2001-06-19 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/task-details-page.glade:
+ * gui/dialogs/task-page.glade:
+ * gui/dialogs/event-page.glade: added timezone fields. Also moved the
+ 'All Day' flag into an alignment so it doesn't mess up the height of
+ the other widgets.
+
+ * gui/dialogs/task-details-page.c:
+ * gui/dialogs/task-page.c:
+ * gui/dialogs/event-page.c: added code to handle the timezone fields.
+ This still needs to be hooked up when the libical code is finished.
+
+ * gui/dialogs/e-timezone-dialog.c (on_map_leave): new function to
+ clear the preview label and turn off the highlighted point on the
+ map when you move the mouse outside it.
+ (find_selected_point): new function to try to find the point
+ corresponding to the text in the combo.
+ (on_combo_changed): call the above function to update the selected
+ point.
+ (on_map_leave): turn off the preview point & label when the mouse
+ leaves the map.
+ (e_timezone_dialog_set_cal_client): changed it so that selecting "None"
+ clears the entry.
+
+ * gui/dialogs/comp-editor-page.[hc]: added set_cal_client() virtual
+ method since some pages need to access the CalClient to get timezone
+ information. Also added comp_editor_page_set_cal_client() to call
+ the virtual method.
+
+ * gui/dialogs/comp-editor.c (comp_editor_set_cal_client): called
+ comp_editor_page_set_cal_client() on each page.
+
+ * gui/calendar-config.c: added functions to get & set the timezone.
+
+2001-06-18 Eskil Heyn Olsen <eskil@eskil.dk>
+
+ * conduits/calendar/calendar-conduit.c: (comp_from_remote_record),
+ (check_for_slow_setting), (conduit_get_gpilot_conduit):
+ * conduits/todo/todo-conduit.c: (check_for_slow_setting),
+ (conduit_get_gpilot_conduit):
+ Tweaked for some gnome-pilot api changes
+
+2001-06-15 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-view.[ch]: New files with the generic calendar view
+ object. It sucks that we have to implement at least two classes
+ to define a GalView and its factory.
+
+ * gui/calendar-view-factory.[ch]: New files; factory for calendar
+ views.
+
+ * gui/gnome-cal.h (GnomeCalendarViewType): Moved from gnome-cal.c
+ and renamed from ViewType. We no longer use strings to identify
+ the view types.
+
+ * gui/gnome-cal.c (gnome_calendar_get_view_type): New function.
+ (set_view): Renamed from gnome_calendar_set_view_internal().
+ (gnome_calendar_set_query): Made public; renamed from set_query().
+ (gnome_calendar_setup_view_menus): New function to set up the view
+ collection and the GalViewMenus.
+ (gnome_calendar_discard_view_menus): New function to discard them.
+
+ * gui/calendar-commands.c (calendar_control_activate): Set up the
+ GalView menus.
+ (calendar_control_deactivate): Discard the GalView menus.
+
+ * gui/e-day-view.c: #include <gtk/gtkinvisible.h>
+
+ * gui/dialogs/comp-editor.c (comp_editor_get_type): The type info
+ structure should be static.
+
+2001-06-15 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.c (selection_received): generate a new UID
+ when pasting
+
+ * gui/e-week-view.c (selection_received): ditto
+
+2001-06-15 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.c (selection_received): finished implementation
+ of Paste stuff
+
+ * gui/e-week-view.c (selection_received): ditto
+
+2001-06-14 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.[ch]: added popup menu items for cut/copy/paste
+
+ * gui/e-week-view.[ch]: ditto
+
+2001-06-14 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-timezone-entry.[hc]: new widget to enter a timezone.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): added the above.
+ * gui/Makefile.am (evolution_calendar_LDADD): had to move
+ libcal-dialogs.a above libmiscwidgets.a to get it to compile.
+
+2001-06-14 Damon Chaplin <damon@ximian.com>
+
+ * gui/dialogs/e-timezone-dialog.[hc]:
+ * gui/dialogs/e-timezone-dialog.glade: new dialog for setting the
+ time zone.
+
+ * gui/dialogs/Makefile.am: added timezone dialog files.
+
+ * idl/evolution-calendar.idl: added CalTimezoneInfo struct and seq,
+ and getBuiltinTimezoneInfo method.
+
+ * pcs/cal.c (impl_Cal_get_builtin_timezone_info): implemented method.
+ (cal_class_init): added method to epv.
+
+ * cal-client/cal-client.c (struct CalClientPrivate): added
+ timezone_info array to contain cached info on builtin timezone city
+ names and coordinates.
+ (cal_client_get_builtin_timezone_info): new function to get the info
+ about builtin timezones.
+
+ * cal-client/cal-client.h: added CalTimezoneInfo struct, to contain
+ the city names and coords of the builtin timezones.
+
+2001-06-13 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_date_label): remove
+ unnecessary space
+
+ * gui/dialogs/task-page.c (task_page_set_summary): indicate we are
+ updating, Fixes #3307
+
+2001-06-13 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-details-page.c (task_details_page_set_dates):
+ set the completed time in the date editor if appropriate
+
+ * gui/dialogs/task-page.c (task_page_set_dates): if we are
+ updating, return
+ (complete_date_changed): don't returns if we are updating - the
+ guards are done in the calling function
+ (status_changed): indicate when we are updating and when we are
+ finished, round the completion time to the nearest minute
+ (percent_complete_changed): indicate when are updating and when we
+ are finished
+ (percent_complete_changed): notify of the date change after the
+ option menu is updated
+
+2001-06-11 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-day-view.[ch]: added cut&paste support, by using a GtkInvisible
+ widget to manage the clipboard selections.
+
+ * gui/e-week-view.[ch]: ditto
+
+2001-06-08 Iain Holmes <iain@ximian.com>
+
+ * gui/component-factory.c: Removed the executive-summary includes.
+ (component_factory_init): Don't init the summary factory.
+
+ * gui/calendar-summary.[ch]: Removed.
+
+ * gui/Makefile.am: Remove executive-summary stuff, move some libs
+ around a bit.
+
+2001-06-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/recurrence-page.c (recurrence_page_set_dates):
+ update the blocked/selected days if the starting day of the
+ appointment changes, fixes #2188
+
+ * gui/dialogs/task-details-page.h: tidy proto
+
+2001-06-03 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/e-itip-control.c: #include <bonobo/bonobo-context.h> instead
+ of <bonobo/bonobo-running-context.h>.
+ * gui/tasks-control-factory.c: Likewise.
+
+ * gui/Makefile.am (evolution_calendar_LDADD): Move `$(DB3_LDADD)'
+ before libeutil.
+
+2001-06-01 JP Rosevear <jpr@ximian.com>
+
+ * gui/Makefile.am: no longer build widget-util.*, the code has
+ been moved
+
+2001-06-01 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/event-page.c (make_date_edit): use new func
+
+ * gui/dialogs/task-details-page.c
+ (task_details_page_create_date_edit): ditto
+
+ * gui/dialogs/recurrence-page.c (make_ending_until_special): ditto
+
+ * gui/dialogs/comp-editor-util.c (comp_editor_new_date_edit):
+ rename date_edit_new function
+
+ * gui/dialogs/comp-editor-util.h: new proto
+
+ * gui/dialogs/task-page.c (task_page_set_summary): no longer any
+ need to block/unblock the handler
+ (task_page_create_date_edit): use new func
+
+2001-06-01 JP Rosevear <jpr@ximian.com>
+
+ * gui/.cvsignore: Update
+
+ * gui/evolution-calendar-control.c: Remove dead file
+
+ * gui/*.vcf: Remove dead files
+
+2001-06-01 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/comp-editor-page.[hc]: renamed from editor-page for
+ consistency, more complete implementation
+
+ * gui/dialogs/comp-editor.[hc]: More complete implementation
+
+ * gui/dialogs/*-page.*: The various pages needed to construct the
+ event and task dialogs
+
+ * gui/dialogs/comp-editor-util.[hc]: useful utility functions for the
+ component editor pages to use
+
+ * gui/dialogs/Makefile.am: Build and install new files
+
+ * gui/event-editor*: Remove, obsoleted by the new comp-editor
+ stuff
+
+ * gui/dialogs/task-editor-dialog.glade: ditto
+
+ * gui/e-calendar-table.c (open_task): update to use comp editor
+ stuff
+
+ * gui/e-tasks.c (e_tasks_new_task): ditto
+
+ * gui/gnome-cal.c (gnome_calendar_edit_object): ditto
+
+ * gui/Makefile.am: don't build non-existent files nor try to
+ install them
+
+2001-06-01 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (e_itip_control_factory_init): ditto
+
+ * gui/tasks-control-factory.c (tasks_control_factory_init):
+ auto_exit_unref the factory
+
+2001-06-01 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/Makefile.am (evolution_calendar_LDADD): Add `$(DB3_LDADD)'.
+
+2001-05-29 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-tasks.c (e_tasks_get_calendar_table): New function.
+
+ * gui/tasks-control.c (tasks_control_activate): Connect to the
+ "selection_changed" signal of the tasks widget here, not in
+ tasks_control_new(). Also, update the sensitivity of the commands
+ here for the first time.
+ (tasks_control_deactivate): Disconnect from the signal here since
+ it only makes sense to monitor selection changes while the control
+ is active.
+ (selection_changed_cb): Removed hack that tested the presence of
+ the remote UI container.
+ (sensitize_commands): New function.
+
+2001-05-28 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-week-view-layout.[hc]:
+ * gui/e-day-view-layout.[hc]: new files to contain layout code split
+ off from EDayView an EWeekView, so we can use it for printing.
+
+ * gui/print.c: rewritten to use the same layout code as the EDayView
+ and EWeekView widgets.
+
+ * gui/gnome-cal.c (gnome_calendar_get_task_pad_cal_client): added
+ function so we can get the CalClient used for the TaskPad for printing.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): added
+ e-day-view-layout.[hc] amd e-week-view-layout.[hc].
+
+ * cal-util/timeutil.c (time_week_begin):
+ (time_week_end): added week_start_day argument.
+
+ * cal-util/cal-recur.c: added comments describing problems in it.
+
+2001-05-27 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/component-factory.c (remove_folder): implemented the
+ 'remove_folder' function for the calendar shell component
+ (xfer_folder): ditto for 'xfer_folder'
+
+2001-05-27 Dan Winship <danw@ximian.com>
+
+ * gui/calendar-commands.c: #include
+ "evolution-shell-component-utils.h" rather than "e-gui-utils.h"
+ for e_pixmaps_update.
+
+ * gui/tasks-control.c: Likewise.
+
+2001-05-25 Peter Williams <peterw@ximian.com>
+
+ * gui/Makefile.am: Reference libeshell.la instead of libeshell.a.
+
+2001-05-23 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/recurrence-page.c: Finished porting from the old
+ event-editor.c. Made it store a clone of the component for when
+ we need to expand the recurrence set.
+
+ * gui/dialogs/event-page.c (event_page_get_dates): New function.
+
+ * gui/dialogs/editor-page.c (editor_page_set_dates): Renamed from
+ editor_page_set_dtstart(); now sets both DTSTART and DTEND.
+
+ * gui/dialogs/alarm-page.c (alarm_page_set_dates): Ahem, it is a
+ label, not an entry.
+
+2001-05-21 Federico Mena Quintero <federico@ximian.com>
+
+ Fix bug #2831; the tasks toolbar and menu now have a button to
+ delete the selected tasks.
+
+ * gui/e-calendar-table.c (e_calendar_table_delete_selected): New
+ function.
+ (delete_cb): Use e_calendar_table_delete_selected().
+ (e_calendar_table_get_table): New function.
+
+ * gui/tasks-control.c (tasks_control_new_task_cmd): Handle the
+ delete command.
+ (selection_changed_cb): Change the sensitivity of the TasksDelete
+ command when the selection in the table changes.
+
+ * gui/e-tasks.c (table_selection_change_cb): Notify upstream when
+ the ETable selection changes.
+
+2001-05-18 Federico Mena Quintero <federico@ximian.com>
+
+ Fix bug #2829.
+
+ * gui/dialogs/delete-comp.c (delete_component_dialog): Allow the
+ caller to specify whether just one or many components are to be
+ deleted.
+
+ * gui/e-calendar-table.c (tasks_popup_one): Popup menu definition
+ for when one and only one task is selected.
+ (tasks_popup_many): Likewise, for more than one task.
+ (e_calendar_table_on_right_click): Do not create a structure for
+ the closure data; we can simply pass the cal_table. Use a
+ different menu depending on the number of selected tasks.
+ (mark_as_complete_cb): Renamed; now iterates over the selected
+ rows.
+ (delete_selected_components): New function to delete all the
+ selected components.
+ (delete_cb): Adjusted for delete_component_dialog().
+ (open_task): New function, simply open a CalComponent in the task
+ editor.
+ (open_task_by_row): Renamed; use open_task().
+
+ * gui/e-week-view.c (e_week_view_on_delete_appointment): Updated
+ for delete_component_dialog().
+
+ * gui/e-day-view.c (e_day_view_on_delete_appointment): Likewise.
+
+2001-05-16 Duncan Mak <duncan@ximian.com>
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): removed
+ editor-page.[ch] because they've now moved dialogs.
+
+2001-05-16 Federico Mena Quintero <federico@ximian.com>
+
+ Split the event and task editors into different objects for the
+ separate pages; this way they can be shared by both editors.
+
+ * gui/dialogs/editor-page.[ch]: New abstract class for a page in a
+ calendar component editor.
+
+ * gui/dialogs/event-page.[ch]: Main page of an event editor.
+
+ * gui/dialogs/alarm-page.[ch]: Alarm page of a calendar component
+ editor.
+
+ * gui/dialogs/recurrence-page.[ch]: Recurrence page of a calendar
+ component editor.
+
+ * gui/dialogs/event-page.c (event_page_fill_widgets): Eeek, this
+ was missing a bunch of break statements.
+ (event_page_fill_component): Use a temporary variable rather than
+ allocating a struct icaltimetype.
+
+ * gui/dialogs/alarm-page.c (get_alarm_string): Do not use
+ fixed-size buffers.
+ (alarm_page_fill_widgets): Use cal_obj_uid_list_free().
+ (append_reminder): Now the list stores the plain CalComponentAlarm
+ structures in the row data. We do *NOT* want to be frobbing the
+ component's data directly. Rather, we clone the alarms from the
+ component and maintain them on our own.
+ (alarm_page_fill_component): Clone the alarms before adding them
+ to the component so that we maintain the invariant that the alarm
+ structures in the list did *not* come from the component.
+
+ * cal-util/cal-component.c (cal_component_add_alarm): Added
+ documentation.
+ (cal_component_remove_alarm): Added documentation.
+ (cal_component_remove_alarm): Do a lookup in our hash table of
+ alarms instead of scanning the whole component.
+ (CalComponentAlarm): Removed the `parent' field, since it was
+ unused.
+ (cal_component_free_alarm_uids): Removed function, since
+ cal_component_get_alarm_uids() is documented so that the user will
+ know that he must use cal_obj_uid_list_free().
+ (cal_component_alarm_clone): New function.
+
+2001-05-09 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ editor-page.[ch] to the list of sources.
+
+2001-05-09 JP Rosevear <jpr@ximian.com>
+
+ * gui/event-editor.c (reminder_add_cb): switch on the correct
+ widget and map
+
+2001-05-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-itip-control.c (e_itip_control_factory): unref the
+ property bag when we finish with it
+
+ * gui/evolution-calendar-control.c (calendar_properties_init): ditto
+
+ * gui/control-factory.c (calendar_properties_init): ditto
+
+ * gui/calendar-summary.c (create_summary_view): ditto
+
+2001-05-08 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-component.c (cal_component_alarm_free):
+ (cal_component_alarm_free): free the alarm component if it doesn't
+ have a parent, rather than if it does
+
+ * gui/Makefile.am: sanitize LD_ADDS and CFLAGS so the libtool
+ lines are shorter (fixes problem on solaries due to sed)
+
+2001-05-07 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-factory.[hc]: Convert to bonobo xobject
+
+ * pcs/cal.[hc]: Convert to bonobo xobject
+
+2001-05-07 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * gui/event-editor.c (make_title_from_comp): conversion summary
+ from utf8 here, use translated strings as is.
+ (set_title_from_comp): reflect this, simplify.
+
+ * gui/dialogs/task-editor.c: updated copies of above functions here.
+
+ * gui/gnome-cal.c: use defines from widgets/misc/e-filter-bar.h for
+ consistency in "Show all".
+
+2001-05-04 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-model.c (calendar_model_append_row): unref the
+ calcomponent when we're done with it
+
+ * cal-util/cal-component.c (cal_component_gen_uid): free the iso
+ date string when we finish with it
+
+2001-04-27 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-edit.c (put_property_in_list): remove hardcoded
+ values
+ (edit_attendee): ditto, and there are only 4 roles now
+
+ * gui/e-meeting-dialog.glade: tweak
+
+ * gui/itip-utils.c: There shouldn't be an "other" role
+
+2001-04-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-edit.c (edit_attendee): use enums not hard code
+ values
+
+2001-04-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-edit.c (add_button_clicked_cb):
+ icalparameter_new_rsvp now takes an enum
+
+2001-04-26 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-component.c (cal_component_alarm_set_trigger): the
+ value type should be inited with ICAL_VALUE_* rather than
+ ICAL_*_VALUE because it is a param argument.
+
+2001-04-26 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-model.c (get_is_overdue): Replace "<" by "<=" in
+ the comparison for due dates against the current time. This makes
+ tasks appear immediately as red when you click Now in the due date
+ popup field.
+
+ This is not a complete solution to the more general problem of
+ tasks staying the same color even if they become overdue while the
+ task list remains the same on the screen. This has been logged as
+ bug #2399.
+
+2001-04-26 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/Makefile.am (INCLUDES): Add `$(EXTRA_GNOME_CFLAGS)'.
+
+2001-04-26 Dan Winship <danw@ximian.com>
+
+ * conduits/todo/Makefile.am (libetodo_conduit_la_LIBADD): Remove
+ UNICODE_LIBS
+
+ * cal-client/Makefile.am (client_test_LDADD): Remove -lunicode
+
+2001-04-24 Duncan Mak <duncan@ximian.com>
+
+ * gui/alarm-notify/notify-main.c (funny_trigger_cb): Fixed
+ Strftime so it uses the locale prefered way to display date/time.
+ ("%x %X" instead of "%Y/%m/%d %H:%M:%S")
+
+2001-04-21 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * gui/calendar-summary.c: translate "Things to do" etc. and convert them
+ to utf8. Changed some link from helixcode to ximian.
+
+2001-04-18 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/dialogs/Makefile.am (INCLUDES): Add
+ `-I$(top_srcdir)/calendar/cal-client',
+ `-I$(top_builddir)/calendar/cal-client'.
+ * gui/Makefile.am (INCLUDES): Likewise.
+
+ * cal-client/cal-query.h: #include "evolution-calendar.h".
+
+2001-04-17 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/event-editor.c (init_widgets): Connect to the "changed"
+ signal of the categories entry so that they will be applied
+ correctly.
+ (EventEditorPrivate): Added fields for the contacts button and
+ entry.
+ (init_widgets): Disable the contacts widgets as we do not support
+ them yet.
+ (get_widgets): Get the contacts widgets.
+
+ * gui/dialogs/task-editor.c (get_widgets): Get the contacts
+ button, which was missing.
+ (init_widgets): Disable the contacts widgets as we do not support
+ them yet.
+
+ * pcs/query.c (matches_text_list): Use e_utf8_strstrcasedecomp()
+ instead of plain e_utf8_strstrcase().
+ (matches_summary): Likewise.
+
+2001-04-17 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-component.c (cal_component_alarm_set_action): the
+ libical action stuff uses enums rather than strings to enumerate
+ the various actions now
+ (cal_component_alarm_get_action): ditto
+
+2001-04-17 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/alarm-notify/Makefile.am (evolution_alarm_notify_SOURCES):
+ Add `$(CORBA_GENERATED)'.
+
+2001-04-16 Dan Winship <danw@ximian.com>
+
+ * pcs/Makefile.am (INCLUDES): Add EXTRA_GNOME_CFLAGS, for gal.
+
+2001-04-15 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/gnome-cal.c (setup_widgets): Create the ESearchBar thingy.
+ (search_bar_query_changed_cb): Build the different queries based
+ on the type and string.
+
+ * pcs/query.c (backend_obj_updated_cb): Ref the query while we are
+ notifying the listener so that it will not disappear from under us.
+ (backend_obj_removed_cb): Likewise.
+ (process_component_cb): Likewise.
+ (func_contains): New function to match text fields.
+ (matches_comment): New function to match comment lists.
+ (matches_description): New function to match description lists.
+ (matches_summary): New function to match summaries.
+ (matches_any): New function to match any text field.
+ (func_has_categories): New function to match categories.
+
+2001-04-14 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/notify-main.c (main): Initialize the trigger
+ and queue systems.
+
+2001-04-13 Dan Winship <danw@ximian.com>
+
+ * cal-util/timeutil.c (time_from_isodate): Fix the syntactic bogon
+ here, and attempt to fix the logical bogon too. (tm_gmtoff and
+ timezone have opposite signs... I'm assuming Federico tested the
+ Linux case, so I'm flipping the sign of the BSD case. But maybe he
+ didn't and it's supposed to be the other way...)
+
+2001-04-12 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-day-view.c (update_query): New function to restart a query
+ for the day view.
+ (query_obj_updated_cb): Renamed from obj_updated_cb(); updated for
+ queries instead of calendar clients.
+ (query_obj_removed_cb): Likewise.
+ (cal_opened_cb): Just update_query() instead of queueing reloading
+ all the events.
+ (e_day_view_set_cal_client): Likewise.
+ (e_day_view_set_query): Likewise.
+ (e_day_view_set_selected_time_range): Likewise.
+ (e_day_view_set_days_shown): Likewise.
+ (e_day_view_recalc_work_week): Likewise.
+ (e_day_view_queue_reload_events): Removed function now that events
+ are updated entirely by the query.
+ (e_day_view_reload_events_idle_cb): Likewise.
+ (e_day_view_reload_events): Likewise.
+ (e_day_view_init): Use a pretty arrow instead of GDK_TOP_LEFT_ARROW.
+
+ * gui/e-week-view.c: Analogous changes to the ones in e-day-view.c.
+ (e_week_view_init): Use a pretty arrow instead of GDK_TOP_LEFT_ARROW.
+
+ * cal-util/timeutil.c (isodate_from_time_t): Return a g_strdup()ed
+ version of the string instead of a pointer to a static buffer.
+ (time_from_isodate): Resurrected function. Polished up to our
+ current standards of paranoia.
+
+ * pcs/query.c (func_time_now): New function (time-now).
+ (func_make_time): New function (make-time ISODATE).
+ (func_time_add_day): New function (time-add-day TIME N).
+ (func_time_day_begin): New function (time-day-begin TIME).
+ (func_time_day_end): New function (time-day-end TIME).
+ (func_occur_in_time_range): Use time_t values instead of ints.
+ (match_component): Free the stringized component. Free the ESexp
+ result value.
+
+ * gui/e-day-view.h: Removed a couple of unused prototypes.
+
+ * pcs/query.c (query_destroy): Oops, disconnect from the backend.
+
+ * pcs/cal.c (Cal_get_query): Duplicate the query reference before
+ we return it.
+
+ * gui/calendar-commands.c (pixmaps): Fixed paths to image files.
+
+2001-04-11 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_compute_changes):
+ prepend to both changes and change_ids when different and mark as
+ modified, not added
+
+2001-04-11 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/calendar-model.c (calendar_model_append_row): Fix this to
+ just send the data to the wombat instead of inserting it
+ ourselves.
+
+2001-04-11 Gediminas Paulauskas <menesis@delfi.lt>
+
+ Display fixes, thanks to Kjartan for finding these.
+
+ * gui/event-editor.c: use simple (not e_utf8_) gtk_clist_append for
+ strings which are never in utf-8.
+ * dialogs/delete-comp.c (delete_component_dialog): convert only
+ summary from utf-8 to gtk charset. Translated values are in correct
+ craset already.
+
+2001-04-04 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gui/calendar-commands.c: Fix headers.
+ * gui/calendar-config.c: Same here.
+ * gui/calendar-model.c: Same here.
+ * gui/e-day-view-time-item.c: Same here.
+ * gui/e-day-view-top-item.c: Same here.
+ * gui/e-day-view.c: Same here.
+ * gui/e-meeting-edit.c: Same here.
+ * gui/e-week-view-main-item.c: Same here.
+ * gui/e-week-view.c: Same here.
+ * gui/event-editor.c: Same here.
+ * gui/gnome-cal.c: Same here.
+ * gui/goto.c: Same here.
+ * gui/main.c: Same her.
+ * gui/print.c: Same here.
+
+2001-04-02 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-tasks.c (e_tasks_setup_menus): Plug leak.
+
+ * gui/event-editor.c (obj_updated_cb): Do nothing for now until we
+ think of something sensible to do.
+ (obj_removed_cb): Likewise.
+
+ * gui/dialogs/task-editor.c (obj_updated_cb): Likewise.
+ (obj_removed_cb): Likewise.
+
+ * gui/event-editor.c (dialog_to_comp_object): Plug leak.
+
+2001-04-01 Federico Mena Quintero <federico@ximian.com>
+
+ Client-side glue for the live query engine.
+
+ * cal-client/query-listener.[ch]: New files with the
+ implementation fo the QueryListener interface.
+
+ * cal-client/cal-query.[ch]: New files with the client-side
+ convenience object for live queries.
+
+ * cal-client/cal-listener.h (CalListenerClass): Removed unused
+ slots for signal handlers.
+
+ * cal-client/Makefile.am (libcal_clientinclude_HEADERS): Now we
+ install the evolution-calendar.h header. This sucks a bit.
+
+2001-04-01 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * gui/calendar-commands.c: use new pixmap cache. Added some menu icons
+ and changed filenames of renamed icons.
+ * gui/tasks-control.c: added icons for new task and print in menu.
+
+2001-03-29 Federico Mena Quintero <federico@ximian.com>
+
+ Engine for live queries to calendars. A query object watches a
+ CalBackend in the PCS and is otherwise completely separate from
+ it; backends need to do nothing to support live queries. Right
+ now we have the following functions:
+
+ (get-vtype)
+
+ Returns a string indicating the type of component
+ (VEVENT, VTODO, VJOURNAL, VFREEBUSY, VTIMEZONE,
+ UNKNOWN).
+
+ (occur-in-time-range? START END)
+
+ START - int, time_t start of the time range
+ END - int, time_t end of the time range
+
+ Returns a boolean indicating whether the component
+ has any occurrences in the specified time range.
+
+ * idl/evolution-calendar.idl (Cal::getQuery): New method that
+ initiates a live query.
+ (Query): New interface for a handle to a live query.
+ (QueryListener): New interface for a listener to changes in a live
+ query.
+
+ * pcs/query.[ch]: New files with the live query engine.
+
+ * pcs/cal-backend.h (CalBackendClass): Added notification signals
+ so that the query system can catch them.
+ (CalBackendClass): New virtual method ::get_load_state().
+
+ * pcs/cal-backend.c (cal_backend_opened):
+ (cal_backend_obj_updated):
+ (cal_backend_obj_updated): New functions to emit the notification
+ signals; to be used only by backend implementations.
+ (cal_backend_get_load_state): New function.
+
+ * pcs/cal-backend-file.c (notify_update): Call
+ cal_backend_obj_updated().
+ (notify_remove): Call call_backend_obj_removed().
+ (open_cal): Free the icalcomp if it is not of the correct type.
+ (cal_backend_file_get_load_state): Implemented new method.
+
+ * pcs/cal-backend-db.c (cal_backend_db_update_object): Call
+ cal_backend_obj_updated().
+ (cal_backend_db_remove_object): Call cal_backend_obj_removed().
+ (cal_backend_db_get_load_state): Implemented new method.
+
+ * pcs/cal.c (Cal_get_query): Implementation of the ::getQuery()
+ method.
+
+2001-03-27 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/e-itip-control.c: fixed button placement to comply
+ with gnome standards.
+
+2001-03-27 Anna Marie Dirks <anna@ximian.com>
+
+ * gui/e-itip-control.glade: fixed spacing and label alignment to
+ comply with gnome standards. Also removed shadows from extraneous
+ scrolled windows to avoid bevelitous. There are many more changes
+ that need to happen to this viewer, but they all require a hacker
+ to do some c-coding, so I will avoid committing them until after the
+ .10 release.
+
+2001-03-26 Kjartan Maraas <kmaraas@gnome.org>
+
+ * cal-client/client-test.c: Replace includes of <gnome.h>, <bonobo.h>
+ and <gtk/gtk.h> with the needed headers to speed up compile.
+ * cal-util/test-recur.c: Same here for <gtk/gtk.h>
+ * gui/calendar-commands.c: Replace <bonobo.h> and remove
+ <libgnorba/gnorba.h>
+ * gui/calendar-summary.c: Replace <gnome.h> and <bonobo.h>
+ * gui/calendar-summary.h: Added <bonobo/bonobo-generic-factory.h>
+ * gui/component-factory.c: Remove <bonobo.h>
+ * gui/control-factory.c: Replace <bonobo.h>
+ * gui/e-calendar-table.c: Remove <gnome.h>
+ * gui/e-itip-control.c: Replace <gnome.h> and <bonobo.h>
+ * gui/e-meeting-edit.c: Replace <bonobo.h>
+ * gui/e-tasks.c: Replace <gnome.h>
+ * gui/e-tasks.h: Replace <bonobo.h>
+ * gui/gnome-cal.h: Remove <bonobo.h>
+ * gui/main.c: Replace <bonobo.h> and <glade/glade.h>
+ * gui/tasks-control-factory.c: Replace <bonobo.h>
+ * gui/tasks-control.c: Replace <gnome.h> and <bonobo.h>
+ * gui/weekday-picker.c: Add <string.h> and <libgnome/gnome-defs.h>
+ * gui/alarm-notify/client-main.c: Remove <gnome.h> and <bonobo.h>
+ * gui/alarm-notify/notify-main.c: Replace <gnome.h> and <bonobo.h>
+ * gui/dialogs/alarm-notify-dialog.c: Replace <gnome.h>
+ * pcs/cal-backend.c: Replace <gtk/gtk.h>
+
+2001-03-25 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/e-calendar-table.c (e_calendar_table_init): The
+ model_rows_{inserted,deleted} signals changed names; deal with it.
+ (e_calendar_table_on_rows_inserted): Updated for new ETable API.
+ (e_calendar_table_on_rows_deleted): Likewise.
+
+ * gui/gnome-cal.h (GnomeCalendarOpenMode): Removed unused enum.
+
+ * gui/gnome-cal.c (gnome_calendar_open): Constify.
+
+ * gui/calendar-commands.c (calendar_set_uri): Removed function,
+ since it was just calling gnome_calendar_open().
+
+ * gui/control-factory.c (set_prop): Replace usage of
+ calendar_set_uri() with gnome_calendar_open().
+ (load_calendar): Likewise.
+ (calendar_persist_init): Made static.
+
+ * gui/e-tasks.c: #include "calendar-config.h"
+ (e_tasks_update_all_config_settings): We are configuring a table,
+ not a calendar! Use the appropriate function.
+
+2001-03-17 Miguel de Icaza <miguel@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_new_event,
+ e_day_view_on_new_appointment): Simplifed this function to use the
+ shared code.
+
+ * gui/e-week-view.c (e_week_view_on_new_event,
+ e_week_view_on_new_appointment): ditto.
+
+ * gui/gnome-cal.c (gnome_calendar_new_appointment_for): New
+ function used to launch editor components with a time range. A
+ bunch of functions use this code now instead of duplicating code
+ all over the place
+
+ * gui/e-week-view.c (e_week_view_new_event): Moved functionality
+ here from e_day_view_on_new_appointment. Allows setting for "full
+ day" event.
+ (e_week_view_on_new_full_day): New function for making a full day
+ event.
+ (e_week_view_on_goto_date): Go To support.
+ (e_week_view_on_goto_today): Goto today support.
+
+ * gui/e-day-view.c (e_day_view_new_event): Moved functionality
+ here from e_day_view_on_new_appointment. Allows setting for "full
+ day" event.
+ (e_day_view_on_new_full_day): New function for making a full day
+ event.
+ (e_day_view_on_goto_date): Go To support.
+ (e_day_view_on_goto_today): Goto today support.
+
+ * main_items: Add New All Day Event; Go to Today; Go to Date.
+
+2001-03-07 Miguel de Icaza <miguel@ximian.com>
+
+ * gui/control-factory.c (calendar_persist_init): New function:
+ inits the BonoboPersistFile server.
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: Added BonoboPropertyBag to
+ the list of supported interfaces that were supported but not
+ reported. Add the new PersistFile.
+
+ Add text/calendar mime type attribute.
+
+2001-03-15 Dan Winship <danw@ximian.com>
+
+ * gui/e-week-view.c (e_week_view_start_editing_event):
+ * gui/e-day-view.c (e_day_view_start_editing_event): Update
+ arguments to e_canvas_item_grab_focus.
+
+2001-03-15 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * gui/*.xpm: moved to ../art.
+ * gui/Makefile.am: removed *.xpm and oaf_DATA from EXTRA_DIST.
+ * gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view.c:
+ #include "art/*.xpm".
+
+2001-03-09 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/Makefile.am: PISOCK_INCLUDEDIR has become
+ PISOCK_CFLAGS in gnome-pilot.m4 and remove capplet foo
+
+ * conduits/calendar/Makefile.am: ditto
+
+2001-03-08 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component-factory.c (factory_fn): Specify a NULL
+ `EvolutionShellComponentGetDndSelectionFn'.
+
+2001-02-27 Miguel de Icaza <miguel@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_event_right_click): Reorganize
+ the menus to have entries always in a consistent fashion, as
+ reported to the genepool mailing list.
+ (e_day_view_on_event_right_click): Added a FIXME comment to the
+ FIXME comment without a FIXME.
+
+ Now we use e_popup_menu. This allows us to hide/show items on
+ demand, and to sensitize/de-sensitize items depending on their
+ state.
+
+ This will also let us add icon support (when we get nice icons for
+ this)
+
+ * gui/e-week-view.c (e_week_view_show_popup_menu): Ditto.
+
+ The files popup-menu.c and popup-menu.h can now be removed.
+
+2001-03-05 Damon Chaplin <damon@ximian.com>
+
+ * gui/e-tasks.c: keep list of all Tasks folders so we can update the
+ preference settings when necessary.
+
+ * gui/gnome-cal.c: configure the TaskPad according to the settings.
+
+ * gui/e-calendar-table.c: use ECellCombo and ECellDateEdit for fields,
+ so the tasks folders is almost usable now.
+
+ * gui/calendar-model.c: added support for the Status property.
+
+ * gui/calendar-config.[hc]: added convenience functions to setup
+ ECalendarTable and ECellDateEdit objects.
+
+ * gui/calendar-commands.c: connected to "destroy" signal of calendars
+ so we can remove them from all_calendars list.
+
+ * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config):
+ call e_tasks_update_all_config_settings() to update all the settings
+ in the Tasks folders as well.
+
+ * cal-util/cal-component.h: added CAL_COMPONENT_FIELD_STATUS.
+
+ * cal-util/cal-component.c (cal_component_get_transparency): fixed
+ calls to strcasecmp so they check for '== 0'.
+
+ Applied patch from Miguel...
+
+2001-02-27 Miguel de Icaza <miguel@ximian.com>
+
+ * gui/e-day-view.c (e_day_view_on_event_right_click): Reorganize
+ the menus to have entries always in a consistent fashion, as
+ reported to the genepool mailing list.
+ (e_day_view_on_event_right_click): Added a FIXME comment to the
+ FIXME comment without a FIXME.
+
+ Now we use e_popup_menu. This allows us to hide/show items on
+ demand, and to sensitize/de-sensitize items depending on their
+ state.
+
+ This will also let us add icon support (when we get nice icons for
+ this)
+
+ * gui/e-week-view.c (e_week_view_show_popup_menu): Ditto.
+
+ The files popup-menu.c and popup-menu.h can now be removed.
+
+2001-03-02 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/e-todo.conduit.in: update for new pilot foo
+
+ * conduits/calendar/e-calendar.conduit.in: ditto
+
+ * conduits/todo/Makefile.am: update sed script
+
+ * conduits/calendar/Makefile.am: ditto
+
+2001-02-28 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/event-editor.c (recurrence_exception_select_row_cb): New
+ function to set the EDateEdit's value when a row is selected in
+ the exception date list. Fixes bug #1638.
+ (append_exception): Set the value as well. Block/unblock signals
+ from the clist as appropriate. Gotta love non-model/view widgets.
+ (recurrence_exception_delete_cb): Be more paranoid about the
+ contents of the list row's data.
+ (recur_to_comp_object): Likewise.
+ (fill_exception_widgets): Select the first row after we are done
+ appending the exception dates.
+
+2001-02-26 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/Makefile.am (libalarm_a_SOURCES): Create a
+ little stand-alone library for the low-level alarm trigger
+ mechanism. This is so that the GUI parts of the calendar can use
+ it in addition to the alarm daemon.
+
+ * gui/main.c: #include "alarm-notify/alarm.h".
+
+ * gui/calendar-summary.c: Likewise.
+ (alarm_fn): Do not remove the previous alarm; it is removed
+ automatically when it is triggered.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Removed alarm.[ch]
+ from the sources.
+
+ * gui/alarm.[ch]: Removed obsolete files.
+
+2001-02-23 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/alarm-notify/alarm-notify.c (AlarmNotify_addCalendar):
+ Switched to using our own refcounted structure for loaded clients.
+ (AlarmNotify_removeCalendar): Ditto. Also, do the full
+ destruction of the client.
+ (alarm_notify_destroy): Destroy each element in the hash table.
+
+ * cal-client/cal-client.c (cal_client_construct): Test for
+ exceptions from OAF when activating the Wombat calendar factory.
+
+ * gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.oaf.in:
+ New .oaf.in file.
+
+ * gui/alarm-notify/Makefile.am (oaf_in_files): Updated.
+
+ * gui/GNOME_Evolution_Calendar.oaf.in: Put all the servers here
+ instead of in a million files.
+
+ * gui/GNOME_Evolution_Calendar_Control.oaf.in: Removed file.
+
+ * gui/GNOME_Evolution_Calendar_gnomecal.oaf.in: Removed *REALLY*
+ obsolete file.
+
+ * gui/Makefile.am (oaf_in_files): Updated.
+
+2001-02-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-db.c (add_history): fixed generation of history records
+
+2001-02-16 Federico Mena Quintero <federico@ximian.com>
+
+ * pcs/cal-factory.c (CalFactoryPrivate): Added a `registered'
+ field.
+ (cal_factory_oaf_register): New function; now the factory performs
+ its own registration with OAF.
+ (cal_factory_destroy): Unregister from OAF if appropriate.
+
+2001-02-19 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/Makefile.am: Remove PISOCK_LIBDIR
+
+ * conduits/calendar/Makefile.am: ditto
+
+2001-02-16 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/calbackend-db.c (cal_backend_db_destroy): close DB environment.
+ Some compilation warnings removed
+
+2001-02-13 Christopher James Lahey <clahey@ximian.com>
+
+ * gui/Makefile.am (evolution_calendar_LDADD): Added libmenus.la.
+
+ * gui/e-calendar-table.c, gui/e-calendar-table.h
+ (e_calendar_table_get_spec): Added this function.
+
+ * gui/e-tasks.c, gui/e-tasks.h (e_tasks_setup_menus): Added this
+ function.
+
+ * gui/tasks-control.c (tasks_control_activate): Call
+ e_tasks_setup_menus.
+
+2001-02-13 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-tasks.c (e_tasks_new_task): call task_editor_focus
+
+2001-02-13 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-commands.c (update_pixmaps): Set toolbar new
+ appointment icon
+ (set_pixmap): load files rather than create from xpm file
+
+ * gui/*view.xpm: move to the art directory
+
+2001-02-13 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-db.c (cal_backend_db_get_alarms_for_object):
+ implemented
+
+2001-02-13 JP Rosevear <jpr@ximian.com>
+
+ * gui/calendar-commands.c (update_pixmaps): Set toolbar new command
+
+ * gui/e-calendar-table.c: Add titles to pixbuf column for grouping
+
+ * gui/calendar-model.c (calendar_model_class_init): override value
+ to string virtual method
+ (calendar_model_value_to_string): implement value to string for
+ etable (necessary for group by)
+
+2001-02-12 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-file.c:
+ cal_backend_db_update_object(): manage both updates and additions/add notification
+ cal_backend_db_get_object(): don't use DB cursors
+ cal_backend_db_get_type_by_uid(): don't use DB cursors
+ cal_backend_db_remove_object(): don't use DB cursors/add notification
+ cal_backend_db_get_alarms_in_range(): implemented
+
+2001-02-12 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gui/Makefile.am: Hook up the xml-i18n-tools + .oaf.in stuff.
+ * gui/GNOME_Evolution_Calendar*.oaf.in: Marked strings for translation.
+
+2001-02-11 Rodrigo Moya <rodrigo@ximian.com>
+
+ * pcs/cal-backend-db.c: added DB3 transactions support
+ * pcs/cal-backend-db.[ch]: added the new DB3-based backend. This is just
+ the beginning, there are some missing things still.
+
+2001-02-11 Gediminas Paulauskas <menesis@delfi.lt>
+
+ Really use xml-i18n-tools.
+
+ * conduits/calendar/e-calendar-conduit-control-applet.desktop,
+ conduits/todo/e-todo-conduit-control-applet.desktop: removed.
+
+ * conduits/calendar/e-calendar-conduit-control-applet.desktop.in,
+ conduits/todo/e-todo-conduit-control-applet.desktop.in: added empty.
+
+ * conduits/calendar/Makefile.am, conduits/todo/Makefile.am:
+ reflect above changes, merge translations.
+
+ * gui/*.glade.h, gui/dialogs/*.glade.h: removed, xml-i18n-extract
+ takes care of strings itself.
+
+ * gui/*.glade, gui/dialogs/*.glade: do not output_translatable_strings
+
+ * gui/Makefile.am, gui/dialogs/Makefile.am: do not include removed
+ files in EXTRA_DIST.
+
+2001-02-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-editor-dialog.glade: Oops, remove old widget
+
+2001-02-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/task-editor.c (fill_widgets): fill in new
+ classification stuff properly
+ (get_widgets): load new class. widgets
+ (init_widgets): if the class. widgets change, mark the dialog
+ dirty
+ (dialog_to_comp_object): set the comp class. from the new widgets
+
+ * gui/dialogs/task-editor-dialog.glade: Make more consistent,
+ fixing bugs 1247 and 1249
+
+ * gui/dialogs/task-editor.c (fill_widgets):
+
+ * gui/event-editor-dialog.glade: Gui tidying
+
+ * gui/event-editor.c: Remove old alarm cruft
+
+ * cal-util/cal-component.c (cal_component_set_url): Don't try and
+ write an empty string as a property
+
+
+2001-02-08 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-backend-file.c: Move the get_change code here
+
+ * pcs/cal-backend.c: Remove get_changes related stuff and
+ implement by calling the virtual method instead
+
+ * pcs/cal-backend.h: New virtual method.
+
+ * pcs/cal-backend-file.c (compute_alarm_range): Use
+ icaldurationtype_as_int (replace _as_timet)
+ (add_alarm_occurrences_cb): ditto
+
+2001-02-08 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-backend-file.c (compute_alarm_range): Use
+ icaldurationtype_as_int (replace _as_timet)
+ (add_alarm_occurrences_cb): ditto
+
+ * gui/e-week-view.c (e_week_view_on_schedule_meet): new routine to
+ throw up the meeting schedule dialog
+ (e_week_view_show_popup_menu): add schedule meeting to the
+ contextual menu where appropriate
+
+2001-02-08 JP Rosevear <jpr@ximian.com>
+
+ * gui/event-editor.c: Remove assorted menu/bonobo stuff
+
+ * gui/dialogs/task-editor.c: Remove assorted menu/bonobo stuff
+ (task_editor_construct): no longer suck out the glade contents
+ into a bonobo win, listen for apply and close signals
+ (tedit_apply_event_cb): listen for apply signal and save object
+ (tedit_close_event_cb): listen for close signal and prompt to save
+ if need be
+ (task_editor_focus): new function to bring the dialog to the front
+
+ * gui/dialogs/task-editor.h: new prototype
+
+ * gui/e-meeting-edit.c (schedule_button_clicked_cb): no need to
+ update widgets in the event editor since the event editor won't be
+ open
+ (e_meeting_editor_new): don't need the event editor reference any
+ more
+
+ * gui/e-meeting-edit.h: Change prototype
+
+ * gui/e-day-view.c (e_day_view_on_event_right_click): Make
+ schedule meeting a new contextual menu item
+ (e_day_view_on_schedule_meet): new routine to schedule a meeting
+ from the contextual menu
+
+ * gui/e-calendar-table.c (e_calendar_table_open_task): Call
+ task_editor_focus
+
+ * gui/event-editor-dialog.glade: Update to be a property box
+
+ * gui/dialogs/task-editor-dialog.glade: Update to be a property
+ box
+
+2001-02-07 Iain Holmes <iain@ximian.com>
+
+ * gui/calendar-summary.c (create_summary_view): Add a setter to the
+ property bag.
+ (set_property): The setter.
+ (generate_html_summary): Sort the UIDs accodring to time.
+
+2001-02-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/event-editor.c (fill_reminder_widgets): Match new
+ append_alarm signature
+ (reminder_to_comp_object): only add alarms tagged as new, no
+ longer delete all alarms first
+ (append_reminder): the row data is now of type ReminderData,
+ rename from append_alarm
+ (reminder_add_cb): math new append_alarm signature
+ (reminder_delete_cb): if the alarm existed before the dialog was
+ loaded, delete it immediately from the cal component
+
+2001-02-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/event-editor-dialog.glade: Gui tweaks for bugs 1248 and 1246
+
+ * gui/dialogs/task-editor-dialog.glade: ditto
+
+2001-02-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/event-editor-dialog.glade: Fix spacing
+
+2001-02-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/event-editor-dialog.glade: Gui tweaks for bugs 1248 and 1246
+
+ * gui/dialogs/task-editor-dialog.glade: ditto
+
+2001-02-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-week-view.c (e_week_view_show_popup_menu): Make the menus more
+ consistent
+
+ * gui/e-day-view.c (e_day_view_on_event_right_click): ditto
+
+ * gui/e-calendar-table.c: ditto
+
+2001-02-06 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-component.c (cal_component_set_categories): If the
+ categories string is empty, remove the property
+ (get_period_list): Fixes from clahey to handle the new rdate
+ format in libical
+ (set_period_list): ditto
+
+2001-02-05 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-component.c (cal_component_alarm_set_trigger): Set
+ the time and duration values in the trigger to null by default
+ (cal_component_free_alarm_uids): properly free the list of alarm
+ uids
+
+2001-02-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/event-editor.c (get_widgets): get the new reminder widgets
+ (sync_entries): different callback data
+ (summary_changed_cb): take different data and handle various cases
+ (init_widgets): connect signals for the new widgets
+ (get_alarm_duration_string): give a text string of the alarm
+ duration
+ (get_alarm_string): give a string representing the alarm
+ (fill_widgets): make sure we don't loop infinitely and remove old
+ alarm cruft
+ (reminder_to_comp_object): dump alarm info in the gui into the cal
+ component
+ (append_alarm): add alarm to the clist
+ (reminder_add_cb): create new alarm
+ (reminder_delete_cb): remove the alarm from the list
+
+ * gui/event-editor-dialog.glade: Update gui
+
+ * gui/e-calendar-table.c: include gnome.h for all the menu stuff
+
+ * gui/calendar-summary.c: for internationalization
+
+ * gui/tasks-control.c: include gnome.h
+
+ * gui/e-tasks.c: ditto
+
+ * gui/e-itip-control.c: ditto
+
+ * cal-util/cal-recur.c (cal_recur_set_rule_end_date): Update for
+ libical changes
+
+2001-02-05 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/calendar-model.c: Fixed up these #includes.
+
+2001-02-03 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/save-comp.c (save_component_dialog):
+ gnome_dialog_grab_focus() on the Yes button. Fixes bug #1242.
+
+2001-01-30 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gui/e-calendar-table.c: Mark a string for translation.
+ * gui/e-itip-control.c: Mark a bunch of strings for translation.
+
+2001-01-30 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/print.c: #include <sys/time.h>.
+
+2001-01-29 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/calendar-config.c: <gnome.h> trimming to reduce compilation
+ time.
+ * gui/calendar-summary.c: Likewise.
+ * gui/e-calendar-table.c: Likewise.
+ * gui/e-day-view-time-item.c: Likewise.
+ * gui/e-day-view.c: Likewise.
+ * gui/e-itip-control.c: Likewise.
+ * gui/e-meeting-edit.c: Likewise.
+ * gui/e-meeting-edit.h: Likewise.
+ * gui/e-tasks.c: Likewise.
+ * gui/e-week-view.c: Likewise.
+ * gui/event-editor.c: Likewise.
+ * gui/gnome-cal.c: Likewise.
+ * gui/goto.c: Likewise.
+ * gui/itip-utils.h: Likewise.
+ * gui/main.c: Likewise.
+ * gui/popup-menu.c: Likewise.
+ * gui/print.c: Likewise.
+ * gui/tasks-control-factory.c: Likewise.
+ * gui/tasks-control.c: Likewise.
+ * gui/tasks-migrate.c: Likewise.
+
+2001-01-25 Federico Mena Quintero <federico@ximian.com>
+
+ * cal-util/timeutil.c: <gnome.h> trimming to reduce compilation time.
+ * gui/dialogs/task-editor.c: Ditto.
+ * gui/dialogs/cal-prefs-dialog.c: Ditto.
+ * gui/dialogs/save-comp.c: Ditto.
+ * gui/dialogs/delete-comp.c: Ditto.
+ * gui/calendar-commands.c: Ditto.
+ * gui/calendar-model.c: Ditto.
+
+2001-01-26 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/e-itip-control.c (itip_control_destroy_cb): Don't attempt to
+ call `icalcomponent_remove_component()' on a NULL component or a
+ NULL subcomponent.
+
+2001-01-25 Damon Chaplin <damon@ximian.com>
+
+ * gui/tag-calendar.c: don't tag the calendar if no dates are shown.
+ (e_calendar_item_get_date_range() now returns FALSE in this case.)
+
+2001-01-23 Damon Chaplin <damon@helixcode.com>
+
+ * gui/calendar-model.c (ensure_task_complete): make sure the status
+ is set to "Completed". Fixes bug #1253.
+
+ * gui/e-tasks.c (e_tasks_open): load the ETable state after opening
+ the tasks folder, since it relies on the folder uri, which isn't set
+ now until you open the folder.
+
+ * gui/calendar-model.c (obj_updated_cb): add the categories from the
+ updated object to our tree, and emit the "categories-changed" signal
+ if they have changed. Fixes bug #1255.
+
+ * gui/e-tasks.c: removed debug messages.
+
+2001-01-23 JP Rosevear <jpr@ximian.com>
+
+ * libical import cleanup
+
+2001-01-23 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (local_record_from_comp): properly ref
+ the cal component when we use it, prevents double free
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp): ditto
+
+2001-01-22 JP Rosevear <jpr@ximian.com>
+
+ * gui/dialogs/Makefile.am: compile new stuff
+
+ * gui/dialogs/task-editor.c (prompt_to_save_changes): use new
+ standard dialog
+
+ * gui/event-editor.c (prompt_to_save_changes): ditto
+
+ * gui/dialogs/save-comp.h: new header
+
+ * gui/dialogs/save-comp.c (save_component_dialog): shows the save
+ dialog
+
+2001-01-22 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (for_each_modified): remove duplicate
+ message
+
+ * conduits/calendar/Makefile.am: Remove vfs lib dependency
+
+ * conduits/todo/Makefile.am: ditto
+
+ * conduits/calendar/calendar-conduit.c: Remove alarm foo for now
+ (for_each_modified): remove duplicate message
+
+2001-01-21 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (delete_record): Remove
+ deleted records from the pilot map so we don't have dupes in the future
+
+ * conduits/todo/todo-conduit.c (delete_record): ditto
+
+2001-01-21 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/dialogs/task-editor.c (file_delete_cb): Fix bug #1250; now
+ we present a confirmation dialog before deleting the component.
+
+2001-01-20 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/event-editor-dialog.glade: Fix bug #1243. Turn on the Y
+ expand/fill options for the date widgets in the General page.
+ This makes them be vertically aligned with the "All day event"
+ toggle so that they will get the focus in the proper order; the
+ toggle would get the focus before them because it was a pixel or
+ two above them.
+
+2001-01-19 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/weekday-picker.c (weekday_picker_init): Unset the
+ GTK_CAN_FOCUS flag on the weekday picker. This will do until it
+ supports being used with the keyboard.
+
+2001-01-19 JP Rosevear <jpr@ximian.com>
+
+ * cal-util/cal-component.c (cal_component_alarm_new): create a new
+ cal component alarm
+ (cal_component_add_alarm): add alarm to the cal component
+ (cal_component_remove_alarm): remove alarm from the cal component
+ (remove_alarm): remove alarm from hash
+
+ * cal-util/cal-component.h: new protos
+
+ * conduits/calendar/calendar-conduit.c (comp_from_remote_record):
+ add alarm information, still needs to be hacked to replace an already
+ existing alarm. questions abound about the heuristic for doing this.
+
+2001-01-17 JP Rosevear <jpr@ximian.com>
+
+ * gui/event-editor.c (dialog_to_comp_object): Properly set categories
+ to NULL if there are none
+
+2001-01-18 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/tasks-migrate.[ch]: New files with a simple sequence to
+ migrate the task components from the old calendar folder into the
+ new tasks folder.
+
+ * gui/component-factory.c (owner_set_cb): Call tasks_migrate()
+ once evolution_dir is set. It sucks to have to do this here.
+
+ * cal-client/cal-client.c (cal_client_get_uids): In the inline
+ docs, indicate how to free the return value.
+ (cal_opened_cb): Ahem, moved assertion to the right place. Also,
+ ref() and unref() around our own signal emission because we are
+ not inside a signal handler, rather a simple callback from the
+ listener object; we want to have a chance to clean up even if the
+ client is unrefed during the emission.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ tasks-migrate.[ch] to the list of sources.
+
+2001-01-17 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/event-editor.c (init_widgets): Use
+ e_calendar_item_set_max_days_sel() instead of setting GTK+ object
+ arguments.
+
+ * gui/e-day-view.c (e_day_view_set_cal_client): Oops, we had a
+ reversed test for the client being loaded.
+
+ * gui/tag-calendar.c (tag_calendar_by_client): Fixed similarly
+ reversed test.
+
+2001-01-17 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-week-view*.c
+ * gui/e-day-view*.c: don't use the theme colors at all within
+ the graphical parts of the widgets, since they may clash with
+ our colors. May make them configurable in future so people can tweak
+ them to go with their theme. At least the calendars are usable in any
+ theme now, even though the colors may not go well with the theme.
+ Also set the font of all the EText items in style_set.
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw): don't
+ draw the icons if we are editing the event.
+
+ * gui/e-day-view.c:
+ * gui/e-week-view.c: reinstated the optimizations so we don't do a
+ complete relayout if the event's dates haven't been changed.
+ (Though we still do a re-layout when recurring events change, since
+ comparing all the RDATES/RRULES/EXDATES/EXRULES is too much hassle.)
+ A side-effect of this change is that the EWeekView won't crash so
+ often - only recurring events will be a problem.
+
+ * cal-util/cal-component.[hc]: added function to check if the start
+ and end dates of a component match. Used for optimizing the updating
+ of the EDayView & EWeekView.
+
+2001-01-17 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (start_calendar_server): Check
+ for open error and handled
+
+ * conduits/todo/todo-conduit.c (start_calendar_server): ditto
+
+2001-01-17 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/calendar-conduit.c (start_calendar_server): Check
+ for open error and handled
+
+ * pcs/cal-backend.c (cal_backend_compute_changes): Fix transposition
+ of sync db location
+
+2001-01-17 Federico Mena Quintero <federico@ximian.com>
+
+ * */*: Ximianified email addresses and copyrights.
+
+ * idl/evolution-calendar.idl (CalFactory::open): Renamed from
+ ::load(), and added an only_if_exists argument.
+ (CalFactory::create): Removed method.
+ (Listener::OpenStatus): Removed the IN_USE error and replaced it
+ with a NOT_FOUND one; renamed the enum from LoadStatus.
+ (Listener::notifyCalOpened): Renamed from notifyCalLoaded().
+
+ * pcs/cal-backend.h (CalBackend): Removed the uri field.
+ (CalBackendOpenStatus): Renamed from CalBackendLoadStatus and
+ added a NOT_FOUND value.
+ (CalBackendClass::open): Put in a slot for the open method.
+
+ * pcs/cal-backend.c (cal_backend_create): Removed function.
+
+ * pcs/cal-backend-file.c (cal_backend_file_open): Return the
+ appropriate value when only_if_exists is TRUE.
+ (create_cal): We are Ximian now, so set the PRODID property to
+ the appropriate foo.
+
+ * pcs/cal-factory.c (CalFactory_open): implemented, replacing
+ CalFactory_load() and CalFactory_create().
+ (CalFactory_open): Moved the queue_load_create_job() stuff to
+ here, since we now only need to contemplate the open case instead
+ of load/create ones.
+ (open_backend): Do everything here; replaces load_backend() and
+ create_backend().
+
+ * cal-client/cal-listener.h (CalListenerClass::cal_opened):
+ Renamed from cal_loaded.
+ (CalListenerClass): Replaced the silly signals, which are
+ gratuitous abstraction, by a set of function pointers in the
+ instance structure.
+
+ * cal-client/cal-listener.c (cal_listener_get_calendar): Removed
+ unused function.
+ (cal_listener_construct): Added the listener notification functions.
+ (cal_listener_new): Ditto.
+ (Listener_notifyCalOpened): Renamed to our new naming convention
+ for servant implementations.
+ (Listener_notifyObjUpdated): Ditto.
+ (Listener_notifyObjRemoved): Ditto.
+
+ * cal-client/cal-client.h (CalClientOpenStatus): Renamed from
+ CalClientLoadStatus.
+ (CalClientClass::cal_opened): Renamed from ::cal_loaded().
+ (CalClientLoadState): New enum; basically make LoadState public so
+ that users of this code do not have to maintain their own states.
+
+ * cal-client/cal-client.c (cal_client_create_calendar): Removed
+ function.
+ (cal_client_open_calendar): Moved the functionality over from
+ load_or_create(); now we do everything here.
+ (*): Use the CalClientLoadState enum values instead of the old
+ LoadState values.
+ (cal_client_get_load_state): Renamed from cal_client_is_loaded(),
+ and return the appropriate value.
+ (CalClientPrivate): Added an uri field.
+ (cal_client_init): Initialize priv->uri.
+ (cal_client_destroy): Free the priv->uri.
+ (cal_opened_cb): Maintain the priv->uri.
+ (cal_client_open_calendar): Fill in the priv->uri.
+ (cal_client_get_uri): New function.
+
+ * gui/calendar-model.c (calendar_model_set_new_comp_vtype): New
+ function to configure the type of calendar components to create
+ when doing click-to-add. This makes the model usable for
+ something other than task lists.
+ (calendar_model_get_new_comp_vtype): New function.
+
+ * gui/e-calendar-table.c (e_calendar_table_get_model): New function.
+ (e_calendar_table_destroy): Unref the subset_model.
+
+ * gui/gnome-cal.h (GnomeCalendarOpenMode): Removed enum.
+
+ * gui/gnome-cal.c (LoadState): Removed enum; we now use the
+ CalClientLoadState from the client objects.
+ (GnomeCalendarPrivate): Removed the loading_uri and
+ task_pad_loading_uri fields as well as the load_state and
+ task_pad_load_state fields, as we can now query them directly from
+ the CalClient.
+ (open_error): Renamed from load_error().
+ (create_error): Removed function.
+ (gnome_calendar_open): Do not take in the mode parameter.
+ (cal_opened_cb): Get rid of our beautifully-crafted state machine
+ and replace it with simple code; all the loading smarts are in the
+ Wombat now.
+ (setup_widgets): Set the new component vtype of the table model to
+ CAL_COMPONENT_TODO.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Removed
+ gnome-month-item.[ch] from the list of sources.
+
+ * gui/calendar-summary.c (CalSummary): Removed unused cal_loaded
+ field.
+ (create_summary_view): Do not check if the file exists; this is
+ the job of the Wombat.
+ (generate_html_summary): Fixed prototype.
+ (alarm_fn): Fixed prototype.
+ (property_dialog): Fixed prototype. Wonder if/how this ever
+ worked.
+ (create_summary_view): Cast the component and view as
+ appropriate. Removed unused html variable.
+
+ [Iain dude, are you compiling with -Wall?]
+
+ * gui/e-itip-control.c (cal_opened_cb): Sigh, this function
+ signature was *very* wrong. It was using CalClientGetStatus
+ instead of CalClientOpenStatus.
+
+ * gui/e-tasks.h (ETasksOpenMode): Removed enum.
+
+ * gui/e-tasks.c (setup_widgets): Set the new component vtype of
+ the table model to CAL_COMPONENT_TODO.
+ (LoadState): Removed the state machine foo.
+ (e_tasks_open): Removed the mode parameter.
+ (initial_load): Removed function.
+ (create_error): Removed function.
+ (ETasksPrivate): Removed folder_uri field.
+ (cal_opened_cb): Remove the state machine.
+
+ * gui/component-factory.c: #include "tasks-control.h"
+
+ * conduits/calendar/calendar-conduit.h (ECalConduitContext):
+ Removed calendar_load_tried field.
+
+ * conduits/calendar/calendar-conduit.c (start_calendar_server_cb):
+ Sigh, fixed function prototype.
+
+ * conduits/todo/todo-conduit.h (EToDoConduitContext): Removed
+ calendar_load_tried field.
+
+ * conduits/todo/todo-conduit.c (start_calendar_server_cb): Fixed
+ function prototype.
+
+2001-01-16 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (print_local): fix debug output
+ (print_remote): ditto
+
+2001-01-15 JP Rosevear <jpr@ximian.com>
+
+ * pcs/cal-backend.c (cal_backend_compute_changes): accomadate tasks
+ in their new dir
+
+ * conduits/todo/todo-conduit.c (start_calendar_server): ditto
+
+2001-01-15 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (print_local): prevent segfaults and
+ buffer overflows.
+ (print_remote): ditto
+
+ * conduits/calendar/calendar-conduit.c: as above
+
+2001-01-14 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): changed the expansion
+ values so that small text fields are 1.0, all the date fields and the
+ URL field are 2.0, and the Summary is 3.0. Hopefully the user will
+ resize the fields as desired, but at least this is a better start.
+
+2001-01-14 JP Rosevear <jpr@ximian.com>
+
+ * conduits/calendar/Makefile.am: pass -module and -avoid-version to
+ conduit linker
+
+ * conduits/todo/Makefile.am: ditto
+
+2001-01-14 Damon Chaplin <damon@helixcode.com>
+
+ * gui/dialogs/task-editor.[hc]: moved #include
+ <cal-client/cal-client.h> to the .h file.
+
+ * gui/e-tasks.c: load & save the Tasks folders' ETable layout.
+ Added an option menu to filter tasks by category.
+
+ * gui/gnome-cal.c: use the "Tasks" folder for the TaskPad.
+ (We may make the actual tasks folder shown a per-calendar option.)
+
+ * gui/tasks-control.c (tasks_control_new_task_cmd): added support for
+ the New Task icon on the toolbar.
+
+ * gui/e-calendar-table.[hc]: we now use an ETableSubsetVariable model
+ to filter the tasks by a category. And tidied up a little.
+
+ * gui/calendar-model.[hc]: added way to get all the categories used by
+ the tasks, so we can show an option menu of them. Also a signal which
+ is emitted when they are changed.
+ Also allows a default category to be set, which is used to initialize
+ the 'click-to-add' row.
+ Also made sure the initialize_value()/get_value() functions don't
+ return NULL since that can cause a SEGV.
+
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: set the "fill_color_rgba" arg of the EText items
+ to black since it doesn't seem to set up a default color properly.
+ Hopefully this fixes the bug on Solaris where the items appear with
+ strange colors.
+
+ * gui/widget-util.c (date_edit_new): use the calendar_config function
+ to set most of the options. It wasn't setting the 12/24 hour option
+ before.
+
+ * gui/dialogs/task-editor-dialog.glade: added "Undefined" priority.
+
+2001-01-12 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/component-factory.c (factory_fn): Pass NULL as the
+ @copy_folder_fn arg to `evolution_shell_component_new()'.
+
+2001-01-12 Miguel de Icaza <miguel@ximian.com>
+
+ * gui/e-calendar-table.c: Add translation strings.
+
+2001-01-08 Iain Holmes <iain@helixcode.com>
+
+ * gui/calendar-summary.c (create_summary_view): Add a PropertyControl
+ interface to set whether or not to show tasks and appointments. Add
+ a PersistStream to remember this.
+
+2001-01-09 Dave Camp <dave@helixcode.com>
+
+ * gui/Makefile.am: Replaced e-meet-dialog.glade.h with
+ e-meeting-dialog.glade in glade_messages.
+
+ * gui/e-meeting-dialog.glade: Enabled the translatable string option.
+
+ * gui/e-itip-control.glade: Likewise.
+
+2001-01-09 Federico Mena Quintero <federico@helixcode.com>
+
+ * idl/evolution-calendar.idl (AlarmNotify): New interface for the
+ alarm notification system.
+
+ * gui/alarm-notify: New directory for the alarm notification
+ daemon and its auxiliary stuff.
+
+ * gui/alarm-notify/alarm.[ch]: Moved over from gui/alarm.[ch].
+
+ * gui/alarm-notify/alarm-queue.[ch]: Moved over from
+ gui/alarm-notify.[ch]. Renamed functions from alarm_notify_*() to
+ alarm_queue_*().
+
+ * gui/alarm-notify/alarm-notify.[ch]: Implementation of the
+ GNOME::Evolution::Calendar::AlarmNotify interface.
+
+ * gui/Makefile.am (evolution_calendar_LDADD): Removed the
+ LINK_FLAGS variable and reordered the libraries to remove some
+ duplicated ones.
+ (SUBDIRS): Added the alarm-notify directory.
+
+2001-01-08 Iain Holmes <iain@helixcode.com>
+
+ * gui/calendar-summary.c (generate_html_summary): Get the tasks
+ correctly.
+ (generate_html_summary): Mark the tasks as completed if so.
+
+2001-01-08 Damon Chaplin <damon@helixcode.com>
+
+ * gui/Makefile.am: added new source files for the Tasks folders.
+
+ * gui/e-tasks.[hc]: new widget to encapsulate the Tasks view.
+
+ * gui/tasks-control.[hc]: new files to implement the Tasks control.
+
+ * gui/tasks-control-factory.[hc]: new files to implement the factory
+ for the Tasks controls. (I think the way I've split the code up is a
+ lot cleaner than the GnomeCal implementation - the factory file just
+ contains the factory functions and the control file contains all the
+ control functions. Maybe we should make GnomeCal like this.)
+
+ * gui/main.c: initialize the Tasks control factory.
+
+ * gui/component-factory.c: added support for the Tasks control.
+ Also added a "create_folder" function so we can now create new Tasks
+ and Calendar folders within Evolution.
+ I'm not a Bonobo expert so someone might want to check these over.
+
+ * gui/calendar-config.[hc]: added convenience functions to configure
+ the common settings of ECalendar and EDateEdit widgets.
+
+ * gui/dialogs/task-editor.c (task_editor_create_date_edit):
+ * gui/gnome-cal.c (gnome_calendar_update_config_settings):
+ * gui/event-editor.c: used function to configure the ECalendars
+ and EDateEdits.
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
+ fixed minor bug in format strings.
+
+2001-01-06 Iain Holmes <iain@helixcode.com>
+
+ * gui/calendar-summary.c (generate_html_summary): Neaten the HTML,
+ and fix the time printing stuff. Add stuff the get Tasks.
+ (alarm_fn): Set up an alarm for midnight everynight and regenerate
+ the HTML for the new day.
+
+2001-01-05 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor.c (get_widgets): get categories button
+ (init_widgets): listen for button click
+ (fill_widgets): fill in the categories area
+ (dialog_to_comp_object): set the cal component categories
+ (categories_clicked): throw up the categories dialog and update
+ when ok is clicked
+
+ * gui/event-editor-dialog.glade: Add categories and contacts buttons
+ and fields
+
+ * gui/dialogs/task-editor-dialog.glade: Rename button
+
+2001-01-05 JP Rosevear <jpr@helixcode.com>
+
+ * gui/dialogs/task-editor.c (get_widgets): get categories button
+ (init_widgets): listen for button click
+ (fill_widgets): fill in the categories area
+ (dialog_to_comp_object): set the cal component categories
+ (categories_clicked): throw up the categories dialog and update
+ when ok is clicked
+
+ * gui/dialogs/task-editor-dialog.glade: Tweak to name the categories
+ button and make it active
+
+ * gui/calendar-model.c (get_categories): We can get the string list of
+ categories directly now
+
+ * cal-util/cal-component.c (cal_component_get_categories): new function
+ to get the categories list as a string
+ (cal_component_set_categories): same but for setting
+ (free_icalcomponent): init the categories var
+ (scan_categories): kill
+ (scan_property): assign the prop to the categories var
+ (cal_component_get_categories_list): deal with renaming var to categories
+ (cal_component_set_categories_list): fix brokeness
+
+2001-01-03 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-commands.c (new_calendar): Handle the case where
+ the calendar view cannot be created; present a warning dialog box.
+ (new_calendar): Do not show the widget here, since we already show
+ it in control-factory.c.
+
+ * gui/control-factory.c (control_factory_new_control): Handle the
+ case where the calendar view cannot be created.
+
+ * gui/component-factory.c (create_view): Ditto.
+
+ * gui/calendar-summary.h: Added prototype for
+ calendar_summary_factory_init().
+
+2001-01-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/alarm-notify.c (add_component_alarms): If the component has
+ no alarms, do not try to queue them.
+ (remove_client_alarms): New function to remove all the queued
+ alarms for a calendar client.
+ (alarm_notify_remove_client): Remove the client's alarms.
+
+2001-01-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/dialogs/delete-comp.c (delete_component_dialog): Do not
+ compose strings so that they can be localized correctly. Also,
+ convert from UTF8 into the font's encoding. Fixes bug #1030.
+
+ * gui/e-calendar-table.c (delete_component): Pass the widget
+ argument to delete_component_dialog().
+
+ * gui/e-day-view.c (e_day_view_on_delete_appointment): Likewise.
+
+ * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise.
+
+ * gui/event-editor.c (file_delete_cb): Likewise.
+
+ * gui/calendar-commands.c: Use BONOBO_UI_VERB() instead of
+ BONOBO_UI_UNSAFE_VERB(). Guess what, all of our handler
+ signatures were wrong.
+
+ * gui/event-editor.c: Likewise.
+
+ * gui/dialogs/task-editor.c: Likewise.
+
+ * gui/goto-dialog.glade: Added some spacing between the month/year
+ widgets and the calendar widget.
+
+2001-01-01 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (gnome_calendar_destroy): Unconditionally remove
+ the client from the alarm notification system.
+ Removed all the obsolete alarm code.
+
+ * gui/event-editor.c: Removed some crufty externs left over from
+ Gnomecal.
+
+ * gui/calendar-commands.c: #include "goto.h"
+ Removed crufty variables left over from Gnomecal.
+ (new_calendar): Do not take a full_name parameter.
+ (init_username): Removed function.
+ (init_calendar): Wheeeeeeee! Removed crufty function.
+ (quit_cmd): Removed function.
+
+ * gui/print.c (WEEK_STARTS_ON_MONDAY): Made it unconditionally
+ FALSE because we do not use the configuration setting anyways.
+ Sigh, all the printing code needs to be revamped.
+
+2000-12-26 Iain Holmes <iain@helixcode.com>
+
+ * gui/calendar-summary.c (create_summary_view): Create a shared
+ BonoboEventSource object.
+
+2000-12-25 Miguel de Icaza <miguel@helixcode.com>
+
+ * gui/e-day-view.c (e_day_view_init): Set draw background to FALSE.
+ (e_day_view_reshape_long_event): ditto.
+ (e_day_view_reshape_day_event): ditto.
+
+2000-12-22 JP Rosevear <jpr@helixcode.com>
+
+ * gui/dialogs/delete-comp.c (delete_component_dialog): Clean up
+ translatable strings for translators, fixes bug 993
+
+2000-12-22 JP Rosevear <jpr@helixcode.com>
+
+ * gui/goto.c (create_ecal): Make sure the current month is shown
+ when the dialog pops up.
+
+ * gui/goto-dialog.glade: Remove flicker
+
+2000-12-22 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_alarms_for_object):
+ account for the case where there are no alarms, fixes crash
+
+2000-12-22 JP Rosevear <jpr@helixcode.com>
+
+ * gui/goto.c (ecal_date_range_changed): New function to keep the
+ ecal marked properly
+ (create_ecal): move more creation code here, update marks
+ (goto_dialog_init_widgets): listen for date_range_changed signal
+ in the ecal
+
+ * gui/calendar-commands.c (init_calendar): Remove ancient gnomecal
+ cruft
+
+ * gui/mark.[hc], gui/prop.c: Remove ancient gnomecal code that is
+ no longer needed, last bit of bug 904
+
+2000-12-22 JP Rosevear <jpr@helixcode.com>
+
+ * gui/goto-dialog.glade.h: translations
+
+ * gui/goto-dialog.glade: new glade file for goto dialog
+
+ * gui/gnome-cal.c (setup_widgets): Set date navigator attributes
+
+ * gui/calendar-commands.h: remove prototype
+
+ * gui/goto.h: Add prototype
+
+ * gui/Makefile.am: Add glade file stuff
+
+ * gui/gnome-cal.c (setup_widgets): Use accessors to configure the
+ calendar item properly
+
+2000-12-21 Federico Mena Quintero <federico@helixcode.com>
+
+ Alarm trigger queueing for the GUI part.
+
+ * gui/alarm-notify.[ch]: New files with the high-level alarm
+ notification system; mostly moved over from gnome-cal.c. The
+ low-level timer stuff is still in alarm.[ch].
+
+ * gui/alarm-notify.c (alarm_notify_init): New function to
+ initialize the alarm notification system.
+ (alarm_notify_done): New function to shut down the alarm
+ notification system.
+ (alarm_notify_add_client): New function to start monitoring a
+ calendar client for alarm notification.
+ (alarm_notify_remove_client): New function to stop monitoring a
+ client.
+
+ * gui/alarm.h (AlarmDestroyNotify): Also pass in the alarm ID so
+ the callback may know which ID is being destroyed.
+
+ * gui/alarm.c (clear_itimer): New function.
+ (pop_alarm): Use clear_itimer().
+ (alarm_done): New function to shut down the timer system.
+ (alarm_add): Add some preconditions. Do not call the destroy
+ notification function if we could not create the alarm.
+ (alarm_ready): Pass the alarm ID to the destroy notify function.
+ (alarm_remove): Likewise. Also, add some preconditions.
+
+ * gui/gnome-cal.c: Removed the alarm notification functions from
+ here since they are now in alarm-notify.c.
+ (gnome_calendar_construct): Register the client with
+ alarm_notify_add_client().
+ (gnome_calendar_destroy): Use alarm_notify_remove_client() to
+ unregister the client.
+ (obj_updated_cb): Do not do any alarm-related stuff.
+ (obj_removed_cb): Likewise.
+
+ * gui/main.c (main): Shut down the alarm timer system.
+ (main): Initialize and shut down the alarm notification system.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ alarm-notify.[ch] to the list of sources.
+
+ * gui/calendar-model.c (calendar_model_set_cal_client): Only
+ connect to the "cal_loaded" signal if the client is not already
+ loaded.
+
+ * gui/e-day-view.c (e_day_view_set_cal_client): Likewise.
+
+ * gui/e-week-view.c (e_week_view_set_cal_client): Likewise.
+
+ * gui/e-itip-control.c (update_calendar): Connect to "cal_loaded"
+ before issuing the load request.
+
+2000-12-21 Iain Holmes <iain@helixcode.com>
+
+ * gui/calendar-summary.c: Updated for new executive summary.
+
+ * gui/component-factory.c: Reenabled the summary.
+
+ * gui/GNOME_Evolution_Calendar.oafinfo: Added the summary.
+
+2000-12-20 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.h: Fix erroneous documentation
+
+ * conduits/todo/todo-conduit.c (comp_from_remote_record): if
+ !is_empty_time rather than is_empty_time
+ (e_todo_context_new): Return a pointer rather than fill in
+ a parameter
+ (e_todo_context_foreach_change): Free just the key
+ (e_todo_context_destroy): Plug this enormous leakage. I had assumed
+ i had done this earlier, which isn't too bright when anything beyond
+ 2 minutes ago is fuzzy.
+ (comp_from_remote_record): Kill warnings
+ (post_sync): Destroy the map later
+ (conduit_get_gpilot_conduit): Fix e_todo_context_new params
+
+ * conduits/calendar/calendar-conduit.[hc]: Similar to above
+
+2000-12-19 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c: Remove pointless comment
+
+ * conduits/todo/todo-conduit.c (is_empty_time): add utility function
+ (comp_from_remote_record): use it
+
+2000-12-19 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp):
+ Convert cal component strings to pilot character set
+ (comp_from_remote_record): vice versa
+
+ * conduits/todo/todo-conduit.c: Same as above
+
+2000-12-19 Federico Mena Quintero <federico@helixcode.com>
+
+ * pcs/cal-backend-file.c (compute_alarm_range): Fix confusion in
+ the way the range is expanded.
+
+ * cal-util/cal-component.c (cal_component_alarms_free): Doh,
+ alarms->alarms is a list, not a generic pointer. Free it properly.
+ (cal_component_free_pilot_id): Removed unused function.
+ (cal_component_free_pilot_status): Likewise.
+
+ * gui/main.c (init_bonobo): Use VERSION instead of a hardcoded
+ string. Pass argc by value, not by reference. Test the return
+ value of gnome_init_with_popt_table().
+
+ * cal-client/cal-client.c (cal_client_free_alarms): Oops, missed
+ implementing this function.
+
+ * cal-util/timeutil.c (print_time_t): Better printing format.
+ (isodiff_to_secs): Removed unused function.
+ (isodiff_from_secs): Removed unused function.
+ (time_day_end): Removed crufty part.
+ (time_day_begin): Removed crufty part.
+ (time_day_hour): Removed unused function.
+ (format_simple_hour): Removed unused function.
+ (get_time_t_hour): Removed unused function.
+ (time_from_start_duration): Removed unused function.
+
+ * cal-util/timeutil.h (parse_date): Removed unimplemented, unused
+ function prototype.
+
+2000-12-19 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/gnome-cal.c: Removed prototype for setup_alarm to fix a
+ warning.
+
+2000-12-18 Federico Mena Quintero <federico@helixcode.com>
+
+ Alarm instance generation support for the Wombat.
+
+ * idl/evolution-calendar.idl (Cal::CalAlarmInstance): Changed to
+ have an alarm UID, the trigger time, and the actual occurrence
+ time.
+ (Cal::CalComponentAlarms): New structure to hold a pair of a
+ component and its alarms that trigger in a particular range of
+ time.
+ (Cal::getAlarmsInRange): Changed to return a CalComponentAlarmsSeq.
+
+ * cal-util/cal-component.h (CalAlarmInstance): New C-side
+ structure to match the one on the IDL.
+ (CalComponentAlarms): Ditto.
+ (CalAlarmAction): Renamed from CalComponentAlarmAction.
+ (CalAlarmTriggerType): Renamed from CalComponentAlarmTriggerType.
+ Encoded the START and END parameters for the RELATED parameter in
+ this enum, too. Added a NONE value for invalid or missing trigger
+ specifications.
+ (CalComponentAlarmTriggerRelated): Removed.
+ (CalAlarmTrigger): Renamed from CalComponentAlarmTrigger. Renamed
+ the duration/time fields to rel_duration/abs_time, respectively.
+
+ * cal-util/cal-component.c (cal_component_alarm_get_trigger):
+ Changed to use the new trigger structure.
+ (cal_component_alarm_set_trigger): Likewise.
+ (cal_component_alarm_free_trigger): Removed function.
+ (cal_component_has_alarms): Count the elements in the
+ alarm_uid_hash instead of trying to fetch the first alarm subcomponent.
+ (cal_component_alarms_free): New function to free a
+ CalComponentAlarms structure.
+ (CalComponentAlarmPrivate): Added an uid property pointer.
+ (scan_alarm_property): Scan for the our extension UID property.
+ (cal_component_alarm_get_uid): New function.
+
+ * pcs/cal-backend.h (CalBackendClass): Changed the signatures of
+ the ::get_alarms_in_range() and ::get_alarms_for_object() methods.
+
+ * pcs/cal-backend.c (cal_backend_get_alarms_in_range): Changed
+ signature; use the new method.
+ (cal_backend_get_alarms_for_object): Likewise.
+
+ * pcs/cal-backend-file.c (compute_alarm_range): New spiffy
+ function to compute a range of time for alarm occurrences.
+ (add_alarm_occurrences_cb): New function to add alarms for a
+ particular occurrence of the component.
+ (generate_absolute_triggers): New function to add the absolute
+ alarm triggers.
+ (generate_alarms_for_comp): New function to generate all the alarm
+ instances for a component.
+ (cal_backend_file_get_alarms_in_range): Implemented.
+
+ * pcs/cal.c (Cal_get_alarms_in_range): Use the new CalBackend API.
+ (Cal_get_alarms_for_object): Likewise.
+ (build_alarm_instance_seq): Removed old function.
+
+ * cal-util/cal-util.c (cal_alarm_instance_list_free): Removed
+ function.
+
+ * cal-client/cal-client.c (build_component_alarms_list): New
+ function to demarshal the component alarms sequence.
+ (build_alarm_instance_list): New function to demarshal the alarm
+ instances sequence.
+ (cal_client_get_alarms_in_range): Updated for the new API.
+ (cal_client_get_alarms_for_object): Updated for the new API.
+
+ * gui/gnome-cal.c: Temporary #ifdef-ing out of alarm-related stuff
+ to make it build.
+
+2000-12-15 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/timeutil.[ch] (time_from_isodate): Removed unused
+ function, a relic from Gnomecal.
+
+2000-12-15 Dan Winship <danw@helixcode.com>
+
+ * cal-util/timeutil.c (time_from_isodate): Fix the sign in the
+ HAVE_TM_GMTOFF case
+
+2000-12-15 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Removed getdate.y.
+ We no longer use it; it is a relic from Gnomecal.
+
+ * gui/getdate.y: Removed file.
+
+2000-12-14 Federico Mena Quintero <federico@helixcode.com>
+
+ Fixes bug #955.
+
+ * gui/weekday-picker.c (WeekdayPickerPrivate): Added a field for
+ the week_start_day, to be used in the same way as
+ calendar-config.h defines it. Removed the week_starts_on_monday
+ flag.
+ (day_event_cb): Use the week_start_day.
+ (colorize_items): Likewise.
+ (configure_items): Likewise.
+ (weekday_picker_set_week_start_day): New function.
+ (weekday_picker_get_week_start_day): New function.
+ (weekday_picker_set_week_starts_on_monday): Removed function.
+ (weekday_picker_get_week_starts_on_monday): Removed function.
+
+ * gui/widget-util.[ch]: New files with utilities for creating or
+ configuring widgets.
+
+ * gui/widget-util.c (date_edit_new): New function to create an
+ EDateEdit configured with the calendar's preferences; moved over
+ from event-editor.c.
+
+ * gui/event-editor.c (make_recur_weekly_special): Use
+ weekday_picker_set_week_start_day() and the corresponding function
+ from calendar-config.h.
+ (init_widgets): Likewise.
+ (make_date_edit_with_time): Removed function.
+ (make_recur_ending_until_special): Use date_edit_new().
+ (make_date_edit): Likewise.
+
+ * gui/dialogs/task-editor.c (task_editor_create_date_edit): Likewise.
+
+ * gui/event-editor-dialog.glade: Removed references to
+ make_date_edit_with_time(); replace them with make_date_edit().
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ widget-util.[ch] to the list of sources.
+
+2000-12-14 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): Reset the widths
+ of the columns with pixbufs to the actual pixbufs' sizes; now
+ ETable properly computes its column widths so we do not need to
+ add extra padding here.
+
+2000-12-14 Dan Winship <danw@helixcode.com>
+
+ * gui/calendar-model.c (_XOPEN_SOURCE): #define this to 500, not
+ nothing. Also, move this bit after the other #includes to
+ prevent potential messiness.
+
+2000-12-13 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (ensure_mandatory_properties): Even
+ though icaltime_from_timet() now properly ignores the is_utc
+ argument since time_t values *are* in UTC by definition, we were
+ passing FALSE for that argument's value in a bunch of places. So
+ although it is ignored, changed them to TRUE for consistency.
+ Hopefully newer versions of libical will remove that argument
+ entirely since it does not make sense to speak of non-absolute
+ time_t values.
+
+ * cal-util/cal-recur.c (cal_recur_set_rule_end_date): Likewise.
+
+ * conduits/calendar/calendar-conduit.c (comp_from_remote_record): Likewise.
+
+ * conduits/todo/todo-conduit.c (comp_from_remote_record): Likewise.
+
+ * gui/dialogs/task-editor.c (dialog_to_comp_object): Likewise.
+
+ * gui/e-day-view.c (e_day_view_on_new_appointment): Likewise.
+ (e_day_view_on_delete_occurrence): Likewise.
+ (e_day_view_on_unrecur_appointment): Likewise.
+ (e_day_view_on_unrecur_appointment): Likewise.
+ (e_day_view_finish_long_event_resize): Likewise.
+ (e_day_view_finish_resize): Likewise.
+ (e_day_view_key_press): Likewise.
+ (e_day_view_on_top_canvas_drag_data_received): Likewise.
+ (e_day_view_on_main_canvas_drag_data_received): Likewise.
+
+ * gui/e-week-view.c (e_week_view_key_press): Likewise.
+ (e_week_view_on_new_appointment): Likewise.
+ (e_week_view_on_delete_occurrence): Likewise.
+ (e_week_view_on_unrecur_appointment): Likewise.
+
+ * gui/event-editor.c (simple_recur_to_comp_object): Likewise.
+ (recur_to_comp_object): Likewise.
+ (dialog_to_comp_object): Likewise.
+
+ * gui/gnome-cal.c (gnome_calendar_new_appointment): Likewise.
+
+2000-12-13 Christopher James Lahey <clahey@helixcode.com>
+
+ * cal-util/cal-recur.c: #if 0ed cal_obj_date_only_compare_func.
+ (cal_object_get_rdate_end): Changed this function to get rid of a
+ possible uninitialized error on the rdate function.
+
+ * gui/calendar-model.c: Fixed some warnings involving the #define
+ _XOPEN_SOURCE lines here.
+
+ * gui/component-factory.c: #ifdef WANT_THE_EXECUTIVE_SUMMARYed out
+ the summary_factory object since it's unused if
+ WANT_THE_EXCUTIVE_SUMMARY is not defined.
+
+ * gui/e-day-view.c: #if 0ed out e_day_view_remove_event_cb.
+ (obj_updated_cb): #ifndef NO_WARNINGSed out a #warning.
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw): Made
+ it so that
+
+ * gui/e-week-view.c (obj_updated_cb): #ifndef NO_WARNINGSed out a
+ #warning.
+
+2000-12-13 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/Makefile.am: Revert federico's change for now
+ because of libtool limitations with ldadding shared libtool
+ libs
+
+ * conduits/calendar/Makefile.am: ditto
+
+2000-12-12 JP Rosevear <jpr@helixcode.com>
+
+ * gui/dialogs/task-editor.c (task_editor_set_todo_object): Use
+ set_title_from_comp
+ (save_todo_object): ditto
+ (set_title_from_comp): Make sure the title is encoded properly (as in
+ event-editor)
+
+2000-12-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (get_text_list): Constify for new
+ libical API.
+ (set_text_list): Likewise.
+
+ * cal-util/cal-recur.c (cal_recur_get_rule_end_date): Likewise.
+ (cal_recur_set_rule_end_date): Likewise.
+
+ * gui/e-itip-control.c (find_attendee): Likewise.
+ (pstream_load): Likewise.
+
+ * gui/gnome-cal.c (released_event_object_cb): Removed unused function.
+
+ * gui/dialogs/task-editor.c (status_string_map): Removed unused
+ variable.
+
+2000-12-11 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/Makefile.am (test_recur_LDADD): Link to the libical
+ shared library.
+
+ * cal-client/Makefile.am (client_test_LDADD): Likewise.
+
+ * conduits/calendar/Makefile.am (libecalendar_conduit_la_LIBADD):
+ Likewise.
+
+ * gui/Makefile.am (LINK_FLAGS): Likewise.
+
+2000-12-11 Federico Mena Quintero <federico@helixcode.com>
+
+ This is to make things work with libical 0.21helix1 and later.
+ Warnings remain because at last libical was constified; will take
+ care of those tomorrow.
+
+ * cal-util/timeutil.h: #include <ical.h> instead of <icaltypes.h>
+
+ * gui/e-itip-control.c: Likewise.
+
+ * gui/e-meeting-edit.c: Likewise.
+
+ * gui/itip-utils.h: Likewise.
+
+ * cal-util/cal-component.c (alarm_uid_from_prop): constify.
+ (cal_component_get_status): Updated for new libical API.
+ (cal_component_set_status): Likewise.
+
+ * gui/calendar-model.c (ensure_task_complete): Removed unused
+ status code.
+ (ensure_task_not_complete): Update for new status API.
+
+ * gui/dialogs/task-editor.c (status_string_to_value): Removed
+ function.
+ (status_value_to_string): Removed function.
+ (status_string_map): Removed variable.
+ (fill_widgets): Update for new status API.
+ (dialog_to_comp_object): Likewise.
+
+2000-12-11 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/cal-recur.c (generate_instances_for_chunk): updated the
+ tests on the start & end time just before calling the callback. It
+ was skipping occurrences that started before the required interval's
+ start time, which was wrong. We want all occurrences that intersect
+ the interval.
+ (cal_obj_time_weekday): removed the CalRecurrence* argument, since it
+ isn't needed.
+
+2000-12-11 Damon Chaplin <damon@helixcode.com>
+
+ * gui/event-editor.c: added changed flags and added calls to a new
+ function event_editor_set_changed() to set & reset this flag.
+ Added prompt_to_save_changed() which is called when the user
+ selects File/Close or the window's close button.
+ Fixed the 'All day event' toggle button.
+ Made the 'Alarm' page sensitive as appropriate when filling widgets.
+ (Though note that the alarm widgets are not being set yet.)
+
+ * gui/dialogs/task-editor.c: added changed flag as above.
+
+ * gui/event-editor-dialog.glade: used good names for all the
+ classification radio buttons so we can access them in the code.
+
+ * gui/event-editor.c (init_widgets): use the "show week numbers" config
+ option in the recurrence preview calendar.
+
+ * gui/e-day-view.c (e_day_view_update_event_label): use 9:00 instead
+ of 09:00 in the main view, as we do everywhere else now. It means the
+ times won't line up, but they are easier to read which I think is
+ better.
+ Added support for Page Up/Down, though I think it should move the
+ selection rather than just scroll the canvas.
+
+ * cal-util/cal-recur.c (generate_instances_for_chunk): removed the
+ end parameter since we should be using the chunk end time now.
+ Added single_rule parameter for when we are generating the
+ occurrences of a single RRULE, in which case the event's start date is
+ not included in the occurrences output (unless it results from the
+ RRULE expansion). Both of these fix problems when using COUNT.
+
+ * gui/gnome-cal.c (gnome_calendar_on_date_navigator_selection_changed):
+ fixed bug when checking if the new start day starts on the week start
+ day. If you select a complete week it should now show the Week view.
+
+2000-12-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (dialog_to_comp_object): Free the strings we
+ get from the editables.
+
+ * gui/dialogs/task-editor.c (dialog_to_comp_object): Likewise.
+ This sucks; this code should be shared between the two dialogs.
+
+2000-12-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (fill_widgets): Free the dates we get from
+ the component.
+
+2000-12-08 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-calendar-table.c (e_calendar_table_init): Attach signal
+ handlers to the e_scrolled_table's etable rather than to the
+ e_scrolled_table directly
+ (e_calendar_table_on_double_click): This signal provides more
+ params now
+
+2000-12-07 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/e-calendar-table.c: Got rid of code referencing the
+ ETableScrolled proxy functions.
+
+2000-12-07 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c (post_sync): Ugly hack for syncing
+ until pcs can be altered (longer term)
+
+ * conduits/todo/todo-conduit.c (post_sync): ditto
+
+2000-12-07 Chris Toshok <toshok@helixcode.com>
+
+ * cal-client/Makefile.am (client_test_LDADD): add
+ EXTRA_GNOME_LIBS.
+
+2000-12-07 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend.c (cal_backend_compute_changes_foreach_key): Create
+ an empty cal component if the object has been deleted.
+
+ * idl/evolution-calendar.idl: Bit shift the change type constants
+ properly
+
+2000-12-07 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client/cal-client.c (cal_client_generate_instances): Unref
+ the component from the objects list; it got referenced as many
+ times as appropriate for the instances list.
+
+2000-12-06 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (file_delete_cb): Confirm before deleting the
+ event.
+
+2000-12-06 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-week-view.c (e_week_view_init): unref the pixbuf when
+ finished with it
+
+2000-12-06 Federico Mena Quintero <federico@helixcode.com>
+
+ Fixes bug #920.
+
+ * gui/e-calendar-table.c (delete_component): New function.
+ (e_calendar_table_on_delete_task): Use delete_component().
+ (e_calendar_table_on_key_press): Likewise. Also, mark the event
+ as handled.
+
+ * gui/calendar-model.c (calendar_model_get_component): Renamed
+ function from calendar_model_get_cal_object().
+ (calendar_model_delete_task): Removed function.
+
+ * gui/dialogs/delete-comp.[ch]: New files with the dialog for
+ deleting a calendar component.
+
+ * gui/e-day-view.c (e_day_view_on_delete_appointment): Confirm
+ before actually deleting the appointment.
+
+ * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise.
+
+ * gui/dialogs/Makefile.am (libcal_dialogs_a_SOURCES): Added
+ delete-comp.[ch] to the list of sources.
+
+ * cal-util/cal-component.c (cal_component_destroy): Free the alarm
+ UID hash.
+
+2000-12-06 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal.c (build_change_seq): kill
+ (Cal_get_changes): return the corba sequence directly
+
+ * pcs/cal-backend.h: update prototype
+
+ * pcs/cal-backend.c (cal_backend_compute_changes_foreach_key): Build
+ the corba struct rather than the old calobjchange thing
+ (cal_backend_compute_changes): ditto. build and return the actual
+ corba sequence rather than the list of calobjchanges
+ (cal_backend_get_changes): return the corba sequence
+
+ * cal-util/cal-util.h: Remove CalObjChange cruft
+
+ * cal-util/cal-util.c (cal_obj_change_list_free): Kill
+
+2000-12-06 JP Rosevear <jpr@helixcode.com>
+
+ * cal-util/cal-util.c:
+
+ * conduits/calendar/calendar-conduit.c (map_name): Update so as not to conflict
+ with calendar
+ (next_changed_item): update to use CalClientChange instead of CalObjChange
+ (compute_status): ditto
+ (pre_sync): ditto
+ (for_each_modified): since we now have the cal component we can call
+ local_record_from_comp directly
+
+ * conduits/todo/todo-conduit.c: same as above
+
+ * pcs/cal-backend.c: Remove much logging cruft
+ (cal_backend_compute_changes): Calculate the changes based on the
+ hashed database
+ (cal_backend_get_changes): call cal_backend_compute_changes
+ (cal_backend_compute_changes_foreach_key): hash callback for
+ calculating deletions
+
+ * pcs/cal-backend.h: update protype, remove logging cruft from
+ object
+
+ * pcs/cal.c (build_change_seq): dup the calobj rather than the uid
+ now
+ (Cal_get_changes): rename from Cal_get_changed_uids
+ (cal_get_epv): reflect name change in epv
+
+ * cal-util/cal-util.c (cal_obj_change_list_free): update assertion
+
+ * cal-util/cal-util.h: CalObjChange now returns the entire ical
+ component, update the change types. This should all go away shortly
+
+ * idl/evolution-calendar.idl: getChangedUIds -> getChanges.
+ CalObjChange now contains the calobj rather than the uid, update
+ the change types
+
+ * cal-client/cal-client.c (cal_client_get_changes): rename from
+ cal_client_get_changed_uids to make idl and addressbook
+
+ * cal-client/cal-client.h: Update prototype
+
+ * cal-client/cal-client.c (build_change_list): Build a list of
+ CalClientChange instead of CalObjChange
+
+ * cal-client/cal-client-types.c (cal_client_change_list_free): Free
+ a glist of CalClientChanges
+
+ * cal-client/cal-client-types.h: New file. Declarations for
+ CalClientChange.
+
+ * cal-client/Makefile.am: Build new files
+
+2000-12-06 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/Makefile.am: Fix my build stupidty READ THE MACRO
+
+ * conduits/calendar/Makefile.am: ditto
+
+2000-12-04 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-day-view-time-item.c (e_day_view_time_item_get_column_width):
+ Initialize max_large_digit_width to 0 to prevent crazy sizing issues.
+
+2000-12-04 Dan Winship <danw@helixcode.com>
+
+ * gui/e-itip-control.c: Remove mysterious #include inserted by
+ mmeeks to break the build.
+
+2000-12-01 Federico Mena Quintero <federico@helixcode.com>
+
+ Fixes bug #918.
+
+ * gui/weekday-picker.c (WeekdayPickerPrivate): Added a field for a
+ set of blocked days.
+ (weekday_picker_set_blocked_days): New function to configure a set
+ of days that cannot be modified by the user.
+ (weekday_picker_get_blocked_days): Query function for the above.
+ (day_event_cb): Block the appropriate days from being modified.
+
+ * gui/event-editor.c (get_start_weekday_mask): New function to
+ compute a day mask for the start day of a calendar component.
+ (set_recur_special_defaults): New function to set sane defaults
+ for the recurrence special widgets.
+ (fill_recurrence_widgets): Use set_recur_special_defaults().
+ (make_recur_weekly_special): Block the appropriate days.
+
+2000-12-01 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/control-factory.c (set_prop): Removed debugging message.
+ (control_factory_init): Ditto.
+
+ * gui/calendar-commands.c (calendar_set_uri): Ditto.
+
+ * gui/main.c (main): Ditto.
+
+ * gui/event-editor.c (set_title_from_comp): New function to
+ generate a title and convert it from UTF8 before setting it on the
+ window.
+ (save_event_object): Uset set_title_from_comp().
+ (event_editor_set_event_object): Likewise.
+
+2000-11-30 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c: Debug message cleanups
+ (comp_from_remote_record): Properly set the ical description field
+
+ * conduits/calendar/calendar-conduit.c (is_empty_time): New utility
+ functions that look for all 0's in a struct tm
+ (comp_from_remote_record): use above
+ (local_record_from_comp): Correctly set the repeatForever value so
+ that we repeat forever instead of a really long time
+ (comp_from_remote_record): Only set the cal component recurrence
+ until field when repeatForever is 0
+
+2000-11-30 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c: fixed a bug that caused the calendar to
+ segfault when the iTip control was destroyed.
+
+2000-11-30 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp): Empty
+ by_day entries are no longer indicated by ICAL_RECURRENCE_ARRAY_MAX not
+ SHRT_MAX. Calculate weekly and monthly by date recurrences properly
+ (get_pilot_day): Convert ical day to corresponding integer for pilot day
+
+2000-11-30 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c: Debug message cleanups
+ (get_ical_day): Fix off-by-one error which affected weekly occurences.
+ (comp_from_remote_record): Monthly by day and by date were reversed
+ (nth_weekday): function taken from event-editor.c that encodes BYDAY
+ values - this needs to be in libical really.
+ (comp_from_remote_record): Don't set the description if the pilot note
+ is null. Rejig so that we don't have to free objects.
+
+2000-11-28 Federico Mena Quintero <federico@helixcode.com>
+
+ Upgrade of the alarm framework. We now access alarms by a unique
+ identifier. This UID is added as an extension property to alarm
+ subcomponents when their parent components are scanned by
+ CalComponent.
+
+ * cal-util/cal-component.c (CalComponentPrivate): Added a hash
+ table of alarm UIDs -> alarm properties.
+ (cal_component_init): Initialize priv->alarm_uid_hash.
+ (free_icalcomponent): Free the elements in the
+ priv->alarm_uid_hash.
+ (scan_alarm): New function to add scan an alarm subcomponent and
+ ensure that it has an alarm UID extension property so that we can
+ add it to our mapping table.
+ (cal_component_get_first_alarm): Removed function.
+ (cal_component_get_next_alarm): Removed function.
+ (cal_component_get_alarm_uids): New function.
+ (cal_component_get_alarm): New function.
+
+2000-11-28 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (local_record_to_pilot_record): Return
+ a struct rather than a pointer to a struct
+ (compare): local_record_to_pilot_record now returns a struct
+ (prepare): ditto
+ (free_prepare): remove as per gnome-pilot changes
+ (conduit_get_gpilot_conduit): don't listen for free_prepare signal
+
+ * conduits/calendar/calendar-conduit.c: Same as above
+
+2000-11-28 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): Reformatted the
+ table spec to make it easier to read.
+
+ * gui/tag-calendar.c: Oops, Damon wrote this, not me. Fixed the
+ Authors line.
+
+2000-11-28 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view*.[hc]:
+ * gui/e-week-view*.[hc]: finished 12-hour support and tried to tidy
+ up & comment the drawing code in places. Also fixed a couple of bugs I
+ spotted. All the options on the 'Calendar' page should now work.
+
+2000-11-28 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-edit.c: removed some debugging code that I had,
+ which might have caused problems.
+
+2000-11-27 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/calendar-model.c: added a preliminary change to have
+ Assigned To-Do items have a corresponding icon.
+
+2000-11-27 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (free_prepare): Ditto
+
+ * conduits/calendar/calendar-conduit.c (free_prepare): Adjust
+ free_prepare to the correct signal parameters. Don't actually
+ do anything - there is a semantic discrepancy that needs to be
+ resolved.
+
+2000-11-26 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.c (e_day_view_set_days_shown): == instead of =.
+
+2000-11-26 Damon Chaplin <damon@helixcode.com>
+
+ * gui/gnome-cal.c: added more support for config settings.
+
+ * gui/e-week-view.[hc]:
+ * gui/e-day-view.[hc]: added support for setting - show event end
+ times, week start day and 12-hour format (unfinished).
+
+ * gui/e-day-view-time-item.c: started 12-hour support.
+
+ * gui/tag-calendar.c (prepare_tag): use end_day + 1 since we want to
+ include the last day.
+
+ * gui/event-editor.c (set_all_day): minor change when turning all_day
+ off - set the event end to one hour after the event start if it is on
+ or before the start time. Also added more comments to make it a bit
+ clearer.
+
+ * cal-util/cal-recur.c (cal_obj_time_add_days): use a gint for day
+ rather than a guint since we now support -ve days.
+ Also fixed bug with weekly recurrences.
+
+ * gui/dialogs/task-editor.c (task_editor_create_date_edit): use
+ config settings.
+
+ * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config):
+ updated EDateEdit calls.
+
+2000-11-24 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/e-calendar-table.c (e_calendar_table_init): Unref the ETable
+ extras.
+
+2000-11-24 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (free_icalcomponent): DOH, fixed
+ reversed test for the presence of the icalcomp's parent. This was
+ causing memory leaks in the Wombat and elsewhere.
+
+ * pcs/cal-backend.c (cal_backend_set_node_timet): Plug leak.
+
+2000-11-24 Federico Mena Quintero <federico@helixcode.com>
+
+ * pcs/cal-backend-file.c (scan_vcalendar): Use the new libical
+ external iterators (icalcomponent_begin_component() and friends);
+ the internal iterators are deprecated.
+
+ * cal-util/test-recur.c (generate_occurrences): Likewise.
+
+ * gui/e-itip-control.c (pstream_load): Likewise.
+
+ * gui/e-meeting-edit.c (e_meeting_edit): Likewise.
+
+ * pcs/cal-backend.c (cal_backend_log_entry): Plug leak.
+ (cal_backend_log_sync): Free the entry->uid.
+
+ * util/icalendar-save.[ch]:
+ * util/icalendar-test.c:
+ * util/icalendar.[ch]: Removed obsolete files.
+
+2000-11-21 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/task.xpm: Remove the check because it makes it look like the
+ task is already completed. This fixes bug #819.
+
+ * gui/task-recurring.xpm: Make it use a prettier overlaid icon.
+
+ * gui/task-*.xpm: Made the things look like little spiral-bound
+ notebooks.
+
+ * gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): Make the default
+ column order be icon/completed/summary. You may need to erase
+ your ~/evolution/config/TaskPad for this to appear.
+
+2000-11-21 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (calendar_model_is_cell_editable): The icon
+ column is not editable!
+
+ * gui/calendar-commands.c (todo_properties_changed): Removed.
+ (time_format_changed): Removed.
+ (colors_changed): Removed.
+
+ * gui/calendar-commands.h:
+ * gui/prop.c (prop_apply):
+ * gui/calendar-commands.c (init_calendar): Removed the old to-do
+ list crap.
+
+ * gui/gncal-todo.[ch]: Removed obsolete files.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Removed gncal-todo.[ch].
+
+ * gui/gnome-cal.c (gnome_calendar_todo_properties_changed): Removed.
+ (gnome_calendar_time_format_changed): Removed.
+ (gnome_calendar_colors_changed): Removed.
+
+2000-11-21 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c: fixed the stupid Bonobo widget size
+ allocation bug that had been vexing me.
+
+ * gui/e-itip-control.glade: I removed some hacks that were
+ necessary for said size bug.
+
+2000-11-16 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c, gui/e-meeting-edit.c: added cancellation
+ code to our program; people can cancel meetings, which is the best
+ thing to do for most meetings.
+
+2000-11-13 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c: made the REPLY code actually work.
+
+2000-11-13 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/itip-utils.[ch]: I created this file to store some commonly used enumeration to
+ string mappings and functions.
+
+ * gui/Makefile.am: this was changed to reflect the addition of the above file.
+
+ * gui/e-itip-control.c: added code to take action on a REPLY message.
+
+ * gui/e-meeting-edit.c: bug fixes.
+
+2000-11-12 Federico Mena Quintero <federico@helixcode.com>
+
+ OK, bugzilla bug #829 is fixed and that does not redeem me from
+ extreme procrastination. Wheeeeeeeeeeeeeeee!
+
+ * gui/event-editor-dialog.c: Changed the "Rule view" label to
+ "Preview"
+
+2000-11-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (make_recur_ending_count_special): Misspelled
+ "occurrences".
+ (fill_recurrence_widgets): Sensitize the "Custom recurrence" radio
+ button as appropriate.
+ (sensitize_recur_widgets): Resurrected the recurrence custom
+ warning label.
+ (get_widgets): Load the recurrence custom warning bin.
+
+ * gui/event-editor-dialog.glade: Add an empty alignment for the
+ recurrence custom warning label.
+
+2000-11-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (recur_preview_date_range_changed_cb): New
+ function; re-tag the calendar when its date range changes.
+ (init_widgets): Connect to "date_range_changed" on the recurrence
+ preview calendar.
+ (make_recur_weekly_special): Connect to "changed" on the weekday
+ picker.
+ (recur_weekday_picker_changed_cb): New function; re-tag the calendar.
+ (month_day_menu_selection_done_cb): Re-tag the calendar.
+ (recur_month_index_value_changed_cb): Likewise.
+ (recur_ending_until_changed_cb): Likewise.
+ (recur_ending_count_value_changed_cb): Likewise.
+ (make_recur_monthly_special): Connect to "value_changed" on the
+ adjustment of the month index.
+ (make_recur_ending_until_special): Connect to "changed" on the
+ ending-until date picker.
+ (make_recur_ending_count_special): Connect to "value_changed" on
+ the ending-count adjustment.
+ (init_widgets): Set to zero the maximum number of selectable days
+ in the recurrence preview calendar. Set the week_start_day from
+ the calendar's configuration.
+
+2000-11-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (clear_widgets): Block the signals as appropriate.
+ (fill_ending_date): Ditto.
+ (fill_recurrence_widgets): Ditto.
+ (recurrence_type_toggled_cb): Only sensitize the widgets and
+ preview the recurrence if the toggle button is active.
+
+2000-11-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (recur_to_comp_object): Clear the rdate and
+ exrule lists from the component if we are setting a simple
+ recurrence.
+ (recur_to_comp_object): Set the exdate list here instead of in
+ dialog_to_comp_object().
+ (preview_recur): New function to tag the recurrence preview
+ calendar based on the information from the dialog box.
+ (fill_exception_widgets): Fill the exception widgets here; moved
+ over from fill_widgets().
+ (fill_recurrence_widgets): Call preview_recur(). Also, call
+ fill_exception_widgets() first of all.
+ (recurrence_type_toggled_cb): Call preview_recur().
+ (recur_interval_selection_done_cb): Likewise.
+ (recur_ending_selection_done_cb): Likewise.
+ (recurrence_exception_add_cb): Likewise.
+ (recurrence_exception_modify_cb): Likewise.
+ (recurrence_exception_delete_cb): Likewise.
+ (date_changed_cb): Likewise.
+ (recur_interval_value_changed_cb): Likewise, new function.
+
+ * gui/tag-calendar.[ch]: New files with utilities for tagging
+ calendars. mark.[ch] should go away some day.
+
+ * gui/tag-calendar.c (tag_calendar): Moved over from
+ gnome_calendar_tag_calendar(). Take in a CalClient instead of a
+ GnomeCalendar. Added API docs.
+ (tag_calendar_by_comp): New function to tag a calendar based on a
+ single calendar component instead of a whole client.
+
+ * gui/gnome-cal.c (initial_load): Use tag_calendar_by_client().
+ (obj_updated_cb): Likewise.
+ (obj_removed_cb): Likewise.
+ (gnome_calendar_on_date_navigator_date_range_changed): Likewise.
+ (editor_closed_cb): Free the closure.
+ (destroy_editor_cb): Renamed from free_uid(). Do not free the
+ UID; just unref the event editor. Our destroy handler to it will
+ free things properly. This will also cause the corresponding
+ calendar client to be unrefed.
+ (editor_closed_cb): Use a flag on the GnomeCalendar to decide
+ whether to remove the editor from the hash table. This is sort of
+ icky.
+
+ * gui/calendar-model.c (obj_updated_cb): If the object is new, we
+ have to use e_table_model_row_inserted(), not row_changed().
+ Thanks to JP Rosevear for reporting this.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ tag-calendar.[ch] to the list of sources.
+
+2000-11-11 Matt Bissiri <bissiri@eecs.umich.edu>
+
+ * gui/evolution-calendar.oafinfo:
+ Update the remaining "IDL:Evolution*" to "IDL:GNOME/Evolution*"
+ to sync up with yesterday's IDL re-scoping.
+
+2000-11-10 Michael Meeks <michael@helixcode.com>
+
+ * gui/Makefile.am ($(IDL_GENERATED)): sort include order.
+
+ * pcs/Makefile.am (idl_flags): ditto.
+
+2000-11-10 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c (for_each_modified): Inc the
+ iterator before finding the next changed item.
+
+ * conduits/todo/todo-conduit.c (for_each_modified): ditto
+
+2000-11-09 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c: I wrote the code so that recipients of meeting requests
+ can reply appropriately.
+
+2000-11-09 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-edit.c: fixed a bug that would make the calendar segfault
+ if the meeting editor were called up twice without first saving the
+ component.
+
+2000-11-08 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c, gui/e-itip-control.glade: updated the GUI
+ to allow the user to add PUBLISHed events to his calendar, and created
+ unworking buttons for meeting requests.
+
+2000-11-08 Federico Mena Quintero <federico@helixcode.com>
+
+ These changes fix bugzilla bugs #874 and #875.
+
+ * cal-util/cal-component.c (cal_component_get_exdate_list): Return
+ a list of CalComponentDateTime instead of simple struct
+ icaltimetype objects. Exception date properties *can* contain a
+ timezone parameter, so we need to include those if they are
+ present.
+ (cal_component_set_exdate_list): On the input, handle a list of
+ CalComponentDateTime structures. On the internals, handle a list
+ of struct datetime instead of plain properties.
+ (cal_component_free_exdate_list): Handle a list of
+ CalComponentDateTime structures.
+ (scan_exdate): Create a list of struct datetime structures.
+ (free_icalcomponent): Free the exdate_list properly.
+
+ * cal-util/cal-recur.c (generate_instances_for_chunk): Use the
+ proper types for exception dates.
+
+ * gui/comp-util.h:
+ * gui/comp-util.c: New files with utilities for manipulating
+ calendar component objects.
+ (cal_comp_util_add_exdate): New function.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ comp-util.[ch] to the list of sources.
+
+ * gui/e-day-view.c (add_exdate): New convenience function to add
+ an exception date to a calendar component.
+ (e_day_view_on_unrecur_appointment): Use cal_comp_util_add_exdate().
+ (e_day_view_on_delete_occurrence): Likewise.
+
+ * gui/e-week-view.c (e_week_view_on_delete_occurrence): Likewise.
+ (e_week_view_on_unrecur_appointment): Likewise.
+
+ * gui/event-editor.c (nth_weekday): Be paranoid about valid
+ position values.
+ (fill_widgets): Use the proper types for exdates.
+ (dialog_to_comp_object): Likewise.
+
+2000-11-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (adjust_day_index_spin): Adjust the valid
+ range of the month index spin button depending on the selection of
+ the day/weekday menu.
+
+2000-11-07 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c, gui/e-itip-control.glade: changed the GUI,
+ and added some extra feedback for the user.
+
+2000-11-07 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/weekday-picker.h (WeekdayPickerClass): Added a "changed"
+ signal to notify of changes to the set of selected days.
+
+ * gui/weekday-picker.c (weekday_picker_class_init): Create the
+ "changed" signal.
+ (weekday_picker_set_days): Emit the "changed" signal.
+
+2000-11-06 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c, gui/e-itip-control.glade: changed to GUI to
+ accomodate dynamically generated buttons, which will be tailored to
+ the type of iTip message that is incoming.
+
+ * gui/e-meeting-dialog.glade gui/e-meeting-edit.c: added a new button
+ to publish events, in addition to requesting meetings.
+
+2000-11-05 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor-dialog.glade: Removed the old recurrence page.
+ Wheeeeeeeeee!
+
+ * gui/event-editor.c (make_recurrence_special): Clear the monthly
+ widgets.
+ (make_recur_monthly_special): Create the monthly widgets.
+ (clear_widgets): Clear the monthly values.
+ (simple_recur_to_comp_object): Fill in the monthly values.
+ (fill_recurrence_widgets): Fill in the monthly and yearly source
+ values.
+ (dialog_to_comp_object): Take in a CalComponent instead of using
+ the event editor's directly.
+ (recur_to_comp_object): Likewise.
+ (simple_recur_to_comp_object): Likewise.
+ (EventEditorPrivate): Removed the widgets from the old recurrence
+ page.
+ (get_widgets): Likewise.
+ (clear_widgets): Likewise.
+ (dialog_to_comp_object): If the description or summary are empty,
+ just clear the description list or summary property, respectively,
+ instead of saving empty ones.
+ (simple_recur_to_comp_object): Set the week_start field.
+
+ * gui/main.c: Fix includes, and add calendar-config.h.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): The glade messages
+ file should not be in SOURCES.
+
+2000-11-05 Christopher James Lahey <clahey@helixcode.com>
+
+ * doc/.cvsignore, doc/C/.cvsignore: Removed unnecessary .cvsignore
+ files.
+
+2000-11-03 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (check_all_day): Block signals from the
+ toggle button.
+ (date_changed_cb): Merged check_dates() and check_times() into
+ this function; provide better behavior as well.
+ (check_dates): Removed function.
+ (check_times): Removed function.
+ (init_widgets): Connect to the "changed" signal on the start_time
+ and end_time widgets.
+ (check_all_day): Use a better test.
+
+ * gui/Makefile.am: Clean the idl-generated sources properly.
+ * cal-client/Makefile.am: Likewise.
+
+2000-11-03 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c: added some checks for the type of an
+ incoming iCal component before passing it off to the CalComponent
+ routines.
+
+2000-11-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/dialogs/task-editor.c (init_widgets): The date editor's
+ signal is now "changed".
+ (completed_changed): Renamed callback to reflect the name of the
+ signal.
+
+2000-11-01 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * gui/main.c: (main): added call to bindtextdomain and textdomain, so
+ all calendar gui shows up localized.
+
+2000-10-31 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (count_by_xxx): Hmmm. SHRT_MAX changed to
+ ICAL_RECURRENCE_ARRAY_MAX in libical. Deal with it.
+ (fill_recurrence_widgets): Likewise.
+ (simple_recur_to_comp_object): Fixed incorrect assertion. The
+ weekday picker is not the immediate child of the recurrence
+ special container.
+ (fill_recurrence_widgets): Call make_recurrence_special() after
+ setting the recurrence period type.
+ (fill_ending_date): Call make_recurrence_ending_special(). This
+ would be so much nicer if GTK+ were model/view all over.
+
+2000-10-31 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.h: Remove add/del/mod hashes and
+ add changed_hash.
+
+ * conduits/calendar/calendar-conduit.h: ditto
+
+ * conduits/todo/todo-conduit.c (next_changed_item): Utility function
+ to get the next "really" changed item (changed status can be cleared now)
+ (compute_status): Compute status based on changed_hash
+ (pre_sync): Fill changed_hash and counts adds/mods/dels
+ (set_status_cleared): New callback handler - avoid double syncing
+ (for_each_modified): Use next_changed_item to iterate
+ (add_archive_record): kill
+ (delete_archive_record): kill
+ (archive_record): New callback handler - mark/unmark archive status
+ (conduit_get_gpilot_conduit): Adjust signal connects
+
+ * conduits/calendar/calendar-conduit.c: ditto
+
+2000-10-30 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (sensitize_recur_widgets): New function. We
+ split it from the radio callback so that we can call it explicitly
+ from fill_recurrence_widgets().
+ (fill_recurrence_widgets): Call sensitize_recur_widgets() as
+ appropriate.
+
+2000-10-30 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-commands.c (new_calendar): Removed the geometry and
+ hidden arguments. This code is ancient.
+ (all_calendars): Made static. This sucks; configuration should be
+ notification-based instead of "let's iterate through all open
+ calendars".
+ (active_calendars): Removed. Functions can check the length of
+ the all_calendars list if they are interested.
+
+ * gui/event-editor.c (sync_entries): Do not take in an extra data
+ pointer.
+ (summary_changed_cb): Use a single call back to sync both entries.
+ (sync_date_edits): New function to sync two EDateEdit widgets.
+ (init_widgets): Connect the general and recurrence starting date
+ widgets.
+
+2000-10-27 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (sync_entries): New function.
+ (general_summary_changed_cb): Sync the general summary to the
+ recurrence summary widget.
+ (recurrence_summary_changed_cb): Vice-versa.
+ (init_widgets): Hook to the summaries.
+
+ * event-editor-dialog.glade: Do not expand/fill the start and end
+ date so that the "all day event" button is not pushed all the way
+ to the right.
+ Decrease the spacing between the recurrence sentence widgets.
+ Remove a spurious empty label that was lurking around the
+ recurrence widgets.
+ Make the alarm widgets expand the right way.
+ Delete old recurrence widgets.
+
+2000-10-27 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (init_widgets): Connect to the recurrence
+ ending menu.
+ (recur_ending_selection_done_cb): Implemented.
+ (make_recurrence_ending_special): Implemented.
+ (make_recur_ending_until_special): Implemented.
+ (fill_ending_date): Implemented.
+ (make_recur_ending_count_special): Implemented.
+ (simple_recur_to_comp_object): Fill in the ending date.
+ (clear_widgets): Clear the recurrence ending widgets.
+
+ * gui/event-editor-dialog.glade: Moved the recurrence type radio
+ buttons to a single hbox to save space.
+ Fixed the lower value of the recurrence interval spin button.
+ Removed the stale widgets from the recurrence ending date part.
+
+2000-10-27 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-edit.c: fixed problems in which I allocated CORBA
+ strings of 0 length, but then didn't NULL terminate them.
+
+2000-10-27 <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c (check_for_slow_setting):
+ Check boundary case of fast sync
+
+ * conduits/todo/todo-conduit.c (check_for_slow_setting): ditto
+
+2000-10-27 <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c (add_archive_record): Remove
+ invalid test.
+ (local_record_from_comp): If the event is all day, mark it as timeless
+ (comp_from_remote_record): Timeless events take up all day
+
+ * conduits/todo/todo-conduit.c (add_archive_record): ditto
+
+2000-10-27 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (add_archive_record): Take proper
+ number of parameters
+
+ * conduits/calendar/calendar-conduit.c (add_archive_record): ditto
+
+2000-10-26 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (EventEditorPrivate): Integrate Anna's new
+ recurrence page. Replace the old widget pointers with the new
+ ones. Modified the relevant functions accordingly and added
+ plenty of new ones.
+ (event_editor_get_cal_client): New function.
+ (fill_recurrence_widgets): This is *THE* tricky function for you.
+ It has to discriminate whether we get a recurrence we support for
+ editing or not. And this is not trivial. Sigh.
+ (event_editor_update_widgets): Added preconditions and API docs.
+
+ * event-editor-dialog.glade: Fixed all the spacings/
+ paddings/packing options so that the widgets will look right if
+ the dialog box is resized. Also fixes some misaligned widgets.
+
+ * cal-util/cal-component.c (cal_component_set_rdate_list): Removed
+ incorrect assertion.
+
+2000-10-26 Michael Meeks <michael@helixcode.com>
+
+ * pcs/cal-factory.c (str_tolower): unsigned chars to isalpha
+
+ * cal-util/calobj.c (weekdaylist, weekdaynum): ditto.
+
+2000-10-25 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-edit.c: brushed up some code to deal with
+ the organizer entry, and solidified the CORBA memory-freeing
+ issues.
+
+2000-10-25 Jesse Pavel <jpavel@helixcode.com>
+
+ * removed the Evolution-Composer generated files, due
+ to a tip on how we do things.
+
+2000-10-25 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-edit.c: I fixed a bunch of memory-deallocation
+ bugs, and finished the initial integration with the mailer.
+
+ * gui/Makefile.am: made the build us the Evolution-Composer.idl
+ from the composer directory.
+
+2000-10-25 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/Evolution-Composer.idl: added this from the composer IDL sources
+
+ * gui/Makefile.am: changed to reflect the above IDL and the associated
+ orbit-idl generated files.
+
+ * gui/Evolution-Composer.h,
+ gui/Evolution-Composer-common.c,
+ gui/Evolution-Composer-stubs.c,
+ gui/Evolution-Composer-skels.c:
+ the generated files, as per the above description.
+
+ * gui/e-meeting-edit.c: more work towards mailer integration.
+
+2000-10-24 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-edit.c: I've added code to interact with the mailer's
+ CORBA interfaces, though it's not yet working.
+
+2000-10-23 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (local_record_from_comp): Use
+ new e-pilot-map lookup function
+ (match): ditto
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp): Use
+ new e-pilot-map lookup function
+ (match): ditto
+
+2000-10-23 Dan Winship <danw@helixcode.com>
+
+ * pcs/Makefile.am (INCLUDES):
+ * gui/dialogs/Makefile.am (INCLUDES):
+ * gui/Makefile.am (INCLUDES):
+ * cal-util/Makefile.am (INCLUDES):
+ * cal-client/Makefile.am (INCLUDES): Update GNOMELOCALEDIR.
+
+2000-10-23 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.h: Use new libeconduit calls and
+ abstraction
+
+ * conduits/calendar/calendar-conduit.c: ditto
+
+ * conduits/calendar/calendar-conduit.h: ditto
+
+ * conduits/todo/todo-conduit.c: ditto
+
+ * conduits/calendar/Makefile.am: Add libeconduit-static.la
+
+ * conduits/calendar/calendar-conduit.c (post_sync): Use e_pilot_map_write
+ (pre_sync): Use e_pilot_map_read
+
+2000-10-23 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/Makefile.am: Add libeconduit-static.la
+
+ * conduits/todo/todo-conduit.c (post_sync): Use e_pilot_map_write
+ (pre_sync): Use e_pilot_map_read
+
+2000-10-21 Damon Chaplin <damon@helixcode.com>
+
+ * gui/dialogs/cal-prefs-dialog.c
+ (cal_prefs_dialog_use_24_hour_toggled): removed debug message.
+
+ * gui/e-calendar-table.c (e_calendar_table_save_state): new function
+ to save the state of the table to a given file.
+
+ * gui/e-calendar-table.h (struct _ECalendarTable): added etable field
+ so we can access it to save the state.
+
+ * gui/gnome-cal.c (gnome_calendar_destroy): call
+ e_calendar_table_save_state() to save the state of the TaskPad.
+ (setup_widgets): load the state of the TaskPad.
+
+ * gui/calendar-config.c: added support for the default view.
+
+ * gui/gnome-cal.c (gnome_calendar_construct):
+ (gnome_calendar_set_view_internal): use/set the default view setting.
+
+2000-10-20 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-editor.c: added more (working) integration with the
+ meeting schedular.
+
+2000-10-20 Jesse Pavel <jpavel@helixcode.com>
+
+ * cal-utils/cal-component.c: in set_datetime(), I put an #if 0'd portion
+ of the code back into operation, because the icalproperty_remove_parameter()
+ function is now implemented.
+
+ * gui/e-meeting-editor.c: added more (unworking) integration with the
+ meeting schedular.
+
+2000-10-20 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend.c (cal_backend_destroy): New destroy
+ handler to properly stop the timer, sync the log and unref
+ the URI.
+ (cal_backend_last_client_gone): Just emit the signal,
+ clean up work is done in cal_backend_destroy now.
+
+ * pcs/cal-backend-file.c (cal_backend_file_load): Unref the
+ uri we are replacing NOT the new uri.
+
+2000-10-20 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/Makefile.am: Fix build
+
+ * conduits/calendar/Makefile.am: Fix build
+
+2000-10-20 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c (delete_archive_record):
+ Don't throw an error
+
+ * conduits/todo/todo-conduit.c (delete_archive_record): ditto
+
+2000-10-20 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit-control-applet.c: Add defines
+
+ * conduits/todo/todo-conduit-config.h: put #ifdefs around functions
+ can't make this a public interface in the usual way as then the
+ symbols would be exported
+
+ * conduits/todo/todo-conduit.c: Kill warnings. clahey will be
+ happy! Add some defines to include only the necessary config functions.
+ (conduit_get_gpilot_conduit): Hook up archive signals
+
+ * conduits/calendar/calendar-conduit.c: Same as above
+
+ * conduits/calendar/calendar-conduit-control-applet.c: ditto
+
+ * conduits/calendar/calendar-conduit-config.h: ditto
+
+2000-10-20 Michael Meeks <michael@helixcode.com>
+
+ * gui/calendar-commands.h: s/BonoboUIHandler/BonoboUIComponent/
+
+ * gui/calendar-commands.c (properties_cmd): ditto.
+
+2000-10-20 Damon Chaplin <damon@helixcode.com>
+
+ * gui/calendar-model.c (calendar_model_value_at): use
+ cal_component_has_alarms().
+
+2000-10-20 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): added
+ _click-to-add-message, though I'm not sure if i18n will work.
+
+ * cal-util/cal-recur.c (cal_obj_time_add_hours):
+ (cal_obj_time_add_minutes):
+ (cal_obj_time_add_seconds): updated to handle -ve args.
+
+ * cal-util/timeutil.c (time_add_day): set tm_isdst to -1 before calling
+ mktime().
+
+ * cal-util/cal-recur.c (generate_instances_for_chunk): don't call the
+ callback if the event ends exactly on the interval start time.
+
+ * gui/e-week-view.c (e_week_view_reshape_event_span):
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons):
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
+ * gui/e-day-view.c (e_day_view_reshape_long_event):
+ (e_day_view_reshape_day_event): use cal_component_has_alarms().
+
+ * cal-util/cal-component.[hc]: added cal_component_has_alarms().
+
+2000-10-16 Damon Chaplin <damon@helixcode.com>
+
+ * gui/calendar-config.c (config_read): set default MonthVPanePosition
+ to 1 rather than 0, so if you move the hpane you'll see the date
+ navigator.
+
+2000-10-19 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/event-editor.[ch]: added a public function which causes the
+ event editor to reload its widgets to the associated CalComponent.
+
+ * gui/e-meeting-edit.c: added rudimentary support for the phat
+ e-meeting-time-selector widget, though it has no effect on the
+ component yet.
+
+ * gui/Makefile.am: the meeting editor depends on the meeting widget
+ library, now.
+
+ * gui/e-itip-control.glade: I added another toolbar button that summons
+ from the hoary deep the meeting time widget.
+
+2000-10-19 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/Makefile.am: Add `event-editor-dialog.glade.h'.
+ (EXTRA_DIST): Add `$(glade_messages)'.
+
+2000-10-19 Michael Meeks <michael@helixcode.com>
+
+ * gui/calendar-commands.c (tb_print_cb): remove; redundant.
+
+ * gui/event-editor.c (create_menu, create_toolbar): kill.
+ (event_editor_destroy): upd.
+ (event_editor_construct): update to new UI handler, cast
+ priv->general_summary to a widget not an object.
+
+2000-10-18 Michael Meeks <michael@helixcode.com>
+
+ * gui/dialogs/task-editor.c (create_menu, create_toolbar): die.
+ (debug_xml_cb): add debugging hook.
+
+ * gui/dialogs/Makefile.am: add EVOLUTION_DATADIR
+
+ * gui/dialogs/task-editor.c (task_editor_construct): upd for new UI.
+
+2000-10-17 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit-control-applet.c: Add defines
+
+ * conduits/todo/todo-conduit-config.h: put #ifdefs around functions
+ can't make this a public interface in the usual way as then the
+ symbols would be exported
+
+ * conduits/todo/todo-conduit.c: Kill warnings. clahey will be
+ happy! Add some defines to include only the necessary config functions.
+ (conduit_get_gpilot_conduit): Hook up archive signals
+
+ * conduits/calendar/calendar-conduit.c: Same as above
+
+ * conduits/calendar/calendar-conduit-control-applet.c: ditto
+
+ * conduits/calendar/calendar-conduit-config.h: ditto
+
+2000-10-16 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c: You can now add incoming iTip
+ messages to your calendar store.
+
+ * gui/e-itip-control.glade: added a progress bar dialog
+ in case the calendar loading takes a long time.
+
+2000-10-16 JP Rosevear <jpr@helixcode.com>
+
+ * cal-client/cal-client.h: Remove pilot cruft. All pilot stuff
+ is in the conduits now and uses the logging facility.
+
+ * pcs/cal-backend-file.c: ditto
+
+ * pcs/cal-backend.h: ditto
+
+ * pcs/cal-backend.c: ditto
+
+ * pcs/cal.c: ditto
+
+ * pcs/cal.h: ditto
+
+ * idl/evolution-calendar.idl: ditto
+
+ * cal-util/cal-component.h: ditto
+
+ * cal-util/cal-component.c: ditto
+
+ * cal-client/cal-client.c: ditto
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp):
+ Take a stab at storing recurrence stuff on the pilot properly
+
+ * pcs/cal-backend.c (cal_backend_update_object): Don't log the
+ event until after the update in case its a new item
+
+2000-10-16 Tuomas Kuosmanen <tigert@helixcode.com>
+
+ * gui/dayview.xpm, gui/workweekview.xpm, gui/weekview.xpm
+ gui/monthview.xpm gui/yearview.xpm: Updated icons, let me know
+ if you like these or not, I might work on these some more but
+ I wanted to put these versions up anyway to get feedback..
+
+2000-10-15 Dan Winship <danw@helixcode.com>
+
+ * gui/Makefile.am: Remove CPPFLAGS def since the -D there was
+ already in INCLUDES
+
+2000-10-14 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/evolution-calendar.oafinfo: Added an
+ "evolution:shell-component-icon" attribute.
+
+2000-10-12 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.{c,glade}: Made the control much more
+ relavent to the function at hand.
+
+2000-10-12 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): set the 2 icon
+ columns to a min width of 18 and resizable to FALSE.
+
+2000-10-12 Damon Chaplin <damon@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_control_activate):
+ (update_pixmaps):
+ (set_pixmap): set the pixmaps of the toolbar buttons for the views,
+ and removed a lot of old unused stuff. We'll use plain buttons for
+ the view buttons for now, until Bonobo toolbars support radio buttons.
+
+ * gui/gnome-cal.c (gnome_calendar_dayjump): check day_button is not
+ NULL before using it.
+ (gnome_calendar_update_view_buttons): check button is not NULL.
+
+2000-10-11 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view-time-item.c (e_day_view_time_item_draw): got 12/24
+ hour format the wrong way round.
+
+2000-10-12 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c (comp_from_remote_record):
+ Store recurrence stuff on the desktop properly
+ (get_ical_day): Utility function
+
+2000-10-12 Iain Holmes <iain@helixcode.com>
+
+ * gui/component-factory.c: Disable the executive summary.
+
+2000-10-11 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend.c (cal_backend_log_entry): Take CalObjType
+ as a param because its impossible to determine after a delete.
+ (cal_backend_remove_object): Calculate CalObjType and pass
+ it to cal_backend_log_entry
+ (cal_backend_update_object): ditto
+
+ * conduits/todo/todo-conduit.c (local_record_from_comp): Kill
+ unused variables.
+ (add_archive_record): Don't kill the sync if this happens
+ (update_record): Kill old function
+ (replace_record): New function to handle replace_record signal
+ (conduit_get_gpilot_conduit): Listen for replace record signal
+ (add_record): Always add a new record, never replace
+ (replace_record): Always replace an existing record
+
+ * conduits/calendar/calendar-conduit.c: Same as above
+
+2000-10-10 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-itip-control.c: set a default size for the control.
+
+2000-10-10 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/evolution-calendar.oafinfo: Added information about the
+ text/calendar MIME type, so that the evolution-calendar is called
+ to deal with iMIP attachments.
+
+ * gui/e-itip-control.[ch]: These files implement a Bonobo
+ control that will eventually deal with iMIP/iTIP messages from
+ the mailer. Right now, it's not working.
+
+ * gui/e-itip-control.glade: The Glade GUI for the above-mentioned
+ control.
+
+ * gui/Makefile.am: added references to the files I created.
+
+ * gui/main.c: called the initialization function of the Bonobo
+ control factory.
+
+2000-10-11 Tuomas Kuosmanen <tigert@helixcode.com>
+
+ * gui/task-assigned-to.xpm gui/task-assigned.xpm
+ gui/recur.xpm gui/task-recurring.xpm gui/task.xpm:
+ New versions of the icons for the tasklist/pad.
+
+2000-10-11 Damon Chaplin <damon@helixcode.com>
+
+ * gui/component-factory.c (owner_unset_cb): don't free evolution_dir
+ as we need it to save the config settings.
+
+2000-10-11 Damon Chaplin <damon@helixcode.com>
+
+ * gui/main.c (main): call calendar_config_write_on_exit() to write
+ out some special config settings (as the mail component does).
+
+ * gui/calendar-commands.c (properties_cmd): changed to use the new
+ preferences dialog.
+ (update_all_config_settings): new function to iterate over all the
+ calendars and update the config settings.
+
+ * gui/dialogs/cal-prefs-dialog.glade: preferences dialog.
+
+ * gui/dialogs/cal-prefs-dialog.[hc]: new files for the preferences
+ dialog.
+
+ * gui/calendar-config.[hc]: new files to handle loading/saving config
+ settings.
+
+ * cal-util/cal-recur.c: fixed bug in YEARLY when no filters were set,
+ plus minor changes.
+
+ * cal-util/test-recur.c: updated.
+
+ * gui/e-day-view-time-item.c:
+ * gui/popup-menu.c: update to #include <gal/widgets/e-gui-utils.h>
+
+ * gui/component-factory.c (owner_set_cb): called calendar_config_init.
+ (owner_set_cb):
+ (owner_unset_cb): updated the prototypes.
+
+ * gui/main.c (main): added call to calendar_config_write_on_exit().
+
+ * gui/component-factory.h:
+ * gui/component-factory.c (owner_set_cb): added global evolution_dir
+ just like the mail component, so we know we to store config stuff.
+
+2000-10-11 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/e-calendar-table.c: Fixed the column elements here.
+
+2000-10-11 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/e-calendar-table.c: Updated to use the new ETable
+ specification stuff.
+
+2000-10-11 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (map_sax_start_element): The
+ element is "pilot_id" not "pilotid". Update both maps
+ (compute_pid): Utility function to set a local records pid
+ (local_record_from_comp): Compute the pid and status here,
+ no longer use the old cal_component pilot interfaces
+ (free_match): Its a *local not a **local
+
+ * conduits/calendar/calendar-conduit.c: same as above
+
+ * conduits/todo/todo-conduit.h: Have both a uid and pid map
+
+ * conduits/todo/calendar-conduit.h: same as above
+
+2000-10-09 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/*: Adjust to using gnome-pilot-sync-abs conduit which
+ is based on the latest pilot link changes.
+
+2000-10-09 Iain Holmes <iain@helixcode.com>
+
+ * Makefile.am: Added the executive-summary library and cflags
+
+ * gui/evolution-calendar.oafinfo: Added oaf servers for the
+ executive summary and executive summary factory.
+
+ * gui/calendar-summary.[ch]: New files to create the summary.
+
+ * gui/component-factory.c (summary_fn): Create the executive
+ summary component.
+ (component_factory_init): Start the summary factory as well.
+
+2000-10-06 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/weekday-picker.[ch]: New widget to pick weekdays.
+
+2000-10-05 Michael Meeks <michael@helixcode.com>
+
+ * gui/calendar-commands.c: upd.
+ (calendar_control_activate): upd.
+ (calendar_control_deactivate): upd.
+
+2000-10-05 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.c:
+ * gui/e-week-view.c: when the user types in a new event, don't create
+ it until the user hits Return or switches focus. Removed the
+ editing_new_event flags.
+
+ * cal-util/test-recur.c: rewritten to work on ics files. Now I can
+ start testing the recurrence code.
+
+ * cal-util/cal-recur.c: a few fixes.
+
+ * gui/e-day-view.c (e_day_view_check_if_new_event_fits): fixed to
+ return TRUE for long events, not FALSE.
+
+2000-10-04 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/print.c (print_todo_details): As a temporary solution to the
+ to-do printing, just print the summaries. We'll use the ETable
+ printing stuff later.
+
+ * gui/print.c (print_day_summary_cb): Use g_list_append() correctly.
+ (print_todo_details_cb): Likewise.
+ (print_day_summary): Initialize psi.events. This code was
+ obviously never tested.
+ (print_todo_details): Likewise.
+ (print_day_details): Initialize pdi.slots.
+
+ * gui/print.c (range_selector_new): Fix strftime() %a versus %b
+ confusion. Fixes bugzilla #644.
+ (range_selector_new): Fix the whole localization mess by making
+ better use of strftime(). Now we generate whole date strings at a
+ time and compose them later. Fixes bugzilla #643.
+
+2000-10-02 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-edit.c: added support for the ROLE and RSVP parameters
+ in both the GUI and underlying iCal.
+
+2000-09-29 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-edit.c: added support for organizers in the meeting
+ scheduler.
+
+2000-09-29 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/e-meeting-edit.c: added code that makes changes to the underlying
+ iCAL structure of an event, when the user changes meeting information.
+
+ * gui/e-meeting-dialog.glade: this is the Glade UI for the meeting dialog
+ and accoutrements.
+
+2000-09-29 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/cal-recur.c: updated to support RDATE end times or
+ durations. Note that if you have two RDATEs with the same start times,
+ but with different end dates/durations set, the results are
+ unpredictable. So the event editor dialog should check for this.
+
+ * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
+ make strftime() strings translatable, and changed the formats a bit.
+
+ * NOTE: someone needs to check print.c to make sure strftime strings
+ are OK for i18n.
+
+ * gui/e-day-view.h: Changed EDayViewDateFormat enum. We now try to
+ include the weekday if possible. Also changed EDayView struct so we
+ store the month & weekdays with the longest names rather than the
+ actual widths. This helps i18n.
+
+ * gui/e-day-view.c (e_day_view_recalc_cell_sizes): used _() for
+ strftime strings, tried to see if weekday fits, and rearranged a
+ bit to make i18n easier.
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw): used _() for
+ strftime strings, and updated to use new formats.
+
+ * gui/calendar-model.c: added use_24_hour_format boolean to
+ CalendarModelPrivate so we can display dates in 12-hour format if
+ requested. This meant adding a CalendarModel argument to a few
+ functions. Also added get/set functions to set use_24_hour_format.
+ I suppose ideally we should have an ECellDate renderer and this option
+ should go there.
+
+2000-09-27 Jesse Pavel <jpavel@helixcode.com>
+
+ * gui/event-editor.c: changed a menu entry so that it will invoke
+ my meeting editor.
+
+ * gui/e-meeting-edit.[ch]: added these files to provide preliminary
+ support for iTIP meeting scheduling. Currently, only the GUI works;
+ there is not yet any backend support.
+
+ * gui/Makefile.am: added entries for e-meeting-edit.[ch]
+
+2000-09-24 Damon Chaplin <damon@helixcode.com>
+
+ * gui/dialogs/task-editor-dialog.glade: set the height of the scrolled
+ window for the description field, since the default window height
+ doesn't seem to be working.
+
+ * cal-util/cal-component.h: added functions to get the actual
+ icalproperty lists for RRULE and EXRULE properties.
+
+ * cal-util/cal-recur.[hc]: added support for COUNT, though I need to
+ test it a bit. Also fixed the call to generate_instances_for_year() so
+ it uses the chunk dates.
+
+2000-09-20 Damon Chaplin <damon@helixcode.com>
+
+ * gui/event-editor.c: got rid of 1 '_' in '__Formatting'.
+
+2000-09-22 Michael Meeks <michael@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_control_activate): upd.
+
+2000-09-21 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-commands.c (verbs): Removed the "about calendar"
+ command, since we don't want to have both "About Evolution" and
+ "About Calendar".
+
+2000-09-21 Michael Meeks <michael@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_control_activate): _UIHandler
+ update.
+
+2000-09-20 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (pre_sync): Don't fail if there
+ is no map file.
+
+2000-09-20 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.h: Add since field to context
+
+ * conduits/todo/todo-conduit.c (map_set_node_timet): New utility
+ function
+ (map_sax_start_element): Look for the map timestamp as well
+ (map_write): Write the map timestamp
+ (pre_sync): Use the map time stamp when looking for changed entries
+
+ * pcs/cal-backend.c (cal_backend_log_sax_start_element): Make sure
+ we are in a valid timestamp
+
+2000-09-20 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend.c (cal_backend_log_name): Make the log file
+ name relevant to the actual calendar file, rather than just the
+ directory.
+
+2000-09-20 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend.c (cal_backend_get_log_entries): Oops
+
+2000-09-20 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend.c (cal_backend_get_log_entries): Use a local
+ sax handler.
+
+ * conduits/todo/todo-conduit.c (pre_sync): Use xmlSAXParseFile
+ (map_sax_parse): Delete
+
+2000-09-20 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend.c (cal_backend_log_sax_start_element): Properly
+ assign the CalObjChange type.
+ (cal_backend_log_sax_parse): Delete
+ (cal_backend_get_log_entries): Use xmlSAXUserParseFile
+
+2000-09-19 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend.c (cal_backend_set_uri): New utility function
+ (cal_backend_load): use above
+ (cal_backend_create): use above
+ (cal_backend_log_name): Take a uri instead of a backend param
+
+ * pcs/cal-backend-file.c: Get rid of useless hash functions
+ (cal_backend_file_load): Check to make sure path exists and is
+ local
+ (cal_backend_file_load): Unref the current uri if there is one
+ (cal_backend_file_create): ditto
+
+ * pcs/cal-backend.c (cal_backend_last_client_gone): Sync before
+ shooting ourselves in the foot
+
+ * pcs/cal-backend-file.c (save): Fully implement backing up the
+ calendar before writing out the new entry.
+
+2000-09-19 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (check_for_slow_setting): Add some
+ other cases where a slow sync is in order
+ (pre_sync): Pre load the uids, the map and the add/mod/del lists
+ (match_record): Use the map hash to match records
+ (iterate): Iterate using the pre-loaded uid list
+ (iterate_specific): Iterate using the add/mod/del lists
+ (purge): Delete all entries in the del list
+ (set_status): Set status by adding to an appropriate list
+ (set_pilot_id): Set pilot_id by updating map hash
+
+ * conduits/todo/todo-conduit.h: Add lists for added, modified and
+ deleted objects
+
+ * conduits/todo/todo-conduit.c (map_name): Get the pilot_id->uid map
+ file name
+ (map_sax_start_element): SAX handler to extract a pilot_id->uid
+ mapping
+ (map_sax_parse): Parse the given file and build a pilot_id->uid hash
+ (map_write_foreach): Write out individual mapping elements
+ (map_write): Write out the pilot_id->uid mapping
+ (start_calendar_server_cb): Rename from gnome_calendar_load_cb
+
+ * conduits/todo/todo-conduit-config.h: Rename pilotID to pilot_id
+
+ * conduits/todo/e-todo.conduit.in: A little renaming
+
+ * conduits/todo/Makefile.am: Fix build slightly
+
+ * pcs/cal.c (build_change_seq): Build a corba sequence out of a list
+ of CalObjChanges
+ (Cal_get_objects_in_range): Implement new corba function
+
+ * pcs/cal-backend.c (cal_backend_init): Intiliaze to NULL
+ (cal_backend_load): Track the uri so we can write the log file
+ to the same place
+ (cal_backend_log_name): Figure out the log filename/path based on
+ the calendar uri
+ (cal_backend_set_node_timet): Set an xml node property value from
+ a time_t
+ (cal_backend_log_entry): Adds a log entry to list waiting to be written
+ out
+ (cal_backend_log_sync): Syncs the log entries to disk
+ (cal_backend_log_sax_start_element): SAX callback for reading in
+ log entries
+ (cal_backend_log_sax_end_element): ditto
+ (cal_backend_log_sax_parse): Main SAX parser call to parse the log
+ file looking for particular log entries and creating a CalObjChange
+ hash with the last change for each object
+ (cal_backend_get_log_entries): Returns a hash of objects of a given
+ type changed since the given time
+ (cal_backend_update_object): Add appropriate log entries
+ (cal_backend_remove_object): ditto
+ (cal_backend_get_changed_uids): Implement new idl interface call
+ (cal_backend_foreach_changed): Convert CalObjChange hash into a list
+
+ * pcs/cal-backend-imc.[hc]: Remove crufty files
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_type_by_uid): New
+ function that returns the CalObjType for a uid.
+
+ * cal-client/cal-client.h: Update prototypes.
+
+ * cal-client/cal-client.c (build_change_list): Build a list
+ of CalObjChange items from a corba sequence.
+ (cal_client_get_changed_uids): New accessor method for the
+ similarly named addition to the idl file.
+
+ * cal-util/cal-util.h: Update prototypes and add CalObjChangeType
+ enum.
+
+ * cal-util/cal-util.c (cal_obj_change_list_free): New utility
+ method to free a list of CalObjChange objects.
+
+ * idl/evolution-calendar.idl: Add get_changed_uids method
+ and associated types.
+
+2000-09-18 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
+ $(EXTRA_GNOME_LIBS). Removed unneeded libraries.
+
+ * gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c,
+ gui/e-week-view-event-item.c, gui/e-week-view.c,
+ gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c,
+ gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines
+ to deal properly with gal.
+
+ * gui/check-filled.xpm: New file since we can't include it from
+ e-table anymore.
+
+2000-09-16 Michael Meeks <michael@helixcode.com>
+
+ * gui/Makefile.am (INCLUDES): add datadir
+
+ * gui/calendar-commands.c (calendar_control_activate): use it.
+
+2000-09-14 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/.cvsignore: Shush
+
+2000-09-14 JP Rosevear <jpr@helixcode.com>
+
+ * Add headers with GPL notice and credit copyright to those appropriate
+
+ * conduits/todo/todo-conduit-control-applet.c (doHelp): Update name,
+ authors, copyright for about dialog.
+ (activate_sync_type): Tidy
+
+ * conduits/todo/Makefile.am: Rename binaries and libs to e-todo*
+ to avoid conflicts.
+
+ * conduits/todo/e-todo.conduit.in: Reflect binary/lib name changes
+
+ * conduits/todo/e-todo-conduit-control-applet.desktop: ditto
+
+ * conduits/todo/todo.conduit.in: Removed
+
+ * conduits/todo/todo-conduit-control-applet.desktop: Removed
+
+ * conduits/todo/todo-conduit-config.h (todoconduit_load_configuration):
+ The config file will now be called e-todo-conduit
+ (todoconduit_save_configuration): ditto
+
+ * conduits/todo/todo-conduit.c: Some renaming to keep consistent.
+ (pre_sync): Remove commented out function that does not exist.
+
+ * conduits/todo/todo-conduit-control-applet.c: ditto
+
+ * conduits/todo/todo-conduit-config.h: ditto
+
+ * conduits/todo/todo-conduit.h: ditto
+
+
+2000-09-07 Michael Meeks <michael@helixcode.com>
+
+ * gui/calendar-commands.c: Re-write most UI handler code.
+
+2000-09-13 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (obj_updated_cb): Removed an unused
+ variable.
+
+ * gui/calendar-model.c (obj_updated_cb): See if the new object
+ matches the type of objects we were told to deal with.
+ (load_objects): Likewise.
+
+2000-09-13 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend-file.c (remove_component): Only remove the pilot
+ item from the hash if it exists in the first place.
+
+2000-09-12 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend-file.c (add_component): plug leakage
+
+2000-09-12 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c: Hack to compile for distcheck.
+
+ * conduits/calendar/calendar-conduit.h: Remove calobj.h dependency
+
+2000-09-12 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_load): Use g_int_*
+ for now
+ (cal_backend_file_create): ditto
+
+ * conduits/todo/todo-conduit.c (local_record_from_compobject): Make
+ this actually fill in the todo record.
+ (find_record_in_repository): Add debug stuff
+ (iterate_specific): Use the already exisiting utility function
+
+ * pcs/cal-backend-file.c (cal_backend_file_update_pilot_id): correct
+ the status and id types. g_strdup the uid since this is not a
+ constified return
+ (cal_backend_file_get_uid_by_pilot_id): correct the id type
+
+2000-09-12 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/Makefile.am: Remove `ui.xml' stuff.
+
+ * pcs/cal-backend.c: Dont' #include calobj.h anymore as it's gone.
+
+2000-09-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (gnome_calendar_construct): Connect to the
+ "cal_loaded" signal of the client here.
+ (connect_load): Removed function.
+ (disconnect_load): Removed function.
+ (cal_loaded_cb): Store the URI we are loading in the GnomeCal
+ structure instead of in a weird closure. This gets rid of the
+ connect/disconnect mess as well.
+ (gnome_calendar_open): Store the URI in the GnomeCal.
+
+2000-09-11 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/e-day-view.c: Fixed a warning (removed unused variable
+ gfloat width from e_day_view_get_event_position.)
+
+2000-09-11 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c: Handle renaming, header cleanup
+
+ * conduits/todo/todo-conduit.h: Rename GCalLocalRecord to
+ EToDoLocalRecord, header cleanup
+
+2000-09-11 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (comp_from_remote_record): Use
+ description list instead of comment list for pilot todo note
+ (transmit): Check for null cal component properties, set priority
+ correctly, use description list instead of comment list. Make
+ pilot record private when appropriate.
+
+2000-09-10 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (comp_from_remote_record): Only
+ set the due date only if it exists
+
+2000-09-10 JP Rosevear <jpr@helixcode.com>
+
+ * gui/calendar-model.c (get_is_complete): Relying on the status
+ field is somewhat faulty since it is related to group scheduling
+
+2000-09-10 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (update_calendar_entry_in_repository):
+ Make log output a little more sensible
+ (comp_from_remote_record): Minor correction when making a CalComponent
+ from scratch.
+ (update_record): Use comp_from_remote_record for new items, rather
+ than repeating the code here.
+
+2000-09-10 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c: Remove catch_ret_val function
+ since its no longer useful. Fix naming of various fields from
+ the header changes. Use GnomePilotRecord* stuff instead of
+ ICAL_PILOT_SYNC_*
+ (e_todo_context_new): Rename from gcalconduit_new_context. Now takes
+ a pilot id and loads the configuration here
+ (e_todo_context_destroy): Rename from gcalconduit_destroy_context.
+ Unref the client and destroy the configuration if they exist here
+ (start_calendar_server): Change the default calendar name
+ (local_record_from_comp_uid): Rename from local_record_from_ical_uid
+ (local_record_from_compobject): Rename from
+ local_record_from_icalobject. Properly do the pilot id and status.
+ (comp_from_remote_record): Rename from ical_from_remote_record.
+ Handle due, complete, classification and pilot stuff properly
+ (pre_sync): Remove some old stuff. We need to figure out how to
+ set some of the field values.
+ (set_status): Reflect pilot status changes from above
+ (conduit_destroy_gpilot_conduit): Remove cleanup stuff that is
+ now done by e_todo_context_destroy
+ (conduit_get_gpilot_conduit): Only set the context as object
+ data of the conduit.
+
+ * conduits/todo/todo-conduit.h: Rename GCalConduitContext to
+ EToDoConduitContext. Remove some unused struct fields.
+ For GCalLocalRecord, rename ical to comp.
+
+2000-09-11 Damon Chaplin <damon@helixcode.com>
+
+ * gui/dialogs/task-editor.c: changed to use EDateEdit.
+
+ * gui/dialogs/task-editor-dialog.glade: added "None" option to
+ Classification option menu, and used custom widgets for the date
+ entries so we can use EDateEdit widgets.
+
+ * gui/event-editor.c: changed to use EDateEdit. Note that this needs
+ to be fixed at some point to handle invalid dates, i.e. when
+ e_date_edit_get_time returns -1.
+
+ * gui/calendar-model.c (ensure_task_complete):
+ (ensure_task_not_complete): new functions to set the related properties
+ to make sure a task is marked as complete on not, i.e. "Date Completed"
+ "Status" and "Percent" properties.
+
+2000-09-08 Damon Chaplin <damon@helixcode.com>
+
+ * gui/calendar-model.c (get_is_complete): use the status field rather
+ than the completed date, as it is more reliable.
+ (get_is_overdue): use get_is_complete().
+ (calendar_model_mark_task_complete): check if it is already complete,
+ and if so don't update it.
+
+ * cal-util/cal-component.c (cal_component_get_status):
+ (cal_component_set_status): added functions to support the STATUS
+ property. Also added the property to CalComponentPrivate and set it
+ to NULL in free_icalcomponent(). Someone should check my code as I've
+ mainly done a Cut & Paste job.
+
+2000-09-10 JP Rosevear <jpr@helixcode.com>
+ * conduits/todo/todo-conduit.c: Convert "//" style comments
+ (local_record_from_ical_uid): Remove iCalObject cruft
+ (ical_from_remote_record): ditto
+ (free_match): Properly unref the CalComponent
+
+2000-09-10 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c (local_record_from_icalobject): Use
+ cal component pilot stuff properly
+ (find_record_in_repository): Remove cruft
+ (ical_from_remote_record): Remove cruft
+ (update_record): Set the vtype immediately after creation. Remove cruft
+
+ * conduits/todo/todo-conduit.h: Remove iCalObject stuff
+
+ * conduits/todo/todo-conduit-config.h: Move all the config stuff
+ here, I need to kill the warnings at some point
+
+ * conduits/todo/todo-conduit-control-applet.c (doRevertSettings):
+ Set all the state variables correctly on a revert
+ (doSaveSettings): Update original state
+ (doHelp): Rename from about_cb
+ (main): Destroy configurations when done
+
+ * conduits/todo/Makefile.am: Tidy
+
+ * pcs/cal-backend-file.c (cbf_pilot_hash): Function for hashing
+ pilot ids
+ (cbf_pilot_equal): For hash table of pilot ids
+ (cal_backend_file_destroy): Destroy pilot id hash
+ (add_component): Insert the uid into the pilot hash
+ (remove_component): Remove the uid from the pilot hash
+ (cal_backend_file_load): Create the pilot hash
+ (cal_backend_file_create): ditto
+ (cal_backend_file_get_uid_by_pilot_id): Implement using the pilot hash
+ (cal_backend_file_update_pilot_id): ditto
+
+ * cal-util/cal-component.h: Update prototypes
+
+ * cal-util/cal-component.c (cal_component_get_pilot_id): Implement
+ using ical X properties
+ (cal_component_set_pilot_id): ditto
+ (cal_component_get_pilot_status): ditto
+ (cal_component_set_pilot_status): ditto
+ (cal_component_free_pilot_id): Free a pilot id
+ (cal_component_free_pilot_status): Free a pilot status
+
+2000-09-09 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/dialogs/Makefile.am (INCLUDES): Add
+ `-I$(top_builddir)/libical/src/libical' so that we get
+ `icalversion.h' from the build directory instead of taking it from
+ the installation directory, which is of course Wrong (tm).
+ * gui/Makefile.am (INCLUDES): Likewise.
+
+2000-09-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (cal_loaded_cb): New function with the
+ loading/creation state machine. It is carefully modelled after
+ the state machine that started the Universe, so bow before it.
+ (gnome_calendar_construct): Do not connect to cal_loaded here.
+ (connect_load): The closure for the cal_loaded callback is a bit
+ tricky, so provide a function to create it and connect to the
+ signal.
+ (disconnect_load): Disconnect from the signal and free the
+ closure.
+ (gnome_calendar_load_cb): Removed obsolete buggy function.
+ (gnome_calendar_open): Use the new mechanism.
+
+ * gui/control-factory.c (set_prop): The default filename is now
+ calendar.ics.
+
+2000-09-08 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c (transmit): Use
+ icaltime_as_timet
+
+2000-09-08 Christopher James Lahey <clahey@helixcode.com>
+
+ * cal-util/cal-recur.c, gui/e-day-view.c, gui/e-week-view.c,
+ gui/event-editor.c, gui/getdate.y, gui/gncal-todo.c,
+ gui/gnome-cal.c, gui/dialogs/task-editor.c: Fixed some warnings.
+
+2000-09-08 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/calendar/Makefile.am: Tidy
+
+ * conduits/todo/Makefile.am: Tidy
+
+2000-09-08 Federico Mena Quintero <federico@helixcode.com>
+
+ Fall equinox cleanup!
+
+ OK, I know the equinox is not here yet, but weather has changed
+ enough to warrant it.
+
+ Sigh. This place is definitely not the tropics.
+
+ * gui/gnome-cal.c (obj_updated_cb): Renamed from
+ gnome_calendar_object_updated_cb(); fixed prototype.
+ (obj_removed_cb): Renamed from gnome_calendar_object_removed_cb();
+ fixed prototype.
+ (GnomeCalendarPrivate): Moved all the GnomeCalendar fields to a
+ private structure so I don't have to rebuild the whole calendar
+ GUI directory every time something changes in the object.
+ (GnomeCalendarPrivate): Removed the property bag and the control
+ fields; they are local to the control-factory now.
+ (gnome_calendar_update_view_buttons): Remove the
+ ignore_view_button_clicks mess and just block the signal.
+ (gnome_calendar_set_view): Added a "focus" argument to indicate
+ whether we want the main widget in the specified view to grab the
+ focus.
+ (gnome_calendar_set_view_internal): Handle the focus argument here.
+ (gnome_calendar_set_view_buttons): Temporary hack to notify the
+ calendar about its buttons.
+ (gnome_calendar_get_selected_time_range): New function.
+ (gnome_calendar_get_cal_client): New function.
+
+ * gui/control-factory.c (calendar_properties_init): Keep the
+ property bag local to here; it does not need to be in the calendar
+ object yet.
+ (control_factory_fn): Renamed from control_factory(). Just use
+ control_factory_new_control().
+ (control_factory_new_control): Moved the stuff over from
+ create_control(), and keep the control local to here. Check the
+ return value of bonobo_control_new().
+
+ * gui/calendar-commands.c (show_day_view_clicked): Remove the
+ ignore_view_button_clicks mess.
+ (new_calendar): Removed the useless "page" argument.
+ (calendar_control_activate): Use gnome_calendar_set_view_buttons()
+ for now.
+
+2000-09-07 Lauris Kaplinski <lauris@helixcode.com>
+
+ * cal-client/Makefile.am: Added -lunicode
+
+ * gui/dialogs/task-editor.c: More UTF-8 wrappers
+ (priority_index_to_value): Kill warning, add assertion
+
+2000-09-06 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
+ Use new cal_component_has_recurrences convenience function
+
+ * gui/e-week-view.c (e_week_view_show_popup_menu): ditto
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons):
+ ditto
+
+ * gui/calendar-model.c (calendar_model_value_at): ditto
+ (calendar_model_value_at): ditto
+
+ * gui/e-day-view.c (e_day_view_on_event_click): ditto
+ (e_day_view_on_event_right_click): ditto
+ (e_day_view_on_top_canvas_motion): ditto
+ (e_day_view_on_top_canvas_motion): ditto
+ (e_day_view_on_main_canvas_motion): ditto
+ (e_day_view_on_main_canvas_motion): ditto
+ (e_day_view_reshape_day_event): ditto
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
+ ditto
+
+ * gui/e-day-view.c (e_day_view_on_long_event_click): ditto
+
+2000-09-06 JP Rosevear <jpr@helixcode.com>
+
+ * cal-util/cal-recur.c (cal_recur_generate_instances): Use
+ new convenience functions and only get the recurrence
+ stuff if needed. Free the recurrence stuff if used.
+
+2000-09-05 JP Rosevear <jpr@helixcode.com>
+
+ * cal-util/cal-component.h: Add new prototypes
+
+ * cal-util/cal-component.c (cal_component_has_exrules): Utility
+ function to determine whether a cal component has any exrules
+ (cal_component_has_exdates): Ditto for exdates
+ (cal_component_has_exceptions): Utility function to determine
+ whether a cal component has any exception rules
+ (cal_component_has_recurrences):Utility function to determine
+ whether a cal component has any recurrence rules
+
+2000-09-05 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor.c (dialog_to_comp_object): Kill all exdates if
+ there are no dates in the box
+
+ * cal-util/cal-recur.c (generate_instances_for_year): Add a special
+ case for when there are exceptions but no rrules or rdates.
+ (cal_obj_remove_exceptions): Use date only compare func
+ (cal_obj_date_only_compare_func): New compare function that
+ compares the date only, not the time.
+
+ * gui/event-editor.c (dialog_to_comp_object): Need a break for the
+ yearly recurrence type
+ (dialog_to_comp_object): We need to allocate icaltimetypes for the
+ exdate list
+ (fill_widgets): Handle a weekly recurrence with no particular day set
+ (dialog_to_comp_object): Kill all rrules if "None" is selected as
+ the recurrence type by the user
+
+2000-09-06 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-calendar-table.c (e_calendar_table_open_task): uses the new
+ TaskEditor dialog.
+
+ * gui/dialogs/task-editor.[hc]:
+ * gui/dialogs/task-editor-dialog.glade: updated. Still need to fix the
+ 'Status' property (CalComponent doesn't support it yet), and use a
+ replacement for GnomeDateEdit, since we need to support setting 'None'
+ as the date.
+
+2000-09-04 Damon Chaplin <damon@helixcode.com>
+
+ * gui/event-editor.c (obj_updated_cb):
+ (obj_removed_cb): compare the updated object's uid with the one we
+ are editing, and just return if it doesn't match.
+
+2000-09-01 Damon Chaplin <damon@helixcode.com>
+
+ * gui/gnome-cal.c (gnome_calendar_tag_calendar): added check to see
+ if the client has loaded successfully. Gets rid of a few warnings.
+
+2000-09-05 JP Rosevear <jpr@helixcode.com>
+
+ * cal-util/cal-recur.c (generate_instances_for_year): The exdate
+ and rdate lists are a list of icaltimetypes, not CalComponentPeriods
+
+ * gui/e-day-view.c (e_day_view_on_delete_occurrence): The exdate list
+ is a list of icaltimetypes, not CalComponentDateTimes
+
+2000-09-05 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-day-view.c (e_day_view_on_delete_occurrence): Append
+ the exdate to the list AFTER we create the date value.
+
+2000-09-05 JP Rosevear <jpr@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_free_recur_list): Free
+ the data, not the list element.
+
+2000-09-05 JP Rosevear <jpr@helixcode.com>
+
+ * cal-util/cal-recur.c (cal_recur_generate_instances): Compute
+ the event duration using the event start/end times, not the
+ interval times.
+
+2000-09-05 JP Rosevear <jpr@helixcode.com>
+
+ * cal-util/cal-recur.c (cal_recur_from_icalrecurrencetype): Check
+ to see if r->enddate is (time_t)-1 and set to 0 if so
+
+2000-09-02 Ettore Perazzoli <ettore@helixcode.com>
+
+ * conduits/calendar/Makefile.am (INCLUDES): Add libical include
+ directories and `$(BONOBO_GNOME_CFLAGS)'.
+ * conduits/todo/Makefile.am (INCLUDES): Likewise.
+
+2000-09-02 Lauris Kaplinski <lauris@helixcode.com>
+
+ * gui/event-editor.c: e_utf8 wrappers
+
+ * gui/gncal-todo.c: e_utf8_wrappers
+
+2000-09-02 Christopher James Lahey <clahey@helixcode.com>
+
+ * conduits/calendar/calendar-conduit.c,
+ conduits/todo/todo-conduit.c, gui/e-week-view.c, gui/gnome-cal.c:
+ Fixed some warnings.
+
+2000-09-01 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (gnome_calendar_new): Use
+ gnome_calendar_construct() so that we can check for proper
+ creation of the client.
+ (gnome_calendar_destroy): Check that the client exists before we
+ unref it.
+ (gnome_calendar_construct): Do the CalClient creation here. Bind
+ the views to it here as well instead of in setup_widgets().
+ (gnome_calendar_init): Call setup_widgets() here.
+
+ * gui/e-calendar-table.c (e_calendar_table_destroy): Unref the
+ model.
+
+2000-09-01 JP Rosevear <jpr@helixcode.com>
+
+ * conduits/todo/todo-conduit.c: Update for new libical.
+ Conduits should atleast compile now.
+
+ * conduits/calendar/calendar-conduit.c: ditto
+
+ * Makefile.am: Build the conduits only when they've been
+ enabled.
+
+2000-09-01 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor.c: Make toolbar save and close button.
+ We should put a similar menu option in sometime.
+
+2000-08-31 JP Rosevear <jpr@helixcode.com>
+
+ * cal-util/cal-recur.c (array_to_list): Use
+ ICAL_RECURRENCE_ARRAY_MAX instead of MAX_SHORT
+
+2000-08-31 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor.c (file_delete_cb): Implement delete option
+ (dialog_to_comp_object): Set the weekday start value and use
+ local not UTC time
+
+2000-08-31 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (file_delete_cb): No need to spit a warning
+ if removal fails.
+ (event_editor_destroy): Free the exception clist data. Unref the
+ calendar client here.
+ (close_dialog): Just call gtk_object_destroy() on the event
+ editor; the destroy handler will free everything else.
+
+ * cal-client/cal-client.c (cal_client_object_exists): Removed
+ function; this is not useful because we operate asynchronously.
+
+ * gui/e-day-view.c (e_day_view_on_delete_appointment): No need to
+ spit a warning if removal fails.
+
+ * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise.
+
+ * gui/calendar-model.c (calendar_model_delete_task): Likewise.
+
+2000-08-31 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor.c (file_delete_cb): Implement delete option
+ (recurrence_toggled): Make an ugly hack to get the recurrence
+ pages showing properly since we don't yet implement all of the
+ recurrence rule stuff.
+
+ * cal-client/cal-client.c (cal_client_object_exists): New function
+ to see if an object exists and is obtainable from the backend
+
+ * cal-client/cal-client.h: Add prototype
+
+2000-08-31 JP Rosevear <jpr@helixcode.com>
+
+ * gui/gnome-cal.c (editor_closed_cb): Event editor destroyed
+ callback to do hash cleanup
+ (gnome_calendar_edit_object): Set event editor calendar client.
+
+ * gui/event-editor.h: Add new prototype
+
+ * gui/event-editor.c: Trash signal stuff. We will manipulate
+ the client directly. Make the toolbar save and menu save items
+ work identically. Add icons to the toolbar.
+ (save_event_object): Call cal_client_update_object
+ (close_dialog): Unref the client and disconnect signals
+ Actually destroy the event editor object.
+ (obj_updated_cb): New function. Doesn't really do anything
+ yet but it will inform the user the event has changed elsewhere
+ in the future.
+ (obj_removed_cb): ditto
+ (event_editor_set_cal_client): New function to set the calendar
+ client
+
+ * gui/gnome-cal.c (gnome_calendar_new_appointment): Commit
+ the sequence to the cal component and use non UTC times.
+
+2000-08-30 Lauris Kaplinski <lauris@helixcode.com>
+
+ * gui/print.c: Countless small changes for gnome-print 0.21+
+
+2000-08-30 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.[hc]:
+ * gui/e-day-view-main-item.c:
+ * gui/e-week-view.[hc]:
+ * gui/e-week-view-main-item.c:
+ * gui/calendar-commands.c:
+ * gui/gnome-cal.[hc]: switched to using new ECalendar widget,
+ and a few other fixes.
+
+2000-08-30 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.h (GnomeCal): Removed unused field event_editor.
+
+ * gui/e-day-view.c (e_day_view_key_press): Oops, set the
+ dtstart/dtend on the component before adding it.
+ (e_day_view_on_editing_stopped): No need to check for an UID.
+ Update the summary properly.
+
+2000-08-30 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-week-view.c: Make sure the is_utc flag is always
+ FALSE for icaltime_from_timet
+ (e_week_view_on_unrecur_appointment): Use icaltimetype struct
+ from the stack and make sure tzid is always NULL
+ (e_week_view_key_press): ditto
+
+2000-08-30 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-day-view.c: Make sure the is_utc flag is always
+ FALSE for icaltime_from_timet
+ (e_day_view_on_unrecur_appointment): Use icaltimetype struct
+ from the stack and make sure tzid is always NULL
+ (e_day_view_finish_long_event_resize): ditto
+ (e_day_view_finish_resize): ditto
+ (e_day_view_on_top_canvas_drag_data_received): ditto
+ (e_day_view_on_main_canvas_drag_data_received): ditto
+
+2000-08-30 JP Rosevear <jpr@helixcode.com>
+
+ * cal-client/cal-client.c (add_instance): Actually add the
+ comp_instance struct to the instances list. We now appear
+ to able to keep events and todos between sessions. Yay!
+
+2000-08-29 Federico Mena Quintero <federico@helixcode.com>
+
+ Now the views monitor the client by themselves; it does not make
+ sense to proxy all notifications through the GnomeCal. The
+ GnomeCal should just be a meta-widget that holds all the views.
+
+ At some later point we'll want to decouple the views from the
+ GnomeCal so that they can be embedded anywhere; they should emit
+ signals to request appropriate actions from the toplevel GUI
+ instead of calling the GnomeCal directly.
+
+ * gui/e-day-view.c (e_day_view_set_cal_client): New function; now
+ the day view monitors the client by itself.
+ (cal_loaded_cb): New callback; moved over from
+ e_day_view_update_all_events().
+ (obj_updated_cb): New callback; moved over from
+ e_day_view_update_event().
+ (obj_removed_cb): New callback; moved over from
+ e_day_view_remove_event().
+ (e_day_view_update_all_events): Removed function.
+ (e_day_view_update_event): Removed function.
+ (e_day_view_remove_event): Removed function.
+ (*): Use the day_view->client directly instead of fetching it from
+ the GnomeCal.
+ (e_day_view_destroy): Unref the client.
+ (e_day_view_reload_events): Check if the client is loaded.
+ (e_day_view_key_press): Set the vtype of the new component.
+
+ * gui/e-week-view.c (e_week_view_set_cal_client): New function.
+ (cal_loaded_cb): New callback.
+ (obj_updated_cb): New callback.
+ (obj_removed_cb): New callback.
+ (e_week_view_update_all_events): Removed function.
+ (e_week_view_update_event): Removed function.
+ (e_week_view_remove_event): Removed function.
+ (*): Use the week_view->client directly.
+ (e_week_view_destroy): Unref the client.
+ (e_week_view_reload_events): Check if the client is loaded.
+
+ * gui/gnome-cal.c (setup_widgets): Set the cal_client on all the
+ views.
+ (gnome_calendar_update_all): Do not update the views, since now
+ they do it themselves.
+ (gnome_calendar_object_updated_cb): Likewise.
+ (gnome_calendar_object_removed_cb): Likewise.
+ (setup_widgets): Remove all to-do list cruft.
+ (gnome_calendar_colors_changed): Likewise.
+ (gnome_calendar_todo_properties_changed): Likewise.
+
+ * gui/calendar-commands.h (todo_style_changed): Removed variable.
+
+ * gui/gncal-todo.c: Removed old clist cruft; just left in the
+ temporary dialog box for now.
+
+2000-08-29 Dan Winship <danw@helixcode.com>
+
+ * cal-client/client-test.c:
+ * cal-client/cal-client.c:
+ * conduits/todo/todo-conduit.h:
+ * conduits/calendar/calendar-conduit.h: remove USING_OAF checks.
+
+2000-08-29 JP Rosevear <jpr@helixcode.com>
+
+ * gui/gnome-cal.c (gnome_calendar_edit_object): Use
+ event_editor_set_event_object
+
+ * gui/event-editor.c (event_editor_set_event_object): Rename
+ from event_editor_set_ical_object
+
+ * gui/event-editor.h: Update prototype
+
+ * gui/e-week-view.c (e_week_view_on_new_appointment):
+ Call cal_component_commit_sequence after event changes. Default
+ to these being all day events.
+
+2000-08-29 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor.c (dialog_to_comp_object): These are not UTC
+ times
+
+2000-08-28 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client/cal-client.c (cal_client_is_loaded): New function.
+ We need this from code that dynamically updates from a client and
+ could not have connected to the "cal_loaded" signal right after
+ the client was created.
+
+ * gui/calendar-model.c (load_objects): Do not try to load the
+ objects if the client has not been loaded yet.
+ (cal_loaded_cb): Check the status value.
+
+ * gui/calendar-model.h (CalendarModel): Declare the private
+ structure here so that gdb will give me love.
+
+ * pcs/cal-factory.h (CalFactory): Likewise.
+
+ * pcs/cal.h (Cal): Likewise.
+
+ * cal-client/cal-listener.h (CalListener): Likewise.
+
+ * cal-client/cal-client.h (CalClient): Likewise.
+
+ * pcs/cal-backend.h (CalBackend): This no longer has a private
+ structure, so remove it.
+
+ * cal-util/Makefile.am (libcal_util_la_SOURCES): Removed the
+ vCalendar and old iCalendar cruft.
+ (libcal_utilinclude_HEADERS): Likewise.
+ Removed the obsolete iCalendar test program.
+
+2000-08-28 JP Rosevear <jpr@helixcode.com>
+
+ * cal-util/timeutil.h: We no longer need time_from_icaltimetype
+ as libical has the API for this
+
+ * cal-util/timeutil.c: ditto
+
+ * cal-util/cal-recur.c: Replace time_from_icaltimetype with
+ icaltime_as_timet
+
+ * gui/calendar-model.c: ditto
+
+ * gui/event-editor.c: ditto
+
+ * gui/gnome-cal.c: ditto
+
+2000-08-28 Federico Mena Quintero <federico@helixcode.com>
+
+ * pcs/cal-backend-file.c (remove_component): Remove the
+ icalcomponent from the toplevel calendar here.
+ (cal_backend_file_update_object): Do not remove it here.
+ (cal_backend_file_remove_object): Do not remove it here.
+ (add_component): Add the icalcomponent to the toplevel calendar if
+ asked to.
+ (cal_backend_file_update_object): Do not add it here.
+
+2000-08-28 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor.c (dialog_to_comp_object): Initiliaze tzid to
+ null, only set recurrence rules and exception dates if there
+ are any
+
+2000-08-27 JP Rosevear <jpr@helixcode.com>
+
+ * pcs/cal-backend-file.c (save): Write out the calendar object
+ (cal_backend_file_update_object): Remove/add the icalcomponent
+ from our master icalcomponent (the calendar)
+ (cal_backend_file_remove_object): Remove the icalcomponent
+ from our master icalcomponent
+
+2000-08-26 JP Rosevear <jpr@helixcode.com>
+
+ * gui/Makefile.am: Remove gnorba stuff
+
+ * gui/main.c: ditto
+
+ * gui/component-factory.c: ditto
+
+ * gui/control-factory.c: ditto
+
+ * gui/*.gnorba: ditto
+
+2000-08-25 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-calendar-table.c (e_calendar_table_init): Uncomment
+ debug code.
+
+ * gui/calendar-model.c (set_complete): Set the completed
+ date to the current date
+ (calendar_model_set_value_at): Handle complete field
+
+2000-08-25 JP Rosevear <jpr@helixcode.com>
+
+ * gui/calendar-model.c (get_is_complete): Don't attempt to
+ free this if its null
+ (calendar_model_duplicate_value): Implement for summary field
+ value
+ (calendar_model_initialize_value): Remove debug code
+
+ * gui/e-calendar-table.c: Correct etable init xml
+ (create_column): Pass the id to e_table_header_add_column
+ rather than a hard coded one
+ (e_calendar_table_init): Make sure summary column isn't
+ added twice. Add an alarms column, else etable won't
+ work with columns who have an ID higher than that
+
+2000-08-24 JP Rosevear <jpr@helixcode.com>
+
+ * gui/gncal-todo.c (ok_button): Properly append to list
+
+ * gui/event-editor.c (dialog_to_comp_object): ditto
+
+ * gui/e-day-view.c (e_day_view_on_new_appointment): The base
+ times are not UTC
+
+ * gui/e-week-view.c (e_week_view_on_new_appointment): ditto
+
+2000-08-24 JP Rosevear <jpr@helixcode.com>
+
+ * Update for libical 0.19
+
+2000-08-24 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/calendar-commands.c, gui/e-day-view.c, gui/e-week-view.c,
+ gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/prop.c:
+ Fixed some warnings.
+
+2000-08-24 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-week-view.c (e_week_view_on_new_appointment): Do not alloc
+ the struct icaltimetype but point to one on the stack. More
+ importantly, set the date.tzid to NULL.
+
+2000-08-24 JP Rosevear <jpr@helixcode.com>
+
+ * gui/gnome-cal.c (save_event_object_cb): Make signal
+ names saner
+ (released_event_object_cb): ditto
+ (gnome_calendar_edit_object): ditto
+
+ * gui/event-editor.h: Make signal names saner
+
+ * gui/event-editor.c (event_editor_class_init): Make signal
+ names saner now that we don't use ical object
+ (save_event_object): ditto with callback names
+ (file_save_cb): ditto
+ (tb_save_and_close_cb): ditto
+ (event_editor_set_ical_object): ditto
+
+ * gui/e-day-view.c (e_day_view_update_event): Umm,
+ != CAL_COMPONENT_EVENT (I hope that wasn't me!)
+
+2000-08-24 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/e-day-view.c (e_day_view_on_new_appointment): Do not alloc
+ the struct icaltimetype but point to one on the stack. More
+ importantly, set the date.tzid to NULL.
+
+2000-08-24 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor-dialog.glade: Remove owner field
+
+ * gui/event-editor.c (clear_widgets): Forget about owner field
+ (get_widgets): ditto
+ (fill_widgets): ditto
+
+2000-08-24 JP Rosevear <jpr@helixcode.com>
+
+ * gui/calendar-model.c (calendar_model_initialize_value): Handle
+ summary field
+ (calendar_model_value_is_empty): ditto
+ (calendar_model_free_value): ditto
+
+2000-08-23 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor-dialog.glade: Remove status bar
+
+ * cal-util/cal-component.c (cal_component_set_rrule_list): Allow
+ a null list
+ (cal_component_set_rdate_list): Allow a null list
+
+ * gui/e-day-view.c (e_day_view_on_new_appointment): Commit
+ the CalComponent sequence
+
+2000-08-23 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/main.c: #include <e-util/e-cursors.h>
+
+ * gui/e-day-view-time-item.c (e_day_view_time_item_draw):
+ Initialize time_min_x1 and hour_r to keep gcc happy.
+
+ * gui/e-day-view.c (e_day_view_update_event_label): Warning fix.
+ (e_day_view_update_main_canvas_drag): Initialize start_row.
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw):
+ Initialize time_y_small_min, icon_x.
+
+ * Makefile.am (SUBDIRS): Re-enable the gui directory.
+
+ * gui/prop.c (prop_store_alarm_default_values): Temporarily #if 0
+ out.
+
+2000-08-23 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-week-view.c (e_week_view_key_press): Set vtype of new
+ CalComponent
+ (e_week_view_on_new_appointment): ditto
+
+ * gui/e-day-view.c (e_day_view_on_new_appointment): ditto
+
+2000-08-23 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-day-view-time-item.c: Include gnome.h for gettext purposes
+
+ * gui/gnome-cal.c: ditto
+
+ * gui/prop.c: #if out some alarm stuff
+
+2000-08-23 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/e-calendar-table.c (e_calendar_table_init): Updated
+ function.
+ (e_calendar_table_open_task): Updated function.
+
+2000-08-21 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (calendar_model_duplicate_value): Updated
+ function.
+ (calendar_model_free_value): Updated function.
+ (calendar_model_initialize_value): Updated function.
+ (calendar_model_value_is_empty): Updated function.
+ (remove_object): Updated function.
+ (obj_updated_cb): Updated function.
+ (calendar_model_get_cal_client): Added inline docs.
+ (calendar_model_delete_task): Updated.
+ (calendar_model_mark_task_complete): Updated.
+ (calendar_model_get_cal_object): Updated.
+
+2000-08-21 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (set_categories): New function.
+ (parse_time): Moved over from the old set_time_t(). This just
+ parses the time and leaves the warning dialog for the caller.
+ (set_datetime): New function.
+ (set_geo): Updated old function.
+ (set_percent): Updated old function.
+ (set_priority): Updated old function.
+ (set_summary): New function.
+ (set_url): New function.
+ (calendar_model_set_value_at): Updated function.
+ (calendar_model_is_cell_editable): Updated function.
+ (calendar_model_append_row): Updated. Added an ugly hack to
+ accomodate ETable's lack of a real API for adding new items.
+ Also, don't try to set columns that are not editable.
+
+2000-08-21 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-week-view.c (e_week_view_reload_events):
+ Use CalObjType
+
+ * gui/e-day-view.c (e_day_view_reload_events): ditto
+
+2000-08-21 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
+ Use CalComponent instead of iCalObject. #if some alarm stuff
+
+2000-08-21 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-day-view-top-item.c (e_day_view_top_draw_long_event):
+ Use CalComponent instead of iCalObject. #if some alarm stuff
+
+2000-08-21 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-day-view.h: Update prototypes
+
+ * gui/e-day-view.c (e_day_view_on_unrecur_appointment):
+ Remove commented out portions.
+
+ * gui/e-week-view.c (e_week_view_on_unrecur_appointment):
+ Tidy.
+
+2000-08-21 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-day-view.c
+ (e_day_view_update_event): Use CalComponent
+ instead of iCalObject. Work around not having a compare
+ dates routine for two CalComponents.
+ (e_day_view_reshape_long_event): Use CalComponent instead
+ of iCalObject, #if some alarm stuff
+ (e_day_view_reshape_day_event): ditto
+ (e_day_view_reload_events): Use revamped CalClient
+ (e_day_view_update_event_cb): Use CalComponent
+ instead of iCalObject
+ (e_day_view_foreach_event_with_uid): ditto
+ (e_day_view_remove_event_cb): ditto
+ (e_day_view_update_event_label): ditto
+ (e_day_view_find_event_from_uid): ditto
+ (e_day_view_on_event_click): ditto
+ (e_day_view_on_event_right_click): ditto
+ (e_day_view_on_new_appointment): ditto
+ (e_day_view_on_edit_appointment): ditto
+ (e_day_view_on_delete_occurrence): ditto
+ (e_day_view_on_delete_appointment): ditto
+ (e_day_view_on_unrecur_appointment): ditto
+ (e_day_view_on_top_canvas_motion): ditto
+ (e_day_view_on_main_canvas_motion): ditto
+ (e_day_view_finish_long_event_resize): ditto
+ (e_day_view_finish_resize): ditto
+ (e_day_view_free_event_array): ditto
+ (e_day_view_add_event): ditto
+ (e_day_view_key_press): ditto
+ (e_day_view_on_editing_stopped): ditto
+ (e_day_view_update_top_canvas_drag): ditto
+ (e_day_view_update_main_canvas_drag): ditto
+ (e_day_view_on_drag_data_get): ditto
+ (e_day_view_on_top_canvas_drag_data_received): ditto
+ (e_day_view_on_main_canvas_drag_data_received): ditto
+
+2000-08-20 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons):
+ Use CalComponent instead of iCalObject. #if some alarm stuff
+
+2000-08-20 JP Rosevear <jpr@helixcode.com>
+
+ * gui/e-week-view.c (e_week_view_update_event): Use CalComponent
+ instead of iCalObject. Work around not having a compare
+ dates routine for two CalComponents.
+ (e_week_view_reload_events): Use revamped CalClient
+ (e_week_view_reshape_event_span): Use CalComponent instead
+ of iCalObject, #if some alarm stuff
+ (e_week_view_update_event_cb): Use CalComponent instead of
+ iCalObject
+ (e_week_view_foreach_event_with_uid): ditto
+ (e_week_view_remove_event_cb): ditto
+ (e_week_view_free_events): ditto
+ (e_week_view_add_event): ditto
+ (e_week_view_on_editing_stopped): ditto
+ (e_week_view_find_event_from_uid): ditto
+ (e_week_view_key_press): ditto
+ (e_week_view_show_popup_menu): ditto
+ (e_week_view_on_new_appointment): ditto
+ (e_week_view_on_edit_appointment): ditto
+ (e_week_view_on_delete_occurrence): ditto
+ (e_week_view_on_delete_appointment): ditto
+ (e_week_view_on_unrecur_appointment): ditto
+
+ * gui/e-week-view.h: Update prototypes.
+
+2000-08-18 JP Rosevear <jpr@helixcode.com>
+
+ * gui/event-editor.h: Update prototypes.
+
+ * gui/event-editor.c: Need to come back here later to fix the
+ alarm stuff. The gui also needs to be completely redone to
+ support the fancier CalComponent settings (exrules, rdates, etc)
+ There are some warnings that I put in to mark some of these
+ spots
+ (event_editor_destroy): Use Calcomponent instead
+ of iCalObject
+ (make_title_from_comp): ditto
+ (clear_widgets): ditto
+ (fill_widgets): ditto
+ (classification_get): ditto
+ (dialog_to_comp_object): ditto
+ (save_ical_object): ditto
+ (close_dialog): ditto
+ (event_editor_set_ical_object): ditto
+
+2000-08-17 JP Rosevear <jpr@helixcode.com>
+
+ * gui/gncal-todo.c (ok_button): Use CalComponent instead of
+ iCalObject
+ (cancel_button): ditto
+ (gncal_todo_edit): ditto
+ (add_todo): ditto
+ (edit_todo): ditto
+ (delete_todo): ditto
+ (insert_in_clist): ditto
+ (gncal_todo_update): ditto
+
+ * gui/gncal-todo.h: Update prototypes
+
+2000-08-16 JP Rosevear <jpr@helixcode.com>
+
+ Rework gnome-cal.c - alarms are a tad broken ATM so this
+ will need more cleaning later.
+
+ * gui/gnome-cal.c (snooze): Use CalComponent instead of
+ iCalObject
+ (edit): ditto
+ (audio_notification): ditto
+ (display_notification_cb): Use CalComponent member of
+ alarm_notify_closure rather than iCalObject
+ (display_notification): ditto
+ (trigger_alarm_cb): ditto. Use CalComponent alarm types
+ (gnome_calendar_tag_calendar_cb): New
+ cal_client_generate_instances callback to
+ mark_gtk_calendar_day's
+ (gnome_calendar_tag_calendar): Use above callback
+ (save_ical_object_cb): Use CalComponent instead of
+ iCalObject
+ (gnome_calendar_edit_object): ditto
+ (gnome_calendar_new_appointment): ditto
+
+2000-08-15 JP Rosevear <jpr@helixcode.com>
+
+ * gui/mark.c (mark_month_item_cb): Callback used to mark every
+ event in a month.
+ (mark_month_item): Use cal_client_generate_instances with
+ above callback
+
+2000-08-15 JP Rosevear <jpr@helixcode.com>
+
+ * gui/print.c (print_month_small): Use
+ cal_client_get_objects_in_range
+ (print_day_details_cb): Callback used to create columns and fill
+ events into a day view. Code should be shared with e-day-view
+ in reality. Maybe need to go back to layout.[hc] a bit later
+ (print_day_details): Use cal_client_generate_instances with
+ above callback. Iterate over results to expand events to fit.
+ (print_day_summary_cb): Callback to build list of event info
+ for a day
+ (print_day_summary): Use cal_client_generate_instances with
+ above callback to generate the required event info for printing
+ (print_todo_details_cb): Callback used create list of todo info
+ (print_todo_details): Use cal_client_generate_instances with
+ above callback to generate required todo info for printing.
+
+ * gui/layout.[hc]: No longer used.
+
+2000-08-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (get_is_overdue): Finished implementing.
+ (calendar_model_value_at): Handle the color field.
+
+2000-08-11 Seth Alves <alves@hungry.com>
+
+ * cal-util/cal-component.c (cal_component_get_pilot_id):
+ (cal_component_set_pilot_id): stubs for pilot id accessors
+ (cal_component_get_pilot_status):
+ (cal_component_set_pilot_status): stubs for pilot status accessors
+
+ * conduits/calendar/calendar-conduit.c (transmit): start to
+ convert to cal-component interface
+
+ * conduits/todo/todo-conduit.c (transmit): same
+
+2000-08-11 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (get_geo): Generate a prettier string for
+ the geographical position.
+ (get_classification): New function.
+ (get_categories): New function.
+ (get_completed): New function.
+ (get_dtend): New function.
+ (get_dtstart): New function.
+ (get_due): New function.
+ (get_percent): New function.
+ (get_priority): New function.
+ (get_summary): New function.
+ (get_transparency): New function.
+ (get_url): New function.
+ (get_has_alarms): New function.
+ (get_has_recurrences): New function.
+ (get_is_complete): New function.
+ (get_is_overdue): New function.
+
+ * cal-util/cal-component.c (scan_property): Handle the GEO
+ property.
+ (free_icalcomponent): Likewise.
+ (cal_component_get_geo): Likewise.
+ (cal_component_set_geo): Likewise.
+ (cal_component_free_geo): Likewise.
+ (cal_component_set_exdate_list): Removed incorrect assertion.
+ (cal_component_set_exrule_list): Removed incorrect assertion.
+ (cal_component_get_next_alarm): Oops, this had not been
+ implemented at all.
+ (cal_component_has_rdates): New function.
+ (cal_component_has_rrules): New function.
+
+ * cal-util/cal-component.h (CalComponentField): Added the GEO
+ property.
+
+2000-08-11 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (scan_property): Handle the
+ PERCENT-COMPLETE property.
+ (free_icalcomponent): Likewise.
+ (cal_component_get_percent): Likewise.
+ (cal_component_set_percent): Likewise.
+ (cal_component_free_percent): Likewise.
+ (scan_property): Handle the PRIORITY property.
+ (free_icalcomponent): Likewise.
+ (cal_component_get_priority): Likewise.
+ (cal_component_set_priority): Likewise.
+ (cal_component_free_priority): Likewise.
+
+ * cal-util/cal-component.h (CalComponentField): New enumeration
+ with the list of fields we support for ETable.
+
+2000-08-10 Dan Winship <danw@helixcode.com>
+
+ * gui/component-factory.c (owner_set_cb): Update prototype.
+
+2000-08-10 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (gnome_calendar_new_appointment): New function.
+ Mostly moved over from calendar-commands.c:display_objedit().
+
+ * gui/calendar-commands.c (calendar_iterate): Removed. Wheee!
+ (display_objedit): Removed.
+ (new_appointment_cb): New function. Just call
+ gnome_calendar_new_appointment().
+ (display_objedit_today): Removed.
+ (calendar_control_activate): Removed the "New appointment for
+ today" option, since it is pretty useless.
+
+2000-08-10 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client/cal-client.c (cal_client_generate_instances): There.
+ A pretty function to generate recurrence instances atomically so
+ that clients don't have to jump through hoops. Now we can get rid
+ of the ugly calendar_iterate() function.
+
+2000-08-09 Cody Russell <bratsche@gnome.org>
+
+ * gui/calendar-commands.c: Make the toolbar honor the user's
+ gnomecc settings for detachable toolbars.
+
+2000-08-09 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/alarm.c (pop_alarm): Oops, subtract the new alarm's trigger
+ time from the current time.
+
+2000-08-09 Christopher James Lahey <clahey@helixcode.com>
+
+ * cal-client/cal-client.c: Fixed a warning.
+
+2000-08-09 Christopher James Lahey <clahey@helixcode.com>
+
+ * cal-client/cal-client.c, gui/e-calendar-table.c, pcs/cal.c:
+ Fixed some warnings.
+
+2000-08-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * idl/evolution-calendar.idl (Cal): Added a get_objects_in_range()
+ method. Takes in a time range and the type of component we are
+ interested in; returns a list of UIDs. The idea is that
+ ocurrences get computed in the client; we can have multiple
+ recurrences in iCalendar and we cannot identify them trivially
+ across the wire.
+ (Cal): Removed the get_events_in_range() method.
+
+ * pcs/cal-backend.c (cal_backend_free_uid_list): New function.
+ (cal_backend_get_objects_in_range): New function.
+ (cal_backend_get_events_in_range): Removed.
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_objects_in_range):
+ Implemented new method.
+ (cal_backend_file_get_events_in_range): Removed.
+
+ * pcs/cal.c (Cal_get_events_in_range): Removed.
+ (uncorba_obj_type): New function.
+ (Cal_get_uids): Use uncorba_obj_type().
+ (Cal_get_n_objects): Likewise.
+ (Cal_get_objects_in_range): Implemented new method.
+
+ * cal-client/cal-client.c (cal_client_get_events_in_range): Removed.
+ (cal_client_get_objects_in_range): Implemented.
+ (corba_obj_type): New function.
+ (cal_client_get_n_objects): Use corba_obj_type().
+ (cal_client_get_uids): Likewise.
+
+2000-08-07 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_clone): New function.
+ (cal_component_get_icalcomponent): Ensure that the SEQUENCE
+ property does not need incrementing.
+
+ * gui/dialogs/alarm-notify-dialog.c (alarm_notify_dialog): Use
+ CalComponent. Deal with an empty summary property.
+
+2000-08-07 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_get_as_string): Doh,
+ libical owns the string's memory, so do not free it.
+
+ * cal-client/client-test.c (create_client): Connect to the destroy
+ signal of the client here.
+
+ * cal-client/test.ics: New test file, modified from Eric Busboom's
+ test file from RFC 2445.
+
+2000-08-05 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client/client-test.c (dump_component): This was gone for
+ some reason.
+ (main): Load a new test file.
+
+2000-08-04 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_commit_sequence): New
+ function to commit changes to the SEQUENCE property.
+ (cal_component_get_as_string): Ensure that the sequence has been
+ committed.
+
+ * cal-client/cal-client.c (cal_client_get_object): Use
+ CalComponent instead of the old iCalObject.
+ (cal_client_update_object): Use iCalObject. Commit the SEQUENCE
+ property before stringifying the object and piping it over to the
+ Wombat.
+
+2000-08-04 Seth Alves <alves@hungry.com>
+
+ * conduits/todo/todo-conduit.c (conduit_get_gpilot_conduit): if
+ oaf isn't initialized by the time the conduit starts, start it
+ up. we do this because we need to start wombat with oaf, and
+ gpilotd doesn't currently start oaf.
+
+2000-08-04 Michael Meeks <michael@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_control_activate): unref.
+
+2000-08-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_get_uid_by_pilot_id):
+ Added stub for now.
+ (cal_backend_file_update_pilot_id): Likewise.
+
+ * pcs/Makefile.am (libpcs_a_SOURCES): Removed cal-backend-imc.[ch]
+ from the list of sources. The idea is to move vCalendar importing
+ to the GUI as a convenience function.
+
+2000-08-02 Seth Alves <alves@hungry.com>
+
+ * pcs/cal-backend-imc.c (cal_backend_imc_update_pilot_id): call
+ save (cbimc) after setting the pilot id and status.
+
+2000-08-02 Joe Shaw <joe@helixcode.com>
+
+ * pcs/cal-backend-file.c (cal_backend_file_update_pilot_id):
+ Fixed a g_return_if_fail that had two parameters and thus
+ wouldn't build.
+
+2000-08-03 Damon Chaplin <damon@helixcode.com>
+
+ * gui/calendar-model.c (calendar_model_append_row): updated to match
+ the new ETableModel append_row. This meant we could also get rid of
+ the row_being_added and idle_id hack.
+
+2000-08-02 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/calendar-model.c: Emit "model_pre_change" signals as
+ appropriate.
+
+2000-08-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * pcs/cal-backend-file.[ch]: New files for the iCalendar file
+ backend.
+
+ * pcs/Makefile.am (libpcs_a_SOURCES): Added cal-backend-file.[ch].
+
+ * cal-util/cal-component.c (cal_component_set_icalcomponent):
+ Return an operation success code for if we are passed a component
+ of a type we don't support.
+
+2000-07-31 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-recur.c (*): Use CalComponent and the new property
+ types instead of the old iCalObject stuff.
+ (cal_recur_generate_instances): Renamed from
+ cal_object_generate_events(). Ensure that the component has the
+ DTSTART property.
+ (generate_instances_for_year): Renamed from
+ cal_object_generate_events_for_year().
+ (cal_obj_expand_recurrence): Made static.
+ (cal_recur_from_icalrecurrencetype): New function. We should
+ really convert this whole file to use struct icalrecurrencetype
+ instead.
+ (cal_recur_free): New function.
+
+ * cal-util/cal-recur.h (CalRecurType): Renamed from CalObjRecurType.
+ (CalRecurrence): Renamed from CalObjRecurrence.
+
+ * cal-util/timeutil.c (time_from_icaltimetype): New function.
+
+ * cal-util/Makefile.am: Commented out the test-recur program.
+
+2000-08-01 Damon Chaplin <damon@helixcode.com>
+
+ * Removed doc directory, since it is the old gnome-pim docs which
+ aren't used any more.
+
+ * Makefile.am (SUBDIRS): removed doc.
+
+2000-07-26 Peter Williams <peterw@helixcode.com>
+
+ * gui/calendar-model.c: compile fix for Solaris
+ (works under Linux, too; don't know about others)
+
+ * this is a test of whether CVS merge does what I
+ think it will do.
+
+2000-07-26 Federico Mena Quintero <federico@helixcode.com>
+
+ OK, it seems that we have all the interesting properties for
+ single-user calendars now. RFC 2445 can bite me.
+
+ * cal-util/cal-component.c (scan_property): Handle the RRULE
+ property. Yay!.
+ (scan_recur): Likewise, yow!
+ (get_recur_list): Likewise, yeehaw!
+ (get_recur_list): Likewise, honk honk!
+ (set_recur_list): Likewise, booooga booooga!
+ (cal_component_get_rrule_list): Likewise, squeek squeek!
+ (cal_component_set_rrule_list): That's it, I ran out of sounds.
+ (cal_component_free_recur_list): Likewise.
+ (scan_property): Handle the EXRULE property.
+ (free_icalcomponent): Likewise.
+ (cal_component_get_exrule_list): Likewise.
+ (cal_component_set_exrule_list): Likewise.
+ (set_period_list): Oops, free the old properties as well as
+ removing them.
+ (set_text_list): Ditto.
+ (cal_component_set_exdate_list): Ditto.
+
+ * cal-util/cal-component.c: Put all the functions used to free
+ returned values all together.
+ (cal_component_set_rdate_list): Oops, mark SEQUENCE property to be
+ incremented since the RFC requires it.
+ (scan_property): Handle the EXDATE property.
+ (scan_exdate): Likewise.
+ (free_icalcomponent): Likewise.
+ (cal_component_get_exdate_list): Likewise.
+ (cal_component_set_exdate_list): Likewise.
+ (cal_component_free_exdate_list): Likewise.
+
+2000-07-26 Jeffrey Stedfast <fejj@helixcode.com>
+
+ * gui/Makefile.am: Fixed a typo
+
+2000-07-26 Jeffrey Stedfast <fejj@helixcode.com>
+
+ * gui/Makefile.am: Added a few xpm files to the EXTRA DIST section
+
+2000-07-25 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_free_period_list): New function.
+ (scan_property): Handle the RDATE property.
+ (scan_period): Likewise.
+ (free_icalcomponent): Likewise.
+ (get_period_list): Likewise.
+ (set_period_list): Likewise.
+ (cal_component_get_rdate_list): Likewise.
+ (cal_component_set_rdate_list): Likewise.
+ (scan_text): Simplify a bit since we only handle the ALTREP
+ parameter; there is no need to iterate over all parameters.
+ (scan_datetime): Simplify; just handle the TZID parameter.
+ (scan_summary): Simplify; just handle the ALTREP parameter.
+ (cal_component_get_as_string): New function.
+
+ * idl/evolution-calendar.idl (CalObjType): Removed the TYPE_OTHER;
+ now we only expose the types of objects we know about.
+
+ * cal-util/cal-util.h (CalObjType): Likewise.
+
+ * cal-client/cal-client.c (cal_client_get_n_objects): Likewise.
+ (cal_client_get_uids): Likewise.
+
+ * conduits/calendar/calendar-conduit.c (get_calendar_objects): Likewise.
+ (check_for_slow_setting): Likewise.
+
+ * pcs/cal-backend-imc.c (count_objects): Likewise.
+ (build_uids_list): Likewise.
+
+ * pcs/cal.c (Cal_get_uids): Likewise.
+ (Cal_get_n_objects): Likewise.
+
+2000-07-25 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-calendar-table.[hc]: new ECalendarTable to show an ETable view
+ for Todo/Event items.
+
+ * gui/task-assigned-to.xpm:
+ * gui/task-recurring.xpm:
+ * gui/task-assigned.xpm:
+ * gui/task.xpm: new pixmaps (all the same at present) to go in the
+ icon column of the ETable.
+
+ * gui/event-editor.c: hid the silly 'Calendar' labels on the
+ GnomeDateEdits and hid the times when you select 'All day event'.
+ Also adjusted the time_t's so that when an all day event finishes on
+ say midnight 13th May, we show 12th May in the dialog, since it
+ implicitly includes all of that day up to midnight.
+
+ * gui/dialogs/task-editor-dialog.glade:
+ * gui/dialogs/task-editor.[hc]: unfinished dialog to edit tasks.
+
+ * gui/gncal-todo.c: temporary hack so that we can use the simple dialog
+ with our new ETable.
+
+2000-07-23 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/calobj.h: added a few more fields.
+
+ * cal-util/calobj.c (ical_object_create_from_vobject): check for a
+ NULL return from vObjectUStringZValue for URL property to avoid SEGV.
+ For some reason an empty 'URL:' property appears and causes trouble.
+
+2000-07-20 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/component-factory.c (factory_fn): Update for the new
+ `evolution_shell_component_new()' arg.
+
+2000-07-19 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_alarm_set_trigger):
+ Finish filling the trigger. What a pain, again.
+ (cal_component_alarm_free_trigger): Implemented.
+
+2000-07-19 Fatih Demir <kabalak@gmx.net>
+
+ * conduits/calendar/calendar-conduit-control-applet.desktop:
+
+ * conduits/todo/todo-conduit-control-applet.desktop:
+ Added the Turkish desktop entries.
+
+2000-07-18 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_alarm_free): Free the
+ icalcomponent if this is an unattached alarm.
+ (scan_alarm_property): Handle the TRIGGER property.
+ (cal_component_alarm_get_trigger): Ditto. Royal pain.
+ (cal_component_alarm_set_trigger): Ditto. Less pain.
+
+2000-07-17 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client/cal-client.c (cal_client_get_object): Fixed inline
+ docs.
+ (cal_client_new): Ditto.
+ (cal_client_get_n_objects): Added inline docs.
+
+2000-07-14 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (CalComponentAlarm): New internal
+ represntation for alarm components. We really don't map them to a
+ CalComponent because it is more convenient to handle them as
+ "child" structures.
+ (make_alarm): New function to create a CalComponentAlarm from an
+ icalcomponent representing a VALARM.
+ (scan_alarm_property): New function to scan a property from an
+ alarm component. We support ACTION.
+ (cal_component_get_first_alarm): New function to start an iterator
+ over the alarms in a calendar component.
+ (cal_component_alarm_get_action): New function.
+ (cal_component_alarm_set_action): New function.
+
+2000-07-13 Seth Alves <alves@hungry.com>
+
+ * conduits/todo/todo-conduit.c: conduit based on the calendar conduit.
+ this conduit syncs a pilot's ToDoDB database to wombat's list of "todo"
+ events.
+
+ * gui/gncal-todo.c (simple_todo_editor): set todo's priority control
+ based on value from ical object during edit.
+
+2000-07-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/print.c: Revert Michael's GnomeFont patch until the
+ gnome-print API stabilizes.
+
+2000-07-12 Michael Meeks <michael@helixcode.com>
+
+ * gui/print.c (titled_box, print_text, print_month_small),
+ (bound_text): GnomeFont update.
+
+2000-07-12 Seth Alves <alves@hungry.com>
+
+ * conduits/calendar/calendar-conduit.c: fixed various problems
+
+ * cal-client/Makefile.am: build a static version of the library
+ to link with the conduits
+
+ * cal-util/Makefile.am: same
+
+2000-07-11 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (scan_property): Handle the COMPLETED
+ property.
+ (free_icalcomponent): Ditto.
+ (cal_component_get_completed): Ditto.
+ (cal_component_set_completed): Ditto.
+ (scan_property): Handle the TRANSPARENCY property.
+ (free_icalcomponent): Ditto.
+ (cal_component_get_transparency): Ditto.
+ (cal_component_set_transparency): Ditto.
+ (scan_property): Handle the URL property.
+ (free_icalcomponent): Ditto.
+ (cal_component_get_url): Ditto.
+ (cal_component_set_url): Ditto.
+
+ * pcs/cal-factory.c (queue_load_create_job): Removed unneeded
+ check for the URI.
+ (load_fn): Be more paranoid about the URI and notify the listener
+ if we got passed a bad URI. Simplify the termination code a bit.
+ (create_fn): Likewise.
+ (queue_load_create_job): Be more paranoid about the URI.
+
+2000-07-10 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/Makefile.am: Remove pilot stuff for now.
+
+ * Makefile.am (SUBDIRS): Remove `conduits'.
+
+2000-07-10 Dan Winship <danw@helixcode.com>
+
+ * gui/Makefile.am (EXTRA_DIST): remove gnomecal.conduit
+
+ * conduits/calendar/Makefile.am (EXTRA_DIST): We want
+ calendar.conduit.in, not calendar.conduit.
+
+2000-07-10 Seth Alves <alves@hungry.com>
+
+ * gui/Makefile.am (SUBDIRS):
+ * conduits/calendar/Makefile.am: moved calendar-conduit stuff from
+ the gui directory to here.
+
+ * Makefile.am (SUBDIRS): added conduits to SIBDIRS
+
+2000-07-08 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_control_activate): Remove
+ "close calendar" command.
+
+2000-07-08 Anders Carlsson <andersca@gnu.org>
+
+ * gui/e-week-view.c (e_week_view_on_button_press): Handle mouse wheel scrolling.
+
+ * gui/e-day-view.c (e_day_view_on_time_canvas_button_press): New function to handle
+ mouse wheel scrolling.
+ (e_day_view_on_main_canvas_button_press): Handle mouse wheel scrolling.
+
+2000-07-07 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (scan_property): Handle the SEQUENCE
+ property.
+ (free_icalcomponent): Ditto.
+ (cal_component_get_sequence): Ditto.
+ (cal_component_set_sequence): Ditto.
+ (cal_component_free_sequence): Ditto.
+ (cal_component_set_last_modified): Removed incorrect assertion.
+ (CalComponentPrivate): New need_sequence_inc flag. The sequence
+ number must be incremented when certain properties change, so we
+ store a flag that says if we need to bump it when piping the
+ object over the wire.
+ (free_icalcomponent): Reset need_sequence_inc.
+ (cal_component_set_dtstart): Set need_sequence_inc.
+ (cal_component_set_dtend): Ditto.
+ (cal_component_set_due): Ditto.
+
+2000-07-06 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (scan_property): Handle the
+ LAST-MODIFIED property.
+ (free_icalcomponent): Ditto.
+ (cal_component_get_last_modified): Ditto.
+ (cal_component_set_last_modified): Ditto.
+ (get_icaltimetype): New function to get struct icaltimetype
+ values.
+ (cal_component_get_created): Use get_icaltimetype().
+ (set_icaltimetype): New function to set struct icaltimetype
+ values.
+ (cal_component_set_created): Use set_icaltimetype().
+
+ * cal-util/cal-component.c (scan_property): Handle the CREATED
+ property.
+ (free_icalcomponent): Ditto.
+ (cal_component_free_icaltimetype): Ditto.
+ (cal_component_get_created): Ditto.
+ (cal_component_set_created): Ditto.
+ (cal_component_init): Do not create an UID here.
+ (ensure_mandatory_properties): New function to ensure that the
+ mandatory RFC properties are indeed in the component. If they are
+ not, we create them on the fly.
+ (cal_component_set_new_vtype): Use ensure_mandatory_properties().
+ (cal_component_set_icalcomponent): Ditto.
+ (cal_component_get_uid): Return the UID in a parameter, not as a
+ function return value, for consistency's sake.
+ (scan_property): Handle the DTSTAMP property.
+ (free_icalcomponent): Ditto.
+ (cal_component_get_dtstamp): Ditto.
+ (cal_component_set_dtstamp): Ditto.
+
+2000-07-04 Damon Chaplin <damon@helixcode.com>
+
+ * gui/gncal-todo.c (gncal_todo_update): Use &obj instead of &ico in
+ the call to cal_client_get_object(). The ToDo list should work now.
+
+ * gui/event-editor-dialog.glade: set the toplevel GnomeApp to invisible
+ so it doesn't appear and then resize.
+
+2000-07-03 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_get_summary): Use
+ CalComponentText instead of CalComponentPropSummary. Removed the
+ latter typedef.
+ (cal_component_set_summary): Likewise.
+ (scan_property): Handle the CLASSIFICATION property.
+ (cal_component_get_classification): Ditto.
+ (cal_component_set_classification): Ditto.
+
+ * cal-util/cal-component.c (cal_component_free_text_list): Renamed
+ from cal_component_free_description_list(). We can share this
+ function since both comments and descriptions have the same form.
+ (scan_text): Ditto.
+ (get_text_list): New function.
+ (set_text_list): New function.
+ (cal_component_get_description_list): Use get_text_list().
+ (cal_component_set_description_list): Use set_text_list().
+ (cal_component_set_uid): Add sanity check.
+ (cal_component_get_summary): Ditto.
+ (cal_component_get_description_list): Ditto.
+ (cal_component_get_dtstart): Ditto.
+ (cal_component_get_dtend): Ditto.
+ (cal_component_get_due): Ditto.
+ (scan_property): Handle the COMMENT property.
+ (cal_component_get_comment_list): Ditto.
+ (cal_component_set_comment_list): Ditto.
+
+2000-07-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (scan_categories): Handle CATEGORIES.
+ This can appear multiple times, so we maintain a list. We
+ compress them later to a single property with multiple values.
+ (cal_component_get_categories_list): Ditto.
+ (cal_component_set_categories_list): Ditto.
+ (cal_component_free_categories_list): Ditto.
+ (free_icalcomponent): Properly free the mappings.
+
+2000-07-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (scan_datetime): Handle date/time and
+ timezone pairs.
+ (scan_property): Handle DTSTART and DTEND.
+ (cal_component_free_datetime): Ditto.
+ (get_datetime): Ditto.
+ (cal_component_get_dtstart): Ditto.
+ (set_datetime): Ditto.
+ (cal_component_set_dtstart): Ditto.
+ (cal_component_get_dtend): Ditto.
+ (cal_component_set_dtend): Ditto.
+ (scan_property): Handle DUE date.
+ (cal_component_get_due): Ditto.
+ (cal_component_set_due): Ditto.
+
+2000-07-01 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_get_description_list):
+ Handle the DESCRIPTION property. There can be multiple
+ descriptions with parameters each, so we deal with a list instead
+ of a single structure.
+ (cal_component_set_description_list): Ditto.
+ (cal_component_free_description_list): Ditto.
+ (scan_property): Ditto.
+ (scan_description): Ditto.
+
+2000-06-30 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c (cal_component_get_summary): To avoid
+ passing a million parameters to setters/getters for properties
+ that support parameters, we now pass client-side structures
+ instead. Here we use CalComponentPropSummary.
+ (cal_component_set_summary): Ditto.
+
+2000-06-29 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/component-factory.c: Make calendar die when evolution quits.
+
+2000-06-30 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.c: Change of plans. We use an
+ icalcomponent from libical as our core representation so that we
+ can preserve extension fields and fields that we don't (yet)
+ support. CalComponent is just a wrapper with a nice API that
+ provides non-iterative, random access to the ical's fields.
+ (cal_component_destroy): Free the thing correctly.
+ (cal_component_get_vtype): Re-implement in terms of icalcomponent.
+ (cal_component_set_icalcomponent): New function to set the
+ CalComponent's data from an existing icalcomponent.
+ (cal_component_get_icalcomponent): New function.
+ (cal_component_set_new_vtype): New convenience function to create
+ an empty component.
+ (scan_icalcomponent): Core scanning function.
+ (scan_property): Another core scanning function.
+ (cal_component_get_uid): Use the property directly.
+ (cal_component_get_summary): Ditto. Handle the altrep parameter
+ as well.
+ (cal_component_set_summary): Ditto. Feel the pain, motherfucker.
+ It is ridiculous how much code this involves.
+ (scan_summary): Ditto.
+
+2000-06-29 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/component-factory.c (owner_set_cb): Get an
+ EvolutionShellClient instead of an Evolution_Shell to match the
+ changes in libeshell.
+
+2000-06-29 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/Makefile.am: Do not link and include the pilot stuff for the
+ calendar component, just for the Pilot conduit. Commented out the
+ Pilot part so that Evolution can build. Sigh, we'll have to
+ modify gnome-pilot to use OAF.
+
+2000-06-29 Peter Williams <peterw@helixcode.com>
+
+ * gui/Makefile.am (LINK_FLAGS): Make the calendar-pilot-sync
+ program conditional on HAVE_GNOME_PILOT, and add
+ GNOME_PILOT_CFLAGS, GNOME_PILOT_LIBS, and PISOCK_LIBS in the
+ appropriate places.
+
+2000-06-29 Seth Alves <alves@hungry.com>
+
+ * pcs/cal.c (Cal_get_uid_by_pilot_id):
+ (Cal_update_pilot_id):
+ * pcs/cal-backend-imc.c (cal_backend_imc_update_pilot_id):
+ (cal_backend_imc_get_uid_by_pilot_id):
+ * pcs/cal-backend.c (cal_backend_get_uid_by_pilot_id):
+ (cal_backend_update_pilot_id): server code to service these:
+
+ * gui/calendar-pilot-sync.c: updated to make use of cal-client.
+ also uses dirty bits on both sides to aid in syncing.
+
+ * cal-client/cal-client.c (cal_client_get_uid_by_pilot_id): new
+ function -- ask the cal server to return uid given an object's
+ pilot id.
+ (cal_client_update_pilot_id): new function -- inform the
+ cal server of an objects pilot id and pilot dirty-flag.
+
+2000-06-28 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/cal-component.[ch]: New files for the new iCalendar
+ component object. Today's properties: basic component type, UID,
+ SUMMARY.
+
+ * cal-util/Makefile.am: Added cal-component.[ch] to the list of
+ sources.
+
+2000-06-27 Michael Meeks <michael@helixcode.com>
+
+ * pcs/Makefile.am (INCLUDES): use BONOBO_VFS_GNOME_CFLAGS.
+
+2000-06-26 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/calendar-model.c: Added an #ifdefed value_to_string handler
+ assignment.
+
+2000-06-26 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (calendar_model_duplicate_value):
+ Implement.
+ (calendar_model_initialize_value): Implement.
+ (calendar_model_value_is_empty): Implement.
+
+2000-06-21 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.c (e_day_view_reshape_long_event): set event before
+ using it!
+ (e_day_view_init): used new colors from tigert.
+
+2000-06-21 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/e-day-view.c, gui/e-week-view.c: Remove the usage of the "x"
+ and "y" arguments.
+
+2000-06-21 Damon Chaplin <damon@helixcode.com>
+
+ * gui/gnome-cal.c (gnome_calendar_direction): changed so it keeps the
+ selection range. It just moves it on one day/week etc. This makes
+ it very handy for the keyboard shortcut code.
+
+ * gui/calendar-commands.c (calendar_control_activate): fixed bug
+ setting the radio button active.
+
+ * gui/e-day-view.[hc]: added support for keyboard navigation and
+ selection of the time range.
+
+2000-06-20 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (calendar_model_set_value_at): Implemented.
+ (calendar_model_is_cell_editable): Implemented.
+
+ * cal-client/cal-client.c (cal_client_update_object): Take in an
+ iCalObject instead of a stringified version.
+
+ * gui/gnome-cal.c (gnome_calendar_update_object): Removed.
+ (gnome_calendar_remove_object): Removed.
+ (save_ical_object_cb): Use the CalClient function.
+
+ * gui/e-day-view.c (e_day_view_on_delete_occurrence): Likewise.
+ (e_day_view_on_unrecur_appointment): Likewise.
+ (e_day_view_finish_long_event_resize): Likewise.
+ (e_day_view_finish_resize): Likewise.
+ (e_day_view_key_press): Likewise.
+ (e_day_view_on_editing_stopped): Likewise.
+ (e_day_view_on_top_canvas_drag_data_received): Likewise.
+ (e_day_view_on_main_canvas_drag_data_received): Likewise.
+ (e_day_view_on_delete_appointment): Likewise.
+
+ * gui/e-week-view.c (e_week_view_on_editing_stopped): Likewise.
+ (e_week_view_key_press): Likewise.
+ (e_week_view_on_delete_occurrence): Likewise.
+ (e_week_view_on_unrecur_appointment): Likewise.
+ (e_week_view_on_delete_appointment): Likewise.
+
+ * gui/gncal-todo.c (ok_button): Likewise.
+ (delete_todo): Likewise.
+
+2000-06-19 Damon Chaplin <damon@helixcode.com>
+
+ * gui/event-editor-dialog.glade: tidied up dialog a bit, adding
+ space etc.
+
+ * gui/e-week-view.c (e_week_view_reshape_events): removed debug msg.
+
+2000-06-18 Ettore Perazzoli <ettore@helixcode.com>
+
+ * cal-util/Makefile.am (INCLUDES): Include from
+ `$(top_builddir)/libical/src/libical' too. [For the generated
+ libical `icalversion.h' header.]
+ * cal-client/Makefile.am (INCLUDES): Likewise.
+
+2000-06-18 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.c (e_day_view_on_top_canvas_drag_data_received):
+ fixed a DnD bug.
+
+2000-06-17 Dan Winship <danw@helixcode.com>
+
+ * cal-client/Makefile.am (INCLUDES): Fix to not depend on
+ installed ical.h
+
+2000-06-17 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-week-view.c: added little buttons which are shown when there
+ are more events than will fit in a day. Clicking on the button takes
+ the user to the 1-Day view and shows the full day.
+
+ * gui/e-day-view.c:
+ * gui/e-week-view.c: set the "use_ellipsis" arg to TRUE for the EText
+ items so we get tooltips automatically. Though we may want to use our
+ own code to show tooltips so we can show the tips when the mouse is
+ around the edges of the event box, and we may want to show the start
+ and end times of the event in full.
+
+ * gui/calendar-commands.c (calendar_control_activate):
+ * gui/gnome-cal.h: added view_toolbar_buttons[] so we can access the
+ radio buttons in the code easily. We need this if we want to jump to
+ another view programmatically.
+
+2000-06-16 Damon Chaplin <damon@helixcode.com>
+
+ * gui/jump.xpm: new icon for the EWeekView to jump to the day.
+
+ * gui/Makefile.am (EXTRA_DIST): added jump.xpm
+
+2000-06-16 Damon Chaplin <damon@helixcode.com>
+
+ * gui/calendar-model.c (calendar_model_class_init): #ifdef'ed out
+ references to functions which don't exist yet, so evolution still
+ compiles.
+
+2000-06-16 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/test-recur.c: updated.
+
+ * cal-util/cal-recur.[hc]: mostly finished, though it depends on the
+ iCalObject struct being updated to support more of iCalendar.
+
+2000-06-16 Damon Chaplin <damon@helixcode.com>
+
+ * pcs/.cvsignore: added icalendar-test.
+
+2000-06-15 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/Makefile.am (test_recur_LDADD): use libical.a
+
+2000-06-15 Dan Winship <danw@helixcode.com>
+
+ * cal-util/Makefile.am (noinst_PROGRAMS): merge the two separate
+ noinst_PROGRAMS declarations into one so automake accepts it.
+ (INCLUDES): include libical src dir so we don't depend on having
+ ical.h already installed
+
+2000-06-14 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c: GPtrArray cannot insert stuff in the
+ middle of the array (!), so use plain GArray everywhere. Sigh.
+
+2000-06-13 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client/cal-client.c (cal_client_get_object): Use vCalendar
+ again.
+
+ * cal-util/calobj.c (ical_object_find_in_string): From Seth, make
+ it use vCalendar again.
+
+2000-06-13 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (obj_updated_cb): Juggle some eggs in
+ asynchronous fashion. Finished implementing.
+ (obj_removed_cb): Implemented. This one needs no juggling.
+ (calendar_model_set_cal_client): Only load the objects if we have
+ a client.
+ (calendar_model_destroy): Disconnect from the client's signals.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added
+ calendar-model.[ch] to the list of sources.
+
+ * pcs/cal-backend-imc.c (cal_backend_imc_get_n_objects): Doh,
+ return the computed value.
+
+2000-06-13 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-model.c (CalendarModelPrivate): Added the array of
+ objects and the hash table of UID->array index.
+ (calendar_model_row_count): Return the length directly from the
+ array instead of asking the Wombat.
+ (calendar_model_value_at): Implemented.
+ (calendar_model_new): Create an empty model. We provide a new
+ setter function now.
+ (calendar_model_construct): Removed function.
+ (calendar_model_set_cal_client): New function to set the calendar
+ client and object type at any time. This lets us reuse a calendar
+ model object.
+
+ * cal-util/calobj.h (iCalObjectField): Just report whether the
+ object has alarms; not every single alarm.
+
+2000-06-13 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/Makefile.am (SHELL_OBJS): Removed.
+ (evolution_calendar_LDADD): Link with
+ `$(top_builddir)/shell/libeshell.a'.
+
+2000-06-09 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/component-factory.c (factory_fn): Pass NULL for the new args
+ @create_folder_fn and @remove_folder_fn.
+ (create_view): Updated to match the new
+ `EvolutionShellComponentCreateViewFn'. Return
+ `EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE' if type is not
+ "calendar".
+
+2000-06-09 Federico Mena Quintero <federico@helixcode.com>
+
+ * idl/evolution-calendar.idl (Cal): Added a get_n_objects()
+ method.
+
+ * pcs/cal-backend.c (cal_backend_get_n_objects): New function.
+
+ * pcs/cal-backend-imc.c (cal_backend_imc_get_n_objects):
+ Implemented.
+
+ * pcs/cal.c (Cal_get_n_objects): Implemented.
+
+ * cal-client/cal-client.c (cal_client_get_uids): Free the ev.
+ (cal_client_get_n_objects): Implemented.
+
+ * cal-util/calobj.h (iCalObjectField): New enumeration to identify
+ the fields in an iCalObject.
+
+2000-06-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (event_editor_destroy): Free the private
+ structure.
+
+2000-06-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/calobj.c (ical_object_to_vobject): Allow for NULL
+ summaries.
+
+2000-06-07 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (toolbar): Added missing tooltips. We still
+ need icons, though.
+
+2000-06-07 Seth Alves <alves@hungry.com>
+
+ * cal-util/calobj.c (ical_object_find_in_string): put this back in,
+ it's still used in cal-backend-imc.c:cal_backend_imc_update_object
+
+ * cal-client/cal-client.c (cal_client_get_object): instead of
+ returning a text representation, decode the text and return an
+ iCalObject. Also added CalClientGetStatus which indicates
+ success or type of failure.
+
+ * cal-util/calobj.c (ical_object_find_in_string): #ifed out
+ ical_object_find_in_string since it is unused now.
+
+ * cal-client/client-test.c (list_uids): track get_object change
+ * gui/calendar-commands.c (calendar_iterate): same
+ * gui/e-day-view.c (e_day_view_update_event): same
+ * gui/e-week-view.c (e_week_view_update_event): same
+ * gui/print.c (print_day_details): same
+ (print_day_summary): same
+ (print_todo_details): same
+ * gui/gnome-cal.c (trigger_alarm_cb): same
+ * gui/gncal-todo.c (gncal_todo_update): same
+
+2000-06-06 Seth Alves <alves@hungry.com>
+
+ * cal-util/icalendar.c, icalendar-save.c: fixed a bunch of problems
+ * cal-util/calobj.c (ical_object_find_in_string): use libical
+ instead of libversit
+ (ical_object_to_string): same
+ (dump_icalobject): prints the contents of an icalobject for debugging
+
+ * gui/Makefile.am (LINK_FLAGS): link libical.a instead of libical.la
+ so we don't have to modify the build system of the released libical
+ * cal-client/Makefile.am (client_test_LDADD): same
+ * cal-util/Makefile.am (icalendar_test_LDADD): same
+
+2000-06-06 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/calobj.c (ical_object_destroy): Removed from the public
+ header; made static. Now everyone should use refcounting.
+
+ * pcs/cal-backend-imc.c (free_ical_object): Use
+ ical_object_unref().
+ (remove_object): Likewise.
+
+2000-06-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-commands.c (print): New function to call the print
+ engine.
+ (calendar_toolbar): Added the Print button.
+ (calendar_control_activate): Added the File/Print item.
+
+ * gui/e-day-view.c (e_day_view_get_selected_time_range): Allow
+ start_time and end_time to be NULL.
+
+ * gui/e-week-view.c (e_week_view_get_selected_time_range):
+ Likewise.
+
+ * gui/print.c (range_selector_new): Show the range selector
+ widgets. Use the correct radio group for all of them!
+ (print_calendar): Do the dialog box here. We may want to split
+ this function later into smaller chunks.
+
+2000-06-05 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_button_press):
+ allow the right button to popup the menu, even when the event is
+ being edited.
+
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: Set the keyboard focus to the EDayView/EWeekView
+ when the right button is clicked, so that any event being edited is
+ saved before any action (e.g. opening the Event Editor dialog) is
+ started. Note that this won't work if we switch to asynchronous
+ notification.
+
+2000-06-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (tb_save_and_close_cb): Implemented.
+ (toolbar): Added an icon for the Save and Close command.
+ (save_ical_object): Recompute the title of the window here. Maybe
+ it would be better to do it when we actually get the
+ "object_changed" signal from the CalClient.
+ (file_close_cb): Implemented.
+
+2000-06-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (save_ical_object_cb): Implemented.
+ (gnome_calendar_add_object): Removed function, since it was
+ identical to gnome_calendar_update_object(). Modified the rest
+ of the code to use only the latter.
+ (gnome_calendar_remove_object): Be more paranoid about the UID.
+ (gnome_calendar_update_object): Ditto. Also, renamed this
+ function from gnome_calendar_object_changed(), for consistency
+ with the lower-level CalClient interface.
+
+ * gui/event-editor.c (event_editor_class_init): New
+ "save_ical_object" signal to ask that our parent store the
+ calendar object to the backend.
+ (save_ical_object): New function to save the calendar object,
+ actually if just emits the signal.
+ (file_save_cb): Implemented.
+ (dialog_to_ical_object): We want priv->
+ alarm_program_run_program_entry (i.e. the entry inside the
+ GnomeFileEntry), not the file entry itself.
+ (dialog_to_ical_object): Only insert the recurrence ending date if
+ the event is recurrent!
+
+2000-06-02 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/Makefile.am: Fixed EXTRA_DIST.
+
+2000-06-01 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (editor_closed_cb): Handler for the
+ "editor_closed" signal of the event editor; we just destroy it
+ then.
+
+ * gui/event-editor.c (app_delete_event_cb): Callback used when the
+ dialog is closed. Release the iCalObject here instead of the
+ event editor's destroy handler, and emit the new "editor_closed"
+ signal.
+
+2000-06-01 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor-dialog.glade: Change of plans. The toplevel
+ GnomeApp is now generated with Glade instead of being created in
+ the program code. Otherwise we can't migrate the accelerators to
+ the new toplevel and they won't work.
+
+ * gui/event-editor.[ch]: EventEditor now derives from GtkObject.
+ This lets us use the GnomeApp created by libglade and still have
+ signals and stuff.
+
+ * gui/event-editor.c (create_menu): Tell the UI handler that the
+ menubar is the GnomeApp's existing one, not to create a new one.
+ (create_toolbar): Tell the UI handler to use the GnomeApp's
+ existing toolbar.
+ (event_editor_focus): New function to raise/focus an event editor.
+
+ * gui/gnome-cal.c (gnome_calendar_edit_object): Use
+ event_editor_focus().
+
+2000-06-01 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_control_activate): Put the
+ toolbar into a frame to make it look like standard GNOME toolbars.
+ Also, set `GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL' so that it does not
+ do evil things when its moved to the left or the right of the
+ window.
+
+2000-05-31 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.h (GnomeCalendar): Added a hash table to map
+ calendar objects to their respective event editors.
+
+ * gui/gnome-cal.c (gnome_calendar_init): Create the
+ object_editor_hash.
+ (gnome_calendar_destroy): Free the object_editor_hash.
+ (gnome_calendar_edit_object): New function to centralize the
+ launching of event editors; if one already exists for a particular
+ calendar object, we just raise its window.
+ (edit): Use gnome_calendar_edit_object().
+
+ * gui/calendar-commands.c (display_objedit): Use
+ gnome_calendar_edit_object().
+ (display_objedit_today): Likewise.
+
+ * gui/e-day-view.c (e_day_view_on_new_appointment): Likewise.
+ (e_day_view_on_edit_appointment): Likewise.
+
+ * gui/e-week-view.c (e_week_view_on_new_appointment): Likewise.
+ (e_week_view_on_edit_appointment): Likewise.
+
+ * gui/event-editor.c (event_editor_new): Do not take in an
+ iCalObject; rather provide an event_editor_set_ical_object()
+ function. We need this because a single editor may be switched
+ between different calendar objects. Also, do not show the event
+ editor; leave it up to the client code.
+ (event_editor_construct): Likewise.
+ (clear_widgets): New function to clear the widgets to default
+ values.
+ (fill_widgets): New function to fill in the widgets from the
+ iCalObject. We don't do this in init_widgets() anymore.
+ (free_exception_clist_data): New function to free the exceptions
+ clist data. We were leaking the row data.
+ (init_widgets): Hook to the destroy signal of the exceptions
+ clist.
+ (event_editor_set_ical_object): New function. Now it also makes a
+ copy of the calendar object for the event editor; clients do not
+ need to copy it anymore.
+ (event_editor_destroy): Unref the UI handler as well.
+ (event_editor_class_init): New "ical_object_released" signal to
+ notify the parent that we are no longer editing the calendar
+ object.
+ (make_title_from_ico): Handle NULL objects.
+
+ * gui/event-editor.h (EventEditor): Removed fields that are no
+ longer used.
+
+2000-05-31 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/Makefile.am: added test-recur test program.
+
+ * cal-util/test-recur.c: new file to test the recurrence code.
+
+ * cal-util/.cvsignore: added test-recur.
+
+ * cal-util/cal-recur.c: updated.
+
+2000-05-30 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor.c (event_editor_construct): Create the UI
+ handler after we have constructed the parent GnomeApp.
+ (main_menu): Menu template is now in place.
+ (toolbar): Tollbar template is now in place.
+ (create_toolbar): Turn off labels in the toolbar since it sucks;
+ it should support non-homogeneous buttons with horizontal icons
+ and text.
+
+2000-05-29 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (gnome_calendar_object_changed): Removed the
+ flags argument, since now we just proxy the calendar object to the
+ calendar client.
+
+ * gui/event-editor.c (alarm_unit_get): Moved over from
+ event-editor-utils.c.
+
+ * gui/event-editor-utils.[ch]: Removed files, since the two
+ functions that were left there (i.e. the ones not present in
+ e-dialog-widgets) can simply be moved to event-editor.c.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Removed
+ event-editor-utils.[ch] from the list of sources.
+
+2000-05-27 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor-utils.c: Moved many functions to
+ e-util/e-dialog-widgets.c.
+
+2000-05-25 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/event-editor-dialog.glade: Put the main notebook directly
+ under a simple GtkWindow. We are going to pull out the notebook
+ and slap it into our custom-built GnomeApp, anwyays.
+
+ * gui/event-editor.c: Made the EventEditor derive from GnomeApp.
+ Added a BonoboUIHandler for its menu and toolbar.
+ (make_title_from_ico): Create a nice title for the window.
+ (get_widgets): Fetch the Glade widgets here instead of all over
+ the place.
+ (event_editor_new): Temporary hack to show the dialog here, just
+ so that I can test it.
+
+ * gui/Makefile.am (EXTRA_DIST): Added the Glade messages file.
+
+2000-05-25 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/main.c (init_bonobo): Do not initialize libglade twice.
+
+ * gui/component-factory.c (create_view): Set the folder_uri
+ property, otherwise the calendar will not get loaded into the
+ view.
+
+2000-05-25 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/main.c: Make it so that warnings don't crash calendar.
+
+2000-05-25 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/evolution-calendar-control.c: Removed.
+
+ * gui/main.c: New.
+
+ * gui/control-factory.c: New.
+ * gui/control-factory.h: New.
+
+ * gui/calendar-component-factory.c: New.
+ * gui/calendar-component-factory.c: New.
+
+ * gui/evolution-calendar-control.c (calendar_control_factory):
+ Renamed from `calendar_factory'.
+ (calendar_control_factory_init): Renamed from
+ `calendar_factory_init'.
+
+ * gui/Makefile.am: Link with the files from `$(builddir)/shell'.
+
+ * gui/evolution-calendar.gnorba: New.
+ * gui/evolution-calendar.oafinfo: New.
+
+2000-05-24 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/print.c (range_selector_new): New function to create the
+ custom range selector.
+ (print_dialog): New function to show the print dialog.
+ (print_calendar): Use the print dialog.
+
+2000-05-24 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/Makefile.am: Added libepaned.a.
+
+ * gui/gnome-cal.c: Switched from GtkPaned to EPaned.
+
+2000-05-22 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_get_events_in_range): Removed
+ function.
+
+ * gui/mark.c (mark_month_item): Use
+ cal_client_get_events_in_range().
+
+ * gui/calendar-commands.c (show_year_view_clicked): Comment out,
+ since we don't have a year view.
+
+ * gui/gnome-cal.c (setup_widgets): Removed the year view stuff.
+ (gnome_calendar_get_current_view_name): Likewise.
+ (gnome_calendar_update_view_times): Likewise.
+ (gnome_calendar_direction): Likewise.
+ (gnome_calendar_set_view): Likewise.
+ (gnome_calendar_update_all): Likewise.
+ (gnome_calendar_object_updated_cb): Likewise.
+ (gnome_calendar_object_removed_cb): Likewise.
+ (gnome_calendar_time_format_changed): Likewise.
+ (gnome_calendar_get_current_time_range): Likewise.
+
+ * gui/gnome-cal.h (GnomeCalendar): Removed the year view stuff.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Added layout.[ch],
+ print.[ch]. Removed quick-view.[ch], year-view.[ch] since they
+ are no longer used. Removed all the old Pilot crap.
+
+2000-05-20 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/cal-recur.[hc]: new files to implement iCalendar recurrence
+ rules. These are only part finished, but people may like to check that
+ the architecture seems OK.
+
+2000-05-17 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.c (e_day_view_on_delete_occurrence):
+ * gui/e-week-view.c (e_week_view_on_delete_occurrence): use a copy of
+ the iCalObject so we detect the change in the "update_event" callback.
+ Maybe we should just update the view ourselves and then we wouldn't
+ need to detect any change in the callback.
+
+ * cal-util/calobj.c (ical_object_reset_recurrence): new function to
+ get rid of any recurrence rules. Used when we 'unrecur' an event.
+
+ * gui/e-day-view.c (e_day_view_key_press): don't add a new event if it
+ won't fit, or we end up adding a new event for each key press.
+ (e_day_view_update_event_label): don't update it if it doesn't have
+ an EText item (i.e. it isn't visible).
+
+ * gui/e-day-view-time-item.c: allow selection of times using this
+ column.
+
+2000-05-19 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/timeutil.c (time_add_minutes): Fixed warning message.
+ (time_add_day): Likewise.
+ (time_add_month): Likewise.
+ (time_add_year): Likewise.
+ (time_from_day): Of all functions, *this* one had to have a bug.
+ Set the tm.tm_isdst to -1 to specify that we don't know whether
+ the time is in DST or not. This fixes *many* bugs upstream.
+ (time_week_begin): Likewise. We never noticed this since the week
+ functions are never used.
+ (time_week_end): Likewise.
+
+2000-05-17 Seth Alves <alves@hungry.com>
+
+ * gui/event-editor.c: hooked up more widget signals to callbacks
+ to the gladified dialog acts more like the original one.
+
+2000-05-16 Seth Alves <alves@hungry.com>
+
+ * gui/event-editor.c (recurrence_toggled): hook the radio buttons
+ to the pages of the notebook.
+ (append_exception):
+ (recurrence_exception_added):
+ (recurrence_exception_deleted):
+ (recurrence_exception_changed): code to deal with the recurrence
+ exception list.
+
+2000-05-15 Seth Alves <alves@hungry.com>
+
+ * gui/event-editor.[ch]: gladeified replacement for eventedit.c
+
+ * gui/event-editor-utils.[ch]: utilities used by event-editor.c
+
+ * gui/event-editor-dialog.glade: glade file used by event-editor.c
+
+2000-05-14 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (display_notification): Use the alarm
+ notification dialog.
+ (display_notification_cb): New callback for the result of the
+ alarm notification dialog.
+
+ * gui/dialogs/alarm-notify.glade: New file with the alarm
+ notification dialog.
+
+ * gui/dialogs/alarm-notify-dialog.[ch]: New file.
+
+ * gui/dialogs/Makefile.am: New file.
+
+ * gui/Makefile.am (SUBDIRS): Added the dialogs directory.
+
+2000-05-13 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (trigger_alarm_cb): Better error checking, and
+ plug leaks of str_ico and ico.
+
+ * gui/evolution-calendar-control.c (main): Initialize libglade.
+
+2000-05-13 Ettore Perazzoli <ettore@helixcode.com>
+
+ * pcs/Makefile.am (INCLUDES): Add
+ `-I$(top_builddir)/libical/src/libical'.
+
+2000-05-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/calobj.c (generate): Use a (dtend - dtstart) offset to
+ compute the ending time of the occurrence. This takes care of
+ recurring events that span multiple days. Also, removed the DST
+ condition since it did not look right at all: if you have a daily
+ appointment at 18:00, it still should happen at 18:00 even during
+ daylight savings.
+
+ * gui/gnome-cal.c (gnome_calendar_tag_calendar): Use the timeutil
+ functions instead of calculating the month's times by hand. Use
+ cal_obj_instance_list_free() instead of freeing the list by hand.
+ Clip the range we pass to mark_gtk_calendar_day().
+ (mark_gtk_calendar_day): Fixed off-by-one error at the end of the
+ month by adding real day offsets.
+
+2000-05-11 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (add_alarms_for_object): New function to add
+ today's alarms for a single object.
+ (gnome_calendar_object_updated_cb): Update the object's alarms.
+
+ * idl/evolution-calendar.idl (Cal): Added a
+ get_alarms_for_object() method.
+
+ * pcs/cal.c (Cal_get_alarms_for_object): Implemented method.
+
+ * pcs/cal-backend.c (cal_backend_get_alarms_for_object): New
+ function.
+
+ * pcs/cal-backend-imc.c (cal_backend_imc_get_alarms_for_object):
+ Implemented.
+
+ * cal-client/cal-client.c (cal_client_get_alarms_for_object): New
+ function.
+
+2000-05-11 Dan Winship <danw@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_control_activate): Now that we
+ depend on current gnome-libs we can make the toolbar detachable
+ again.
+
+ * pcs/icalendar-save.c (timet_to_icaltime): remove unused timezone
+ variable to make this compile on BSD systems (where timezone is
+ the name of a function)
+
+2000-05-11 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/gnome-cal.c (gnome_calendar_update_all): Removed unused
+ arguments. Load the initial alarms here.
+ (load_alarms): New function to load a day's worth of alarms.
+ (gnome_calendar_class_init): Eeeek! This was taking in an
+ incorrect argument type.
+ (gnome_calendar_init): Now the calendar keeps a hash table of
+ UIDs->queued alarms. Create the hash table here.
+ (gnome_calendar_destroy): Destroy the alarms hash table.
+ (gnome_calendar_object_updated_cb): Remove the alarms for the
+ object and regenerate them.
+ (gnome_calendar_object_removed_cb): Remove the alarms for the
+ object.
+
+ * gui/alarm.c (alarm_add): Do not take in a CalendarAlarm, just
+ the trigger time, the callback and the closure data. Return an
+ opaque identifier for the alarm so that it can be removed by the
+ client code if needed. Use the queue_alarm() helper function.
+ (queue_alarm): Helper function to actually queue the alarm and set
+ up the itimer. Deal with a nonzero return value from
+ setitimer().
+ (alarm_remove): New function to remove an alarm based on its ID.
+ (pop_alarm): New helper function; pops the first alarm of the
+ queue and resets the timer as appropriate.
+ (alarm_ready): Simplified a lot by using pop_alarm().
+
+ * idl/evolution-calendar.idl (Cal): Added get_alarms_in_range().
+
+ * pcs/cal.c (build_instance_seq): New function to build a CORBA
+ sequence from the internal list of instances.
+ (Cal_get_events_in_range): Use build_instance_seq().
+ (Cal_get_alarms_in_range): Implemented new method.
+
+ * pcs/cal-backend.c (cal_backend_get_alarms_in_range): New
+ function with the get_alarms_in_range() engine.
+
+ * pcs/cal-backend-imc.c (cal_backend_imc_get_alarms_in_range):
+ Implemented the get_alarms_in_range() method.
+
+ * cal-client/cal-client.c (cal_client_get_alarms_in_range): New
+ client-side function for getting the alarms.
+ (build_instance_list): New helper function to build the
+ CalObjInstance list from the CORBA sequence.
+ (cal_client_get_events_in_range): Use build_instance_list().
+
+ * gui/calendar-commands.h: #include <cal-util/calobj.h>. #include
+ "gnome-cal.h".
+
+ * gui/e-week-view.c: #include "calendar-commands.h" instead of
+ main.h; the latter is an obsolete file and will be killed.
+
+ * gui/evolution-calendar-control.c (main): Call init_bonobo()
+ before anything else. We need the GTK+ object system initialized.
+
+ * gui/Makefile.am (evolution_calendar_SOURCES): Do not use main.h.
+
+ * cal-util/cal-util.c (cal_alarm_instance_list_free): New function.
+
+2000-05-10 Matt Loper <matt@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_control_activate): Move
+ "about" menuitem to the help menu.
+
+2000-05-10 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/Makefile.am: Added main.h. Combined the two EXTRA_DIST
+ sections.
+
+2000-05-09 Christopher James Lahey <clahey@helixcode.com>
+
+ * pcs/cal-backend-imc.c: Set the format when creating a new
+ calendar.
+
+2000-05-09 Christopher James Lahey <clahey@helixcode.com>
+
+ * pcs/cal-factory.c: Removed double free of method_string in
+ uri->method_string.
+
+2000-05-08 Ettore Perazzoli <ettore@helixcode.com>
+
+ * pcs/cal.h: Include "calendar/pcs/evolution-calendar.h" instead
+ of "evolution-calendar.h".
+
+ * pcs/cal-backend.h: Include "calendar/pcs/evolution-calendar.h"
+ instead of "evolution-calendar.h".
+
+2000-05-08 Seth Alves <alves@hungry.com>
+
+ * gui/e-day-view.c (e_day_view_on_delete_appointment): call
+ e_day_view_stop_editing_event here to avoid a divide by zero
+ a bit further on. i'm not sure if this is the best fix for this.
+
+2000-05-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * pcs/cal-backend.h (CalBackendClass): CalBackendClass now is just
+ an interface for calendar backends; this is an abstract class.
+ Put in the vtable for the backend methods.
+
+ * pcs/cal-backend.c (cal_backend_new): Removed function, since
+ CalBackend is not just an abstract class.
+ Removed implementation-specific functions and made public
+ functions call the virtual methods instead.
+
+ * pcs/cal-backend-imc.[ch]: New files with the CalBackendIMC
+ implementation; this implements a backend for iCalendar and
+ vCalendar files. Moved the implementation-specific stuff from
+ cal-backend.[ch] to here.
+
+ * pcs/cal-backend-imc.c (CalendarFormat): Moved enumeration to
+ here. Added a CAL_UNKNOWN value for when the backend is not
+ loaded yet.
+ (cal_backend_imc_init): Initialize priv->format as CAL_UNKNOWN.
+ (save_to_vcal): Use the same VCProdIdProp value as in
+ cal-util/calobj.c. Use "1.0" as the VCVersionProp as per the
+ vCalendar spec.
+ (ensure_uid): Return nothing, since the result value need not be
+ used anymore.
+ (add_object): Since we mark the calendar as dirty anyways, we do
+ not need to check the result value of ensure_uid() anymore.
+ (remove_object): Asssert that we know how to handle the object's
+ type. We do this in add_object() anyways.
+
+ * pcs/Makefile.am (libpcs_a_SOURCES): Added cal-backend-imc.[ch].
+
+ * gui/gnome-cal.c: Replaced debugging printf()s with g_message()
+ so that we can see the line number where they occur.
+
+ * gui/gnome-cal.c (gnome_calendar_load_cb): Sort of handle the
+ LOAD_METHOD_NOT_SUPPORTED result code, and added a default for the
+ switch.
+
+ * cal-client/cal-listener.h (CalListenerLoadStatus): Removed
+ enumeration; it is stupid to translate all values for the
+ CalClient when it is going to translate them again.
+ (CalListenerClass::cal_loaded): This signal now passes the
+ LoadStatus directly from the CORBA side.
+
+ * cal-client/cal-listener.c (Listener_cal_loaded): Do not
+ translate the status value.
+
+ * cal-client/cal-client.h (CalClientLoadStatus): Added the
+ CAL_CLIENT_LOAD_METHOD_NOT_SUPPORTED error code.
+
+ * cal-client/cal-client.c (cal_loaded_cb): Translate the CORBA
+ version of the LoadStatus result code.
+
+ * pcs/cal-factory.c (CalFactoryPrivate): New methods field for the
+ hash table from method strings to the GtkTypes for backend class
+ types.
+ (cal_factory_init): Create the priv->methods hash table.
+ (cal_factory_destroy): Free the priv->methods hash table.
+ (cal_factory_register_method): New function to register a backend
+ class for a particular URI method.
+ (launch_backend_for_uri): New function to launch a backend for a
+ particular URI's method.
+ (load_backend): Use launch_backend_for_uri(). Move the error
+ notification code from load_fn() to here.
+ (create_backend): Use launch_backend_for_uri(). Move the error
+ notification code form create_fn() to here; it is #ifdefed out
+ since currently cal_backend_create() does not have any error
+ reporting capabilities.
+
+ * idl/evolution-calendar.idl (Listener::LoadStatus): Added a
+ PROTOCOL_NOT_SUPPORTED error code.
+
+ * pcs/cal-factory.c (cal_factory_load cal_factory_create): Removed
+ functions, since they were supposed to be internal only.
+ (CalFactory_load): Call queue_load_create_job() directly.
+ (CalFactory_create): Likewise.
+
+2000-05-08 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-week-view.c (e_week_view_remove_event_cb):
+ * gui/e-day-view.c (e_day_view_remove_event_cb): don't set the ico->uid
+ to NULL or we won't find any other occurrences of the event. Set the
+ editing_event_day/num to -1 instead.
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw): fixed the
+ positioning of the icons for long events.
+
+ * cal-util/calobj.c (ical_object_normalize_summary): forgot to
+ terminate the string.
+
+2000-05-07 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received):
+ (e_day_view_on_top_canvas_drag_data_received): show the EText item,
+ just in case it hasn't moved, otherwise it won't appear.
+
+ * gui/e-day-view.h (E_DAY_VIEW_BAR_WIDTH): increased from 6 to 8 to
+ make it easier to drag an event. Also increased E_DAY_VIEW_GAP_WIDTH
+ since it must be >= the BAR_WIDTH.
+
+2000-05-07 Matt Loper <matt@helixcode.com>
+
+ * gui/evolution-calendar-control.c (PROPERTY_CALENDAR_URI):
+ Changed to "folder_uri" from "calendar_uri".
+ (set_prop): The uri given to us is a directory, so we append a
+ filename onto the end before we use it.
+
+2000-05-06 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/timeutil.c (time_day_begin):
+ (time_day_end): changed these so they just do a simple localtime(),
+ update the struct tm, then do a mktime(). I don't know why it used to
+ look at the tm_isdst flags etc. From a little test program I wrote
+ which steps through testing every hour for a year it wasn't working
+ correctly, and the new code does.
+ (time_add_day): also got rid of the stuff that looked at tm_isdst here.
+ My test program now works better.
+
+2000-05-06 Chris Toshok <toshok@helixcode.com>
+ * gui/.cvsignore: ignore evolution-calendar.pure
+
+ * gui/Makefile.am: add support for building evolution-calendar.pure
+
+2000-05-06 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.c:
+ * gui/e-week-view.c: finish editing event when user hits Return key.
+ (e_week_view_on_text_item_event): stop event signals after doing any
+ other calls, since otherwise it will also stop any other resulting
+ event signals.
+
+ * gui/e-week-view-event-item.c (e_week_view_event_item_draw): don't
+ draw the start/end times while editing.
+
+ * gui/eventedit.c: changed the Summary field to a GtkEntry, since we
+ now only want a single line of text.
+
+ * cal-util/calobj.c (ical_object_normalize_summary): new function to
+ convert the summary field to a single line of text, by converting any
+ sequence of CR & LF characters to a single space.
+ (ical_object_create_from_vobject): call the above function. I think
+ all functions that load iCalObjects go through this.
+ (ical_new): called it here as well just in case.
+
+2000-05-06 Damon Chaplin <damon@helixcode.com>
+
+ * gui/week-view.[hc]: removed.
+
+2000-05-06 Damon Chaplin <damon@helixcode.com>
+
+ * gui/gncal-day-panel.[hc]:
+ * gui/gncal-day-view.[hc]:
+ * gui/gncal-full-day.[hc]:
+ * gui/gncal-week-view.[hc]:
+ * gui/layout.[hc]:
+ * gui/view-utils.[hc]: removed old calendar view files.
+
+2000-05-06 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/calobj.[hc]: added guint ref_count to iCalObject struct,
+ and ical_object_ref/unref() functions. I've updated all the gui/
+ stuff to use ref_counts but I haven't touched the pcs/ stuff. Maybe
+ just using ical_object_destroy() is OK there.
+
+ * gui/gncal-todo.c:
+ * gui/calendar-commands.c:
+ * gui/eventedit.c:
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: use refcounting for iCalObjects.
+
+ * gui/e-day-view-main-item.c:
+ * gui/e-day-view-top-item.c:
+ * gui/e-day-view.c: try not to ever draw outside the event, even when
+ the event is very small.
+
+2000-05-05 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.c: don't allow recurring events to be resized or
+ dragged, and don't show the resize/drag cursors. Actually it may be
+ better to let the user do the resize/drag and then ask them what they
+ want to do - change the single occurrence or the entire series.
+
+ * gui/e-day-view-time-item.c (e_day_view_time_item_show_popup_menu):
+ use e_auto_kill_popup_menu_on_hide() to destroy the popup menu.
+
+ * gui/popup-menu.c: include e-gui-utils.h
+
+2000-05-04 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view.c (e_day_view_foreach_event_with_uid): for the long
+ events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV.
+
+ * gui/calendar-commands.c: when we switch views, grab the focus.
+
+ * gui/gnome-cal.c (gnome_calendar_tag_calendar):
+ (gnome_calendar_mark_gtk_calendar_day): changed this so it uses
+ cal_client_get_events_in_range(), and doesn't load any objects.
+ Also just return if it isn't visible.
+
+ * gui/calendar-commands.c (calendar_get_events_in_range): call
+ g_list_sort() to sort the list rather than g_list_insert_sorted() for
+ each element. It is much more efficient.
+ Also changed it so that the co->ev_start/end fields are copied from
+ the CalObjInstance rather than the parameters to the function
+ (that is right, isn't it?)
+ Also freed the list elements, and finally the list.
+ (calendar_iterate): changed this to use cal_client_get_events_in_range
+ since that is more efficient than getting all the uids and then loading
+ and parsing all the events.
+
+ * pcs/cal-backend.c (save): output the '... saved' message before
+ freeing the string!
+
+ * gui/gncal-todo.c (gncal_todo_update):
+ * gui/e-week-view.c (e_week_view_update_event):
+ * gui/e-day-view.c (e_day_view_update_event):
+ * gui/calendar-commands.c (calendar_get_events_in_range):
+ (calendar_iterate): free obj_string after it is parsed.
+
+2000-05-02 Damon Chaplin <damon@helixcode.com>
+
+ * gui/calendar-commands.c (calendar_control_activate): set the active
+ radio button here. Oops - it wasn't a Bonobo problem after all.
+
+ * gui/popup-menu.c (popup_menu): added call to
+ e_auto_kill_popup_menu_on_hide() to destroy the menu.
+
+ * gui/e-week-view.c (e_week_view_show_popup_menu):
+ * gui/e-day-view.c (e_day_view_on_event_right_click): ico->user_data
+ isn't useful any more, since the event editor keeps its own iCalObject.
+ So for now we make the menu commands available even when the event is
+ being edited in the event editor.
+ Also corrected misspellings of 'occurance' -> 'occurrence'.
+
+ * gui/eventedit.c (event_editor_destroy): destroy the iCalObject.
+ The event editor now uses its own independent iCalObject.
+
+ * gui/e-week-view.c (e_week_view_on_unrecur_appointment):
+ * gui/e-day-view.c (e_day_view_on_unrecur_appointment): create a new
+ uid for the new single instance. I'm not sure what we should do about
+ the creation/last modification times of the objects.
+
+ * gui/e-week-view.c (e_week_view_on_edit_appointment):
+ * gui/e-day-view.c (e_day_view_on_edit_appointment): duplicate the
+ iCalObject before passing it to the event editor, since it will change
+ the fields. If we don't duplicate it we won't know what has changed
+ when we get the "update_event" callback.
+
+ * gui/e-week-view.c (e_week_view_key_press):
+ * gui/e-day-view.c (e_day_view_key_press): set the created and last_mod
+ times of the new iCalObject. We may want to set the default alarm as
+ well.
+
+ * cal-util/calobj.c (ical_gen_uid): made this function public so we
+ can generate new uids if necessary.
+
+2000-05-01 Damon Chaplin <damon@helixcode.com>
+
+ * gui/gnome-cal.[hc] (gnome_calendar_get_current_time_range): new
+ function to get the currently seleted time range form the current view.
+
+ * gui/calendar-commands.c (display_objedit): use the above function
+ to get the time for the new appointment.
+
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: use a shallow copy of the ico when we update the
+ times (when resizing/dragging). Otherwise we won't detect that the
+ time has changed in the "update_event" callback.
+
+ Also added functions to get the currently selected time range.
+
+2000-04-30 Seth Alves <alves@hungry.com>
+
+ * pcs/icalendar-save.c (icalcomponent_create_from_ical_object): set
+ attendee and contact address correctly.
+
+ * pcs/cal-backend.c (icalendar_calendar_load): init priv->object_hash
+ when loading.
+ (cal_get_type_from_filename): if file extension is .ical, consider
+ the file an ical file.
+
+2000-05-01 Damon Chaplin <damon@helixcode.com>
+
+ * cal-util/calobj.c (ical_object_compare_dates): new function to see
+ if the event dates have changed (including any recurrence rules).
+ It is used for optimization when we get the "object_changed" signal.
+ We have to do far less work if the dates are unchanged.
+
+ * gui/e-week-view.c:
+ * gui/e-day-view.c: only draw the selection when we have the keyboard
+ focus, since the user expects to be able to type in a new event when
+ the selection is shown. Also keep the selection when we lose focus,
+ but just don't show it.
+
+ Also quite a few changes to cope with the new client/server
+ architecture.
+
+ * gui/e-day-view-top-item.c (e_day_view_top_item_draw):
+ * gui/e-day-view-main-item.c (e_day_view_main_item_draw):
+ * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
+ only draw the selection if the widget has the keyboard focus.
+
+ * gui/gnome-cal.c (mark_gtk_calendar_day): fixed so it works with
+ events longer than one day. And changed the code for updating events
+ in the new views.
+
+2000-04-27 Ettore Perazzoli <ettore@helixcode.com>
+
+ * gui/evolution-calendar-control.c
+ (init_bonobo): OAFized.
+
+ * gui/main.c (main): Initialize with OAF if `USING_OAF'.
+
+ * gui/evolution-calendar-control.c: New #define
+ `CONTROL_FACTORY_ID', varying according to whether we are
+ `USING_OAF'.
+ (calendar_factory_init): Use `CONTROL_FACTORY_ID'.
+
+ * gui/Makefile.am: Updated for OAF.
+
+ * pcs/cal-factory.h: Explicitly #include
+ "calendar/pcs/evolution-calendar.h" instead of just
+ "evolution-calendar.h".
+
+ * cal-client/cal-client.c (cal_client_construct) [USING_OAF]: Use
+ OAF.
+
+ * cal-client/client-test.c (init_corba): New function, implemented
+ differently depending on `USING_OAF'.
+
+2000-04-27 <alves@hungry.com>
+
+ * pcs/cal-backend.c (cal_backend_load): fix memory leak
+ (save_to_vcal): same
+ (save): same
+ (cal_backend_load): same
+
+2000-04-26 Christopher James Lahey <clahey@helixcode.com>
+
+ * cal-util/.cvsignore: Replaced libcal-util.la with *.la
+
+ * pcs/.cvsignore: Added *.la and *.lo.
+
+2000-04-25 Federico Mena Quintero <federico@helixcode.com>
+
+ * pcs/cal-factory.c (backend_last_client_gone_cb): Renamed from
+ backend_destroy_cb. Now we use it for the "last_client_gone"
+ signal from the backend. Also, unref the backend to destroy it.
+ (add_backend): Connect to the "last_client_gone" signal of the
+ backend.
+ (cal_factory_get_n_backends): New function to query the number of
+ running backends.
+
+ * pcs/cal-backend.c (cal_backend_class_init): Register the new
+ "last_client_gone" signal. It is emitted when the last Cal client
+ goes away. It is used to notify the factory when a backend may be
+ safely destroyed.
+ (cal_destroy_cb): Emit the "last_client_gone" signal when the last
+ client disconnects from the backend.
+
+2000-04-25 Seth Alves <alves@hungry.com>
+
+ * gui/e-day-view.c (e_day_view_find_event_from_ico): compare
+ iCalObjects by their UIDs instead of by their pointers.
+
+ * pcs/cal-backend.c (cal_backend_destroy): don't save on destroy.
+
+2000-04-25 Ettore Perazzoli <ettore@helixcode.com>
+
+ * cal-client/Makefile.am: Add `$(datadir)/idl'.
+
+ * pcs/Makefile.am (idl_flags): Add `$(datadir)/idl'.
+ (INCLUDES): Use `$(BONOBO_GNOME_CFLAGS)'.
+
+2000-04-25 Seth Alves <alves@hungry.com>
+
+ * gui/gnome-cal.c (gnome_calendar_destroy): hook for widget
+ destroy -- used to unref the CalClient so wombat knows we are gone.
+ (gnome_calendar_class_init): added a class init for this widget.
+
+ * gui/e-day-view.c (e_day_view_update_event): allow for null ico
+
+ * gui/e-week-view.c (e_week_view_update_event): allow for null ico
+
+2000-04-24 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client/client-test.c (main): The path to the test calendar
+ changed when we moved stuff around. Users will have to tweak this
+ for their CVS setup, anyways.
+ (create_client): Create or load the calendar as appropriate.
+ (client_destroy_cb): Exit the main loop if both clients are gone.
+ (main): Connect to the "destroy" signal of the clients so that we
+ can terminate the test program.
+
+2000-04-24 Seth Alves <alves@hungry.com>
+
+ * pcs/icalendar.c (parse_person): allow for null CN
+ (parse_person): allow for null sent_by
+
+ * pcs/Makefile.am: build icalendar-test
+
+ * pcs/icalendar-test.c: a test which loads an ical file and
+ converts it to our internal format, and then saves it back out.
+
+2000-04-24 Damon Chaplin <damon@helixcode.com>
+
+ * gui/Makefile.am: added new source files and pixmaps, and removed
+ old source files, which can be deleted.
+
+ * gui/e-week-view-titles-item.[hc]:
+ * gui/e-week-view-main-item.[hc]:
+ * gui/e-week-view-event-item.[hc]:
+ * gui/e-week-view.[hc]: new files implementing the week/month views.
+
+ * gui/yearview.xpm:
+ * gui/monthview.xpm:
+ * gui/weekview.xpm:
+ * gui/workweekview.xpm:
+ * gui/dayview.xpm: new pixmaps for the toolbar buttons. These aren't
+ intended to be the final pixmaps.
+
+ * gui/calendar-commands.c: added radio buttons to the toolbar to
+ switch between the calendar views, and moved the am_pm_flag here so we
+ can get rid of view-utils.c.
+
+ * gui/gnome-cal.[hc]: made it a subclass of GtkVBox, rearranged the
+ widgets into 2 notebooks, and added the selection_start_time and
+ selection_end_time fields.
+
+ * gui/goto.c: updated to use new selection time range.
+
+ * gui/quick-view.c: added '#include <gtk/gtkwindow.h>' so it compiles.
+
+ * gui/e-day-view.[hc]: changed the interface to support the new
+ selection time range, got rid of a few debugging messages and changed
+ a few bits.
+
+2000-04-21 Seth Alves <alves@hungry.com>
+
+ * pcs/icalendar-save.c: start on code to do the opposite of
+ icalendar.c (convert from iCalObjects to libical's icalcomponents).
+
+ * gui/calendar-commands.c (calendar_control_activate): moved
+ "About Calendar" into the View menu so it shows up.
+
+2000-04-20 Seth Alves <alves@hungry.com>
+
+ * gui/gnome-cal.c (gnome_calendar_changed_cb): new function: callback
+ for listener's object updated signal.
+ (gnome_calendar_object_removed_cb): new function: callback for
+ listener's object removed signal.
+ (gnome_calendar_new): hook up listener's "obj_updated" and
+ "obj_removed" signals so if evolution is running twice,
+ they will both see changes right away.
+ (gnome_calendar_object_changed): don't call update_all, since
+ it will be called by the listener.
+ (gnome_calendar_remove_object): don't call update_all
+ (gnome_calendar_add_object): don't call update_all
+
+ * gui/gncal-full-day.c (child_realize): create fullday's gcs
+ even if pixmap_bell has already been created. this was
+ causing crashes if the calendar was run twice.
+
+2000-04-19 Seth Alves <alves@hungry.com>
+
+ * gui/eventedit.c (ee_rp_init_rule): changed the order around
+ a bit to avoid a Gtk-CRITICAL crash
+
+ * gui/gncal-todo.c (gncal_todo_update): fixed code to populate
+ the todo clist
+
+ * cal-client/cal-client.c (cal_client_get_uids): don't check
+ type against CALOBJ_TYPE_ANY since it will always match.
+ (cal_client_get_uids): same (re: CALOBJ_TYPE_ANY)
+
+ * pcs/cal-backend.c (build_uids_list): same (re: CALOBJ_TYPE_ANY)
+
+ * pcs/cal.c (Cal_get_uids): same (re: CALOBJ_TYPE_ANY)
+
+ * pcs/cal-backend.c (remove_object): don't call save from here
+ because in all cases the caller of remove_object calls save
+
+ * gui/calendar-commands.c (calendar_set_uri): calls gnome_calendar_open
+ instead of checking on disk and calling load or create.
+
+ * gui/gnome-cal.c (gnome_calendar_object_changed): fixed to use
+ cal_client_update_object -- editing and dragging events works again
+ (gnome_calendar_open): collapsed gnome_calendar_load and
+ gnome_calendar_create into this function. added new type
+ GnomeCalendarOpenMode which has the value CALENDAR_OPEN or
+ CALENDAR_OPEN_OR_CREATE.
+
+ * gui/evolution-calendar-control.c (calendar_properties_init): create
+ a property bag for this control
+ (set_prop): callback for property sets
+ (get_prop): callback for proprety gets
+
+ * gui/calendar-commands.c (calendar_set_uri): new function,
+ called when the "calendar_uri" property is set on the calendar-
+ control's property bag.
+
+2000-04-18 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/Makefile.am (INCLUDES): Fix include path.
+
+2000-04-16 Federico Mena Quintero <federico@helixcode.com>
+
+ * pcs/cal-factory.h (CalFactoryClass): We have a new
+ "last_calendar_gone" signal that Wombat can use to terminate
+ itself properly.
+
+ * pcs/cal-factory.c (cal_factory_class_init): Register the
+ "last_calendar_gone" signal.
+ (backend_destroy_cb): Emit the "last_calendar_gone" signal instead
+ of killing the factory.
+
+ * pcs/Makefile.am: Added $(CORBA_GENERATED) to BUILT_SOURCES.
+ (INCLUDES): Make the log domain be "wombat-pcs".
+
+2000-04-17 Seth Alves <alves@hungry.com>
+
+ * pcs/cal-backend.c (add_object): removed implicit save, since
+ we don't want to save as we load from disk.
+ (cal_backend_update_object): added a call to save, since it
+ isn't done by add_object now.
+
+2000-04-16 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-util/Makefile.am: Renamed library from libcalutil to
+ libcal-util, to be consistent with libcal-client. Install header
+ files in $(includedir)/evolution/cal-util.
+ (INCLUDES): Add "cal-util" log domain for glib.
+ (libcal_clientincludedir): The header files are now installed in
+ $(includedir)/evolution/cal-client.
+
+ * cal-util/cal-util.h: Fix includes.
+
+ * cal-client/client-test.c: Fix includes.
+
+ * pcs/Makefile.am: Create libpcs.a, not a shared library, because
+ it is for internal use by Wombat only. The header files should
+ not be installed, either. Removed all the old Tlacuache stuff.
+
+ * gui/Makefile.am (EXTRA_DIST): We no longer distribute
+ gncal.desktop.
+ (evolution_calendar_INCLUDES): Add "calendar-gui" for the glib log
+ domain.
+
+ * gui/*.[ch]: Fix cal-util and cal-client includes.
+
+ * pcs/Makefile.am (INCLUDES): Added "pcs" log domain for glib.
+
+ * pcs/*.[ch]: Fix cal-util includes.
+
+2000-04-11 Chris Toshok <toshok@helixcode.com>
+
+ * pcs/icalendar.c (icaltime_to_timet): use HAVE_TIMEZONE to switch
+ between linux's timezone variable and *bsd's method of getting the
+ gmt offset.
+
+2000-04-10 Seth Alves <alves@hungry.com>
+
+ * pcs/cal-backend.c (save_to_vcal): create and save an actual
+ vcalendar instead of a list of vcal objects.
+
+2000-04-10 Damon Chaplin <damon@helixcode.com>
+
+ * gui/Makefile.am (INCLUDES): moved srcdir directories to the top so
+ we search headers in the evolution tree before installed headers.
+ (Otherwise when you do 'make install' lots of files in gui/ get
+ rebuilt, since they depend on the installed cal-client.h which has just
+ been updated.)
+
+2000-04-09 Seth Alves <alves@hungry.com>
+
+ * gui/gnome-cal.c (gnome_calendar_load): catch cal_loaded signal
+ on the cal client.
+ (gnome_calendar_load_cb): callback for cal_loaded signal. moved
+ gnome_calendar_update_all from gnome_calendar_load to here.
+
+ * gui/calendar-commands.c: minor cleanups
+
+ * pcs/cal-backend.c (save_to_vcal): copied code from gnome-pim
+ to write vcal to a file
+ (save): filled it with more gnome-pim code
+ (add_object): call save () after changing
+ (remove_object): same
+ (cal_backend_create): same
+ (cal_backend_remove_object): same
+
+2000-04-08 Christopher James Lahey <clahey@helixcode.com>
+
+ * gui/Makefile.am: Removed linking with libetable and libeminicard
+ since they weren't being used.
+
+2000-04-08 Seth Alves <alves@hungry.com>
+
+ * gui/gnome-cal.c (gnome_calendar_create): new function:
+ friendly wrapper for cal_client_create_calendar
+
+ * gui/calendar-commands.c (new_calendar): call gnome_calendar_create
+ if no filename is provided
+
+ * gui/prop.c (properties): calendar is a frame
+
+ * gui/calendar-commands.c (calendar_control_activate): sort out the
+ menus a bit, more of them show up now.
+
+ * gui/Makefile.am: don't build library or test, just the bonobo control
+
+ * gui/gncal-todo.c (simple_todo_editor): calendar is a frame instead
+ of a window, now.
+
+ * gui/gnome-cal.c (gnome_calendar_new): same
+
+ * gui/goto.c (goto_dialog): same
+
+2000-04-06 Seth Alves <alves@hungry.com>
+
+ * gui/calendar-commands.c (calendar_control_activate): removed
+ uih from the argument list, added cal. use cal as user_data
+ in callbacks rather than the control.
+ (calendar_control_deactivate): removed uih from argument list
+
+2000-04-05 Seth Alves <alves@hungry.com>
+
+ * gui/calendar-commands.c (setup_menu): removed
+ (setup_appbar): removed
+ (calendar_control_activate): new function -- does the work
+ that setup_appbar and setup_menu used to do.
+ (calendar_control_deactivate): undoes what calendar_control_activate
+ does by removing the toolbar items and menu items.
+
+ * gui/Makefile.am: build test-calendar-widget and evolution-calendar,
+ common stuff is in a library
+
+ * gui/gnome-cal.c (gnome_calendar_get_type): made the calendar widget
+ based on a gtk_frame rather than a gnome_app
+
+ * gui/calendar-commands.c: split out some of main.c
+
+ * gui/evolution-calendar-control.c: bonobo bung so evolution
+ can use the calendar widget
+
+2000-04-01 Matt Loper <matt@helixcode.com>
+
+ * pcs/.cvsignore: Added *.lo.
+
+2000-03-30 Seth Alves <alves@hungry.com>
+
+ * gui/main.c (calendar_get_events_in_range):
+ cal_client_get_events_in_range returns a list of CalObjInstance *, not
+ a list of (char *) uid.
+
+ * Makefile.am (SUBDIRS): readded the gui directory
+
+ * gui/main.c: temporarily added alarm_defaults back in,
+ since the calendar doesn't link without it
+
+2000-03-29 Matt Loper <matt@helixcode.com>
+
+ * Makefile.am: remove the gui directory, which doesn't compile.
+
+2000-03-28 Matt Loper <matt@helixcode.com>
+
+ * pcs/Makefile.am: create a libpcs.la library, for use in the
+ wombat.
+
+2000-03-28 Seth Alves <alves@hungry.com>
+
+ * gui/Makefile.am (LINK_FLAGS): added libeutil.la and libetext.a
+
+ * gui/main.c (calendar_iterate): switch from string_to_ical_object to
+ ical_object_find_in_string
+ (calendar_get_events_in_range): same
+ (session_save_state): commented out references
+ to gcal->client->filename
+
+2000-03-27 Federico Mena Quintero <federico@helixcode.com>
+
+ * pcs/cal-backend.c (cal_backend_get_object): Use
+ ical_object_to_string().
+
+ * cal-util/calobj.c (ical_object_to_string): Moved over from
+ pcs/cal-backend.c (was string_from_ical_object).
+ (get_calendar_base_vobject): Likewise, moved over from
+ pcs/cal-backend.c.
+
+ * cal-util/cal-util.c: Removed string_to_ical_object(); the
+ correct function is in calobj.[ch], called
+ ical_object_find_in_string(). Removed ical_object_to_string,
+ since we now implement it in calobj.c.
+
+ * cal-util/calobj.c: Removed ical_object_new_from_string(); see
+ above.
+
+ * idl/evolution-calendar.idl (CalObjInstance): Calendar object
+ instances now contain only the UID for the object, not the whole
+ string representation of the object. This allows clients to
+ implement caching of objects if they wish.
+
+ * pcs/cal.c (Cal_get_events_in_range): Likewise.
+
+ * pcs/cal-backend.c (build_event_list): Likewise.
+
+ * cal-client/cal-client.c (cal_client_get_events_in_range):
+ Likewise.
+
+ * cal-util/cal-util.h (CalObjInstance): Likewise.
+
+ * cal-util/cal-util.c (cal_obj_instance_list_free): Likewise.
+ (cal_obj_uid_list_free): Assert that the UIDs in the list are not
+ NULL.
+
+ * pcs/tlacuache.gnorba (repo_id): The calendar factory also
+ supports the Unknown interface.
+
+2000-03-17 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/e-day-view.c: Fix includes.
+ (e_day_view_on_delete_occurance): Do not call save_default_calendar().
+ (e_day_view_on_delete_appointment): Likewise.
+ (e_day_view_on_unrecur_appointment): Likewise.
+ (e_day_view_finish_long_event_resize): Likewise.
+ (e_day_view_finish_resize): Likewise.
+ (e_day_view_key_press): Likewise.
+ (e_day_view_on_editing_stopped): Likewise.
+ (e_day_view_on_top_canvas_drag_data_received): Likewise.
+ (e_day_view_on_main_canvas_drag_data_received): Likewise.
+
+2000-03-13 Damon Chaplin <damon@helixcode.com>
+
+ * gui/e-day-view*.[hc]: new files for the Day/Work-Week views.
+
+2000-03-12 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/main.c (gnome_calendar_locate): Removed function now that it
+ is no CORBA server in the GUI.
+ (save_default_calendar): Removed function. Now the personal
+ calendar server will take care of saving modified calendars when
+ appropriate.
+ (close_cmd): Do not call unregister_calendar_services().
+
+ * gui/eventedit.c (ee_ok): Do not save the calendar.
+
+ * gui/gncal-day-panel.c (day_view_range_activated): Likewise.
+
+ * gui/gncal-todo.c (ok_button): Likewise.
+ (delete_todo): Likewise.
+
+ * gui/gncal-full-day.c (delete_occurance): Likewise.
+ (delete_appointment): Likewise.
+ (unrecur_appointment): Likewise.
+ (child_focus_out): Likewise.
+ (update_from_drag_info): Likewise.
+
+ * gui/gnome-cal.c (gnome_calendar_new): Removed obsolete call to
+ create the CORBA server.
+
+ * gui/gnome-cal.h (GnomeCalendar): Renamed `calc' field to
+ `client'.
+
+ * cal-client/cal-client.h (CalClient): Removed filename and
+ corba_server fields.
+
+2000-03-10 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/main.c (main): Do not pass the INIT_SERVER flag to
+ gnome_CORBA_init_with_popt_table(). Check for exceptions
+ properly.
+ (main): Initialize Bonobo.
+ (main): Call process_dates() to parse the dates from the command
+ line before we dump the events or the TODOs.
+ (main): Use bonobo_main() instead of gtk_main().
+
+ * cal-util/calobj.c (ical_new): Initialize the alarm types here.
+ Do not call default_alarm() anymore, since that is a GUI issue.
+ (default_alarm): Removed function.
+ (alarm_defaults): Removed defaults data.
+
+ * pcs/tlacuache.c (calendar_notify): Removed stubs for
+ alarm_defaults, calendar_notify(), debug_alarms.
+
+2000-03-09 Federico Mena Quintero <federico@helixcode.com>
+
+ * gui/Makefile.am: Removed the corba-cal stuff. Commented out the
+ Pilot conduit stuff for now.
+
+ * gui/calendar.c: Random #ifdefs to make it build, although this
+ file is going away.
+
+ * gui/Makefile.am: Removed referenes to calobj.[ch] and timeutil.[ch].
+
+ * gui/calendar-conduit.c: Fixup includes.
+
+ * gui/calendar-conduit.h: Fixup includes.
+
+2000-03-09 Seth Alves <alves@hungry.com>
+
+ * gui/gnome-cal.h: replaced "Calendar *cal" with "CalClient *calc"
+ in the GnomeCalendar struct.
+
+ * gui/*.c: tracked change from Calendar * to CalClient
+
+ * gui/main.c: moved alarm_defaults from here to cal-util/calobj.c
+ (calendar_get_events_in_range): pulled this out of calendar.c and
+ fixed it up to use cal-client stuff. i'm not sure where to put it yet.
+
+ * gui/main.c (calendar_iterate): pulled this one out of calendar.c also
+
+2000-03-07 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client/Makefile.am: Removed cal-client-alarm.[ch] from the
+ list of sources. This was a miscommunication on our part.
+
+2000-03-05 Seth Alves <alves@hungry.com>
+
+ * cal-client/cal-client-alarm.c: stubs for client side
+ access to alarm structures. this will probably change,
+ since i don't know what i'm doing.
+
+ * cal-util/alarm-enums.h: enums for alarms needed by
+ both the client and the server
+
+ * remaining source files in calendar/... have been moved
+ to calendar/gui.
+
+ * gui/alarm.c: start to decouple the view from the model
+ in the alarm editing code
+
+2000-03-03 Seth Alves <alves@hungry.com>
+
+ * cal-util/Makefile.am: new file -- things shared between
+ the client and server go in this directory
+
+ * calobj.c calobj.h icalendar.c icalendar.h
+ timeutil.c timeutil.h cal-util.c cal-util.h where moved
+ backend stuff went into pcs. shared stuff went into
+ cal-util.
+
+2000-03-02 Federico Mena Quintero <federico@helixcode.com>
+
+ At this point the calendar client and personal calendar server
+ files were moved to the idl/, cal-client/, and pcs/ directories.
+
+ * idl/Makefile.am: New file.
+
+ * cal-client/Makefile.am: New file. Moved the libcal-client stuff
+ from calendar/Makefile.am to here.
+
+ * pcs/Makefile.am: New file. Moved the tlacuache stuff from
+ calendar/Makefile.am to here.
+
+ * Makefile.am (SUBDIRS): Added the idl and cal-client directories.
+
+ * calendar.h: Removed the references to cal-backend.h and its
+ stuff. This file is going away soon!
+
+ * icalendar.c: #include <config.h>. Also, we don't need to
+ include cal-backend.h or gnome.h.
+
+ * icalendar.h: Protect from multiple inclusions.
+
+2000-03-01 Federico Mena Quintero <federico@helixcode.com>
+
+ * Makefile.am: Use the gnome-config flags for orbit-idl.
+ Create a libcal-client library with the calendar client object.
+
+2000-02-29 Federico Mena Quintero <federico@helixcode.com>
+
+ * Makefile.am: Removed stale rule for the conduit.
+
+2000-02-21 Matt Loper <matt@helixcode.com>
+
+ * .cvsignore: Added *.lo.
+
+2000-02-19 Matt Loper <matt@helixcode.com>
+
+ * .cvsignore: Added tlacuache and tl-test.
+
+2000-02-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * Makefile.am (INCLUDES): Use BONOBO_VFS_GNOME_CFLAGS instead of
+ GNOMEUI_INCLUDES, as we use Bonobo and VFS.
+
+2000-02-17 Seth Alves <alves@hungry.com>
+
+ * cal-backend.h: moved CalendarFormat type def here
+
+ * cal-backend.c (cal_backend_load): if extension suggests
+ an ical file, attempt to load an iCal file.
+ (cal_get_type_from_filename): returns CAL_ICAL if file
+ extension is 'ics' or 'ifb', else returns CAL_VCAL
+ (icalendar_calendar_load): moved this here from
+ icalendar.c because it needs to call the static function
+ add_object.
+
+2000-02-17 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client.c (cal_client_remove_object): Implemented.
+
+ * cal.c (cal_notify_remove): Implemented.
+ (Cal_remove_object): Implemented.
+ (cal_get_epv): Fill in the remove_object field in the epv.
+
+ * cal-backend.c (cal_backend_remove_object): Implemented.
+ (notify_remove): New function to notify clients that an object was
+ removed.
+
+2000-02-16 Russell Steinthal <rms39@columbia.edu>
+
+ * calobj.[ch], eventedit.c, main.c: Change iCalObject.organizer
+ from char* to iCalPerson*
+
+ * calobj.[ch]: Change iCalObject.related from list of char* to
+ list of iCalRelation*; assorted related fixes
+
+ * icalendar.c: interface between libical and the gnomecal
+ internal representation
+
+2000-02-11 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client.c (cal_client_update_object): Implemented.
+
+ * cal.c (cal_notify_update): New function to notify the listener
+ about an updated object.
+ (Cal_update_object): Implemented.
+ (Cal_get_uids): set_release() the sequence to TRUE.
+ (Cal_get_events_in_range): Likewise.
+
+ * cal-backend.c (remove_object): New function to remove objects
+ from a calendar backend.
+ (cal_backend_update_object): New public function to update an
+ object and notify clients about it.
+
+ * evolution-calendar.idl (Cal): Added update_object() and
+ delete_object() methods.
+ (Listener): Removed the obj_changed method and renamed obj_added
+ to obj_updated. We now only have updated and removed notifiers.
+
+ * cal-listener.[ch]: Removed the "changed" notification code.
+ Changed the "added" notification code to the "updated"
+ notification.
+
+ * cal-client.c: Likewise.
+
+ * tlacuache.c (create_cal_factory): Connect to "destroy" on the
+ factory and exit the main loop when the factory is destroyed.
+
+ * cal-factory.c (backend_destroy_cb): New callback used when a
+ backend is destroyed. Removes the backend from the factory's hash
+ table and unrefs the factory if all backends go away.
+ (add_calendar_client): Free the environment.
+
+ * cal.c (cal_new): Use bonobo_object_unref() if we fail to
+ initialize.
+
+ * cal-listener.c (cal_listener_new): Likewise.
+
+ * layout.c (layout_events): Plug li.partition memory leak.
+
+2000-02-10 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-backend.c (cal_backend_add_cal): Connect to the Cal's
+ destroy signal.
+ (cal_backend_remove_cal): Killed function now that removal of Cal
+ objects is done in their destroy callback.
+ (cal_destroy_cb): New callback to remove a Cal from the backend's
+ list of clients. Also, the backend destroys itself when there are
+ no more clients connected to it.
+ (save): New placeholder function to save a backend.
+ (destroy): New function to destroy a backend's data.
+ (cal_backend_destroy): Save the calendar and destroy it.
+
+ * cal.c (cal_destroy): Reset the priv->backend to NULL.
+
+ * cal-factory.c (add_calendar_client): There is no need to call
+ cal_backend_remove_cal(); we can now just destroy the Cal object.
+ (create_fn): Make sure we always unref the URI.
+ (load_fn): Move the URI unref to the end of the function for
+ safety.
+
+ * cal-factory.c (add_calendar_client): Unref the Cal only if
+ notification of the listener was unsuccessful. Otherwise, the
+ calendar user agent (Listener side) keeps the reference.
+
+ * tl-test.c (list_uids): Free the calobj.
+
+ * cal-client.c (cal_loaded_cb): Use bonobo_object_unref() to get
+ rid of the listener.
+ (load_or_create): Likewise.
+ (destroy_factory): New function to get rid of the factory.
+ (destroy_listener): New function to get rid of the listener.
+ (destroy_cal): New function to get rid of the calendar client
+ interface object.
+ (cal_client_destroy): Free all resources.
+ (cal_client_get_object): CORBA_free() the calobj string. Boy, I
+ love memprof.
+
+ * cal-listener.c (cal_listener_destroy): Reset the priv->cal to
+ CORBA_OBJECT_NIL.
+
+ * cal-backend.c (cal_backend_remove_cal): Do not unref the Cal,
+ since the calendar user agent owns it.
+ (cal_backend_add_cal): Do not ref the Cal, since the calendar user
+ agent owns it.
+
+ * cal-factory.c (add_calendar_client): Use bonobo_object_unref()
+ to get rid of the calendar client interface object.
+
+ * calobj.c (ical_object_create_from_vobject): Duplicate the
+ default "PUBLIC" string.
+
+2000-02-09 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-factory.c (cal_factory_load): Added documentation comment.
+ (load_fn): Do not print a message if the backend could not be
+ loaded due to a non-fatal error.
+ (queue_load_create_job): Moved the stuff from cal_factory_load()
+ to here. Now this function serves to queue load or create
+ requests.
+ (cal_factory_load): Use queue_load_create_job().
+ (cal_factory_create): Implemented; use queue_load_create_job().
+ (create_fn): New job handler for creating new calendars.
+ (create_backend): New function to create a new backend with a new
+ calendar.
+ (add_backend): New helper function to add backends to the
+ factory's hash table.
+ (load_backend): Use add_backend() instead of adding the backend by
+ ourselves.
+
+ * cal-client.c (load_or_create): Moved the functionality from
+ cal_client_load_calendar() to here, and added an option to create
+ a new calendar instead of loading an existing one.
+ (cal_client_load_calendar): Use load_or_create().
+ (cal_client_create_calendar): Implemented.
+
+ * cal-backend.c (cal_backend_create): Implemented.
+
+ * evolution-calendar.idl (LoadStatus): Added an IN_USE error for
+ create requests.
+
+ * cal-listener.h (CalListenerLoadStatus): Added CAL_LISTENER_LOAD_IN_USE.
+
+ * cal-listener.c (Listener_cal_loaded): Convert the IN_USE error.
+
+ * cal-client.h (CalClientLoadStatus): Added CAL_CLIENT_LOAD_IN_USE.
+
+ * cal-client.c (cal_loaded_cb): Handle CAL_LISTENER_LOAD_IN_USE.
+
+ * tl-test.c: New test program for the calendar client side; it
+ also exercises the server side by sending commands to it.
+
+ * Makefile.am: Added the tl-test program.
+
+ * tlacuache.gnorba: Updated.
+
+ * tlacuache.c (create_cal_factory): Use the right GOAD id.
+
+ * cal-client.c (cal_client_construct): Use the right GOAD id.
+
+2000-02-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * evolution-calendar.idl (Cal): Added get_uids() method to get a
+ list of UIDs based on object types.
+
+ * cal-backend.c (cal_backend_get_uids): Implemented get_uids() in
+ the backend.
+
+ * cal.c (Cal_get_uids): Implemented get_uids() method.
+
+ * cal-client.c (cal_client_get_uids): Implemented client-side
+ function.
+
+ * cal-util.c (cal_obj_instance_list_free): Doh. Free the list,
+ not the last link.
+ (cal_obj_uid_list_free): New function to free a list of UIDs.
+
+ * GnomeCal.idl (Repository): Removed unused method
+ get_object_by_id_list(). This is just for cleanup purposes and to
+ remind me exactly of what needs to be moved over to
+ evolution-calendar.idl.
+ (Repository): Removed unused get_objects() method.
+
+ * corba-cal.c (init_calendar_repo_class): Removed the unused
+ get_objects method.
+
+ * calobj.h (CalObjFindStatus): New status value enumeration for
+ the find function.
+
+ * calobj.c (ical_object_find_in_string): New function to parse a
+ complete calendar and find a calendar object in it. This should
+ be used instead ical_object_new_from_string() in the future.
+
+ * evolution-calendar.idl (CalObjInstance): Added an uid field.
+ Now the idea is that whenever calendar object strings are passed
+ around, their UIDs are passed along with them so that the actual
+ object can be pulled from the whole VCAL object using its UID to
+ identify it.
+
+ * cal-util.h (CalObjInstance): Added uid field.
+
+ * cal-util.c (cal_obj_instance_list_free): Free the UIDs.
+
+ * cal-backend.c (build_event_list): Store the object's UID in the
+ instance structure.
+
+ * cal.c (Cal_get_events_in_range): Copy the UID field to the CORBA
+ structure.
+
+ * cal-client.c (cal_client_get_events_in_range): Copy the UID
+ field from the CORBA structure.
+
+ * main.c (gnome_cal_file_menu): Removed unfinished html-month stuff.
+
+ * Makefile.am (gnomecal_SOURCES): Removed html-month.c.
+
+ * gnome-cal.c: #include "alarm.h"
+ (mail_notify): Made static.
+
+ * alarm.h: #include "calobj.h"
+
+ * corba-cal-factory.h (init_corba_server): Fixed prototype.
+
+ * quick-view.c (create_items_for_event): Made static.
+
+ * gncal-todo.c (column_resized): Made static.
+
+ * layout.c (find_index): Made static.
+
+2000-02-08 Federico Mena Quintero <federico@helixcode.com>
+
+ * evolution-calendar.idl (CalObjInstance): New struct to wrap
+ instances of calendar objects for recurrencies and alarms.
+ (Cal::get_events_in_range): New method to get ocurring and
+ recurring events by time range.
+
+ * cal-backend.c (cal_backend_get_events_in_range): New function to
+ get a list of event instances in a time range.
+ (string_from_ical_object): New internal function.
+ (cal_backend_get_object): Use string_from_ical_object() instead of
+ doing everything ourselves.
+ (cal_backend_get_events_in_range): New function to get a list of
+ the events that occur or recur in a specified time range.
+
+ * cal-client.c (cal_client_get_events_in_range): Implemented
+ client-side function.
+
+ * cal-util.h:
+ * cal-util.c: New files with utilities and types common to the
+ client and server parts.
+ (CalObjInstance): New structure to hold an instance of an actual
+ occurrence, recurrence, or alarm trigger of a calendar object.
+ (cal_obj_instance_list_free): New function to free a list of
+ calendar object instances.
+
+ * cal.c (Cal_get_events_in_range): Implemented new method.
+
+ * corba-cal.c (cal_repo_get_updated_objects): Free `str' with
+ free(), not g_free(), since calendar_get_as_vcal_string() uses
+ writeMemVObject(), which uses realloc(). Fixed in gnome-pim as
+ well.
+
+2000-02-04 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-backend.c (get_calendar_base_vobject): New function to
+ create the base VObject for a calendar.
+ (cal_backend_get_object): Create the base calendar and add the
+ sought object to it, then stringify it.
+
+ * evolution-calendar.idl (Listener::obj_added
+ Listener::obj_changed): Now these pass in just the UIDs, not the
+ complete objects.
+
+ * cal-listener.c (Listener_obj_added): Changed to pass in the uid,
+ not the object.
+ (Listener_obj_changed): Likewise.
+
+ * cal-client.h (CalClientClass): Made the obj_added and
+ obj_changed signals take in the UIDs, not the full objects.
+
+ * cal-client.c (obj_added_cb): Likewise.
+ (obj_changed_cb): Likewise.
+
+2000-02-04 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-backend.c (CalBackendPrivate): Renamed the event_hash field
+ to object_hash. Now we hash all the calendar's objects here based
+ on their UIDs.
+ (ensure_uid): New function to create UIDs for calendar objects
+ that don't have them.
+ (add_object): Ensure the object has an UID before inserting it in
+ the calendar.
+ (cal_backend_get_object): New function.
+
+2000-02-03 Federico Mena Quintero <federico@helixcode.com>
+
+ * evolution-calendar.idl (Cal): Added the get_object() method.
+
+ * cal-client.c (cal_client_get_object): New function to get a
+ calendar object by its UID.
+
+ * cal.c (Cal_get_object): Implemented.
+
+ * cal-backend.c (cal_backend_get_object): New unfinished backend
+ function. We need some reorganizing of how the calendar objects
+ are stored.
+
+2000-02-02 Federico Mena Quintero <federico@helixcode.com>
+
+ * Makefile.am (gnomecal_SOURCES): Added the CORBA generated
+ sources.
+
+2000-02-01 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client.c (cal_loaded): Handle the cal_loaded signal from the
+ listener. Store the calendar client interface object, and emit
+ our own cal_loaded signal.
+ (cal_client_load_calendar): Connect to the listener's signals.
+ (cal_client_class_init): Added the "obj_added", "obj_removed",
+ öbj_changed" signals.
+ (obj_added_cb): Handle the signal from the listener.
+ (obj_removed_cb): Likewise.
+ (obj_changed_cb): Likewise.
+
+2000-01-30 Federico Mena Quintero <federico@helixcode.com>
+
+ * Makefile.am (gnomecal_SOURCES): Added cal-client.[ch] and
+ cal-listener.[ch].
+
+2000-01-30 Federico Mena Quintero <federico@helixcode.com>
+
+ * evolution-calendar.idl: Changed the namespace from
+ GNOME::Calendar to Evolution::Calendar.
+ (Listener::LoadStatus): Fixed SUCESSS -> SUCCESS typo. And I
+ never noticed it in the implementation. Ain't M-/ grand?
+
+ * Makefile.am: Changed ocurrences of gnome-calendar.idl to
+ evolution-calendar.idl.
+
+ * *.[ch]: Changed GNOME_Calendar_foo identifiers to
+ Evolution_Calendar_foo.
+
+2000-01-25 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-client.c cal-client.h: New files with the calendar client
+ object.
+
+2000-01-25 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-factory.c (CalFactory_load): Check that the listener is not
+ nil and emit and exception if it is.
+
+ * gnome-calendar.idl (CalFactory::load CalFactory::create): Now
+ these raise the NilListener exception.
+
+ * tlacuache.c (calendar_notify): Error stub for alarms.
+ (alarm_defaults): Stub array.
+ (debug_alarms): Stub variable.
+ (main): Initialize gnome-vfs.
+
+2000-01-24 Federico Mena Quintero <federico@helixcode.com>
+
+ * tlacuache.c: New main module for the Tlacuache personal calendar
+ server.
+
+ * tlacuache.gnorba: New gnorba file for Tlacuache, the GNOME
+ personal calendar server.
+
+ * Makefile.am: Added the stuff necessary to build Tlacuache.
+
+ * cal.c (Cal_get_uri): Convert the URI to a string before
+ returning it.
+
+ * cal-factory.c (CalFactory_create): Doh, this function is void.
+
+ * job.c (job_add): Use g_idle_add(), not gtk_idle_add().
+
+2000-01-24 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-backend.c (cal_backend_remove_cal): New function to remove a
+ calendar client interface object from a backend.
+ (cal_backend_load): Convert the URI to string and use
+ Parse_MIME_FromFileName(). The conversion is not very smart,
+ though.
+
+ * cal-factory.c (load_backend): Moved most of the error handling
+ upstream to load_fn().
+ (load_fn): Handle failure in case the backend could not be loaded.
+ (cal_factory_destroy): Free the backends and the backend hash
+ table.
+ (add_calendar_client): Implemented. We create a Cal client
+ interface object and attach it to the backend, and we notify the
+ listener.
+
+2000-01-22 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-factory.c (lookup_backend): Renamed from lookup_calendar().
+ Also, return a backend instead of a Cal client object.
+
+ * cal-backend.c (cal_backend_load): Take in a GnomeVFSURI, not a
+ string.
+
+ * cal-listener.c (Listener_cal_loaded): Pass the load status to
+ the signal.
+ (cal_listener_destroy): Better error checking.
+ (cal_listener_new): Better error checking.
+
+ * cal-listener.h (CalListenerLoadStatus): New enum for the load
+ status of a calendar.
+ (CalListenerClass): Added the status argument to the cal_loaded
+ signal.
+
+ * gnome-calendar.idl (cal_loaded): Added a load status code.
+
+ * cal-backend.h (CalBackendLoadStatus): Renamed from
+ CalBackendLoadResult.
+
+2000-01-18 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-backend.c cal-backend.h: Moved the calendar backend here.
+ This is the actual calendar-handling object.
+ (load_from_vobject): Moved over from calendar.c. Modified to use
+ a CalBackend instead of the old Calendar structure.
+ (add_object): Likewise.
+
+ * cal.c: Now the Cal object is just a calendar client interface
+ object; we use it as a "viewport" onto a CalBackend. This also
+ lets us do correct resource management.
+
+ * cal-common.h: New file with common forward declarations; we
+ can't have circular dependencies between headers.
+
+2000-01-18 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal-factory.c (cal_factory_load): Queue a load job.
+ (load_fn): Load job handler. Lookup the calendar by URI, load it
+ if it is not loaded, or just report it to the new listener if it is.
+
+ * job.c job.h: New files with a simple job queue manager.
+
+ * gnome-calendar.idl (Listener::cal_loaded): Do not return the
+ whole calendar object string. The client will be able to query
+ the calendar for the events it needs.
+
+ * cal-listener.c (Listener_cal_loaded): Ref the calendar GNOME
+ object. We unref it when the listener is destroyed.
+
+2000-01-17 Federico Mena Quintero <federico@helixcode.com>
+
+ The files from the gncal directory of the gnome-pim module on CVS
+ were moved here, to evolution/calendar, in preparation for the
+ Evolution work. The calendar is being split into a model/view
+ architecture. The model is a personal calendar server (PAS): it
+ provides storage, notification, and event generation; the
+ views/controllers are the calendar user agents and things like
+ Pilot synchronizers.
+
+2000-01-11 Federico Mena Quintero <federico@helixcode.com>
+
+ * cal.c: Removed the CORBA listener methods, adjusted for the new
+ IDL.
+
+ * cal-listener.c (cal_listener_init): Create the private
+ structure. In it we hold a reference to the calendar the listener
+ is watching.
+ (cal_listener_destroy): Destroy the private structure and unref
+ the calendar.
+ (Listener_cal_loaded): Stuff the calendar into our private data.
+ (Listener_obj_added): Adjusted for new IDL.
+ (Listener_obj_removed): Likewise.
+
+ * gnome-calendar.idl: New IDL for the personal calendar server.
+
+ * cal.h cal.c: New files with the calendar object.
+
+ * cal-listener.h cal-listener.c: New files with the calendar
+ listener object.
+
+ * cal-factory.h cal-factory.c: New files with the calendar factory
+ object.
+
+2000-01-09 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * Makefile.am: Changes to remove todo capplet stuff from distro.
+
+2000-01-08 Vadim Strizhevsky <vadim@optonline.net>
+
+ * calendar-conduit-control-applet.c: Added pilotID argument to
+ gpilotd_conduit_mgmt_new.
+
+
+2000-01-05 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * GnomeCal.idl: Added an argument to get_number_of_objects, so you
+ can choose which state the object should have
+ (any/new/modified/...). Will also add one to choose type
+ (event/journal etc).
+
+ * corba-cal.c (cal_repo_get_number_of_objects): Implemented the
+ new version of get_number_of_objects.
+
+ * calendar-conduit.c (pre_sync): Calls various
+ gnome_pilot_conduit_standard_abs_set_num_yadayda to get progress bars.
+
+2000-01-04 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * calendar-conduit.c (start_calendar_server): Let's not call
+ g_error, but g_warning instead.
+ (pre_sync): Get record numbers info, total, new, deleted etc, and
+ tell gpilotd.
+
+1999-12-31 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * eventedit.c (ee_store_recur_end_to_ical): Adds 86400 secs (1
+ day) to the date chooses by the user. This ensures the recurrence
+ also occurs on that date.
+ (ee_rp_init_ending_date): And subtracts 86400 secs when about to
+ redisplay the box.
+
+ * calendar.h: Added an argument to calendar_new, to enable certain
+ features, such as initing alarms or nor.
+
+ * calendar.c (calendar_new): Implemented support for the
+ CALENDAR_INIT_ALARMS option to calendar_new.
+
+ * corba-cal.c (cal_repo_get_updated_objects): Added
+ CALENDAR_INIT_ALARMS to calendar_new calls.
+
+ * main.c: Added CALENDAR_INIT_ALARMS to calendar_new calls. This
+ should probably be CALENDAR_INIT_NIL, but I'm not sure, guess
+ steintr should check it.
+
+ * gnome-cal.c: Added CALENDAR_INIT_ALARMS to calendar_new calls.
+
+ * calendar-pilot-sync.c: Added CALENDAR_INIT_NIL to calendar_new calls.
+
+1999-12-10 Russell Steinthal <rms39@columbia.edu>
+
+ * eventedit.c (ee_create_ae): Fix sensitivity bug when used to
+ create default alarm box (widgets in that box should always be
+ sensitive, even if the enabled checkbutton is not set)
+
+1999-12-08 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * calendar-conduit-control-applet.c (setSettings): Capplets now
+ sets first_sync on enable, this should make the conduit copy old
+ entries from the pilot to gnomecal.
+
+1999-12-07 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * calendar-conduit.c (pre_sync): Check if local store is
+ empty. If, force slow sync.
+
+ * GnomeCal.idl (GNOME): Added get_number_of_objects.
+
+ * corba-cal.c (cal_repo_get_number_of_objects): implemented the
+ get_number_of_objects.
+
+ * calendar-conduit-control-applet.c (setStateCfg): Fixed bug that
+ caused the capplet to always set the sync action to Disable upon start.
+
+1999-12-05 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * Makefile.am (Conduits_second_DATA): Also install .desktop files
+ for conduit capplets in the gnome/apps menu dir.
+
+1999-12-04 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * Makefile.am (EXTRA_DIST): Added .desktop files to EXTRA_DIST.
+
+1999-10-12 Clifford R. Conover <rusty@zootweb.com>
+
+ * gncal-todo.c Todo List improvements.
+
+ Cleaned up todo item highlighting, added support for highlighting
+ events due today, and events not due yet. Colors are configurable
+ on the Colors Tab of the properties window.
+
+ Renamed Frame in Properties window to Colors rather then Month
+ Colors since we are now asking for Todo item colors.
+
+ Added ability to display time until todo item is due in list, it
+ automatically selects the best denomination of time (up to weeks)
+ and down to seconds to display. This should be made configurable
+ in a future version.
+
+ Changed Todo dialog to ask for time that event is due. This
+ allows more accurate tracking of then the item is due, before the
+ dialog was only asking for the date of the todo item.
+
+1999-12-03 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * calendar-conduit.c: undef DEBUG_CALCONDUT, suppresses debug output.
+
+1999-12-02 Russell Steinthal <rms39@columbia.edu>
+
+ * alarm.c: Enhanced debug support: can be toggled on and off by
+ SIGUSR1, reports alarms which could not be added
+
+ * gnome-cal.c, main.[ch], prop.c: Add snooze capability for audio
+ and display alarms. Snooze interval can be configured in the
+ Properties box.
+
+1999-11-30 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * calendar-conduit.c (compare): Fixed compare bug. Also neated up
+ some of the if's in set_status.
+
+1999-11-22 Russell Steinthal <rms39@columbia.edu>
+
+ * Merged todo list coloring patch from stable
+ * Added myself to AUTHORS, about box (per Miguel)
+
+1999-11-22 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * calendar-conduit.c (pre_sync): Writes some warning
+ messages when pre_sync fails.
+
+1999-11-14 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * Makefile.am: Stupid misplaced endif cause gncal to depend on an
+ install gnome-pilot... fixed... sorry.
+
+1999-11-12 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * Makefile.am (extra_pilot_bins): Fixed the if then else problem,
+ using solution suggested by James Henstridge, appears to be caused
+ by a (by now fixed) bug in my automake.
+
+1999-11-12 Russell Steinthal <rms39@columbia.edu>
+
+ * prop.c: Config code for timeout, make Alarms property page use a
+ vbox instead of an hbox so that the propbox stays a reasonable width.
+
+ * gnome-cal.c, main.[ch]: Add timeout for audio alarms, code to load
+ from config file
+
+ * eventedit.c: Give some static functions external linkage so they
+ can be used elsewhere (make_spin_button); add some prototypes to
+ appease gcc.
+
+1999-11-11 Russell Steinthal <rms39@columbia.edu>
+
+ * calendar.c (calendar_day_change): Add call to
+ calendar_init_alarms() to schedule another day change alarm.
+
+1999-11-09 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * calendar-conduit.c: Enabled debug output. Sets a g_log_domain,
+ now version 0.8.5. Consistent use of GSList/GList. Implemented
+ compare, default uses one that compares the contents of a struct
+ Appointment, but also has #ifdeffed code that does a field level
+ comparison, not complete, but perhaps educational.
+
+ * Makefile.am (#todo_conduit_control_applet_SOURCES): Fixed an
+ unwanted conditional on libcalendar_conduit_la_LDFLAGS
+
+1999-11-05 Eskil Heyn Olsen <deity@eskil.dk>
+
+ * calendar-conduit-control-applet.c (readStateCfg): Commented the
+ code out, thus the capplet works again.
+
+1999-11-04 Eskil Olsen <deity@eskil.dk>
+
+ * Makefile.am: Uses the PISOCK_LIBDIR, for people with odd install
+ dirs for their pilot-link. Also install a pretty icon for the
+ calendar-conduit.
+
+ * calendar-conduit-control-applet.c: Modfied the
+ try/revert/ok/cancel scheme to be more intuitive, also uses a
+ GtkOptionMenu for the possible sync methods.
+
+ * calendar-conduit-control-applet.desktop: use the nice icon...
+
+ * calendar-conduit.c: Ack, had to define debug_alarms and
+ alarm_default, otherwise they are undefined. Is gncal code messy
+ or is this considered a way of configuring the cal engine ?
+ Implemented delete_all syncabs methods.
+
+ * calendar-pilot-sync.c: also had to declare debug_alarms and
+ alarm_defaults, just as ugly.
+
+1999-11-02 Russell Steinthal <rms39@columbia.edu>
+
+ * prop.c: Add new alarm page to properties box
+
+ * prop.c, calobj.c, main.[ch] eventedit.c: New support for default
+ alarms, configurable in the properties box.
+
+ * gnome-cal.c, prop.c, main.[ch]: add option to beep on Display
+ alarms
+
+1999-10-23 Russell Steinthal <rms39@columbia.edu>
+
+ * calendar.c (calendar_new): Correctly initialize calendar_day_end
+ and calendar_day_begin *before* installing day-change alarm.
+
+1999-10-21 Russell Steinthal <rms39@columbia.edu>
+
+ * alarm.c, main.c: Added alarm debugging code
+
+ * main.c (open_ok): Show an error box if the user tries to open a
+ non-existent file; fixes bug #1818
+
+1999-10-19 Russell Steinthal <rms39@columbia.edu>
+
+ * gnome-cal.c (calendar_notify): Fix typos which were causing
+ invalid times in audio notification dialogs; fixes Bug #2561
+
+1999-10-18 Russell Steinthal <rms39@columbia.edu>
+
+ * gncal-day-panel.c (gncal_day_panel_new): Placed the various
+ elements of the day view in paned windows so that the user can
+ adjust the relative sizes of the daily schedule, monthly calendar,
+ and to-do list.
+
+1999-10-18 Martin Norbäck <norpan@bigfoot.com>
+
+ * gncal.desktop: Added swedish translation
+
+1999-10-13 Eskil Olsen <deity@eskil.dk>
+
+ * Makefile.am: Hopefully the fixes the much-hated
+ gnome-pilot dependency.
+
+1999-10-07 Eskil Olsen <deity@eskil.dk>
+
+ * calendar.c (calendar_object_changed): moved the pilot_status =
+ MOD up, so even a CHANGE_SUMMARY will set the modified flag.
+
+ * calendar-conduit.c: more _free calls, vamped the noise on output.
+
+1999-10-06 Eskil Olsen <deity@eskil.dk>
+
+ * *conduit*[ch]: checks return values from gpilotd_init/connect.
+
+ * calender.c (vcalendar_create_from_calendar): removed a set
+ of cleanVObject cleanStrTbl, since the freed memory that the
+ function returned.
+
+1999-09-27 Timur Bakeyev <mc@bat.ru>
+
+ * timeutil.c (time_from_isodate): Use tm.gmtoff or timezone to get
+ correct offset from UTC, according to HAVE_TM_GMTOFF or HAVE_TIMEZONE.
+ See also 1999-07-19 Matt Martin <matt@abacusnet.net>
+
+1999-09-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * month-view.c (add_event): ditto
+ (mark_current_day): ditto
+ (month_view_set): ditto
+
+ * goto.c (goto_dialog): ditto.
+
+ * gnome-month-item.c (gnome_month_item_init): ditto.
+
+ * gncal-day-panel.c (gncal_day_panel_new): ditto.
+
+ * getdate.c (RelativeDate): ditto.
+
+ * eventedit.c (set_all_day): ditto.
+ (ee_rp_init_rule): ditto.
+
+ * calendar.c (vcalendar_create_from_calendar): ditto.
+
+ * calendar-conduit.c (update_record): ditto.
+
+ * calobj.c (ical_object_generate_events): Get rid of pointers to
+ values returned from localtime, as it uses a static buffer.
+
+1999-09-26 Eskil Olsen <deity@eskil.dk>
+
+ * corba-cal.c: the g_free that was commented out since glib said
+ was a duplicate free, was supposed to be a free.
+
+ * GnomeCal.idl/corba-cal.c: added a get_object_id_list and a
+ get_objects_by_id_list. Latter is not done.
+
+ * calendar-conduit.c: rewrote the way the conduit iterates over
+ records. It no longers fetches all entries (since that didn't work
+ with more then 285 entries. It now fetches the id list, and gets
+ each record. (will be using get_objects_by_id_list to get records
+ in amounts of 10 or so later, to reduce amount of corba calls).
+
+ * calendar-conduit.c: now sets alarm parameters when transferring
+ from gnomecal to pilot.
+
+1999-09-23 Eskil Olsen <deity@eskil.dk>
+
+ * calendar-conduit.c: better merge of summary/description
+ when doing ical_from_remote (update_record), also handles
+ import from gnomecal to pilot better, and on both ways, repeat
+ events are much better now.
+
+1999-09-22 Eskil Olsen <deity@eskil.dk>
+
+ * corba-cal.c: commented out a g_free that glib reported
+ as being a duplicate free.
+ * calendar-conduit.c: got gnomecal->pilot up and runnning.
+
+1999-02-06 Lauris Kaplinski <lauris@ariman.ee>
+
+ * gncal.desktop: Added Estonian translations.
+
+1999-09-14 Federico Mena Quintero <federico@redhat.com>
+
+ * gncal-full-day.c (child_popup_menu): Set the data pointers for
+ all the items.
+
+1999-09-14 Kjartan Maraas <kmaraas@online.no>
+
+ * doc/C/gnomecal.sgml: Merge from gnome-pim-1-0. Synced with newest
+ user-guide.
+
+1999-09-01 Miguel de Icaza <miguel@gnu.org>
+
+ * eventedit.c (ee_create_buttons): Make the OK button the default
+ button per Russell's suggestion.
+
+1999-08-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calendar.c (calendar_object_changed): Modify the
+ object->last_mod field.
+ (calendar_add_object): Ditto.
+
+ Closes bug #676
+
+ * main.c (save_calendar_cmd): Fix problem in which we warned the
+ user about the calendar being modified the first time the calendar
+ was used.
+
+1999-08-22 Tomas Ogren <stric@ing.umu.se>
+
+ * gnomecal.gnorba: "GenericFactoy" is wrong...
+
+1999-08-15 Miguel de Icaza <miguel@gnu.org>
+
+ * calobj.c (ical_gen_uid): Fix the hostname part.
+
+1999-08-07 Peter Teichman <pat4@acpub.duke.edu>
+
+ * calendar-pilot-sync.c (sync_pilot): sync correctly for objects
+ created on the pilot, but not dirty (because they have been synced
+ with some other program in the past)
+
+1999-07-30 Miguel de Icaza <miguel@gnu.org>
+
+ * month-view.c (month_view_init): Release points here.
+
+1999-08-02 Peter Teichman <pat4@acpub.duke.edu>
+
+ * Makefile.am (libcalendar_conduit_la_LDFLAGS):
+ libcalendar_conduit now installs
+
+ * calendar-pilot-sync.c (sync_pilot): do deletion of appointments
+ correctly, when they are deleted on the pilot
+ (conduit_free_Appointment): protect against double-freeing parts
+ of the Appointment structure
+ (update_record): all-day events from the pilot are handled a bit
+ more reasonably
+
+1999-08-01 Peter Teichman <pat4@acpub.duke.edu>
+
+ * calendar-pilot-sync.c (sync_object_to_pilot): The multi-day
+ appointment corruption bug is dead. Whoo!
+
+1999-07-31 Peter Teichman <pat4@acpub.duke.edu>
+
+ * Makefile.am: fixed this up slightly with respect to pilot conduits
+
+1999-07-30 Jonathan Blandford <jrb@redhat.com>
+
+ * Makefile.am (libcalendar_conduit_la_LIBADD): More autoconf-stuff
+
+1999-07-29 Jonathan Blandford <jrb@redhat.com>
+
+ * gnome-cal.c (setup_widgets): Add scrolling to the yearview.
+
+1999-07-28 Miguel de Icaza <miguel@gnu.org>
+
+ * calendar-pilot-sync.c: (sync_object_to_pilot): If the enddate is
+ not set, set the repeatForever to 1. This fixes all of the
+ birthdays problems I had.
+
+ Make the code not take arguments
+ (sync_cal_to_pilot): Nice event update information
+
+ * calendar.c (calendar_new): Add Event UID hash table.
+ (calendar_add_object): Add events to the hash table here.
+ (calendar_remove_object): Remove events here.
+ (calendar_object_find_event): Use the hash table here.
+
+ * main.c (save_calendar_cmd): The object is already destroyed by
+ gnome_dialog_run.
+
+ * calendar-pilot-sync.c (sync_object_to_pilot): Do not turn
+ archived bit on.
+
+ * calobj.c (ical_gen_uid): Use the hostname, not the domain name.
+ (ical_gen_uid): Add a serial number. Isodates can be small.
+
+ * corba-cal.c (cal_repo_update_pilot_id): New method to update the
+ pilot status.
+ (cal_repo_get_updated_objects): New method. Returns a list of
+ modified and not-sycned objects
+
+ * calendar-pilot-sync.c (sync_cal_to_pilot): New function to sync
+ from the GnomeCalendar to the pilot.
+ (sync_object_to_pilot): Sync a single event to the pilot.
+ (try_alarm): Alarm syncing code.
+
+1999-07-27 Miguel de Icaza <miguel@gnu.org>
+
+ * calendar-pilot-sync.c: New file. Implements PalmPilot
+ syncronization with the Gnome Calendar.
+
+ * calobj.c (ical_object_new_from_string): New function. Creates
+ an iCalObject from a vCalendar string that is supposed to contain
+ only one vEvent.
+
+ * calendar.c:
+ (calendar_save): Split this routine in two.
+
+ * gnome-cal.c (gnome_calendar_new): Create the corba server here.
+
+ * main.c: Include gnorba.h, and corba-cal-factory.h here
+ (close_cmd): Kill the calendar server on shutdown.
+
+ * calobj.c (load_recur_yearly_day): Added a fixme comment. WE
+ need to handle intervals in the years.
+
+ * calendar.c (calendar_object_find_in_list, calendar_object_find,
+ calendar_object_find_todo, calendar_object_find_event): New
+ functions for looking up information.
+
+ * main.c (gnome_calendar_locate): New function.
+
+ * corba-cal.c (calendar_create_object): New file. Implements the
+ corba server.
+
+ * calendar.c (calendar_object_changed): Flag pilot-status as changed.
+
+ * calobj.c (ical_object_to_vobject): Save pilot information for syncing.
+ (ical_object_create_from_vobject): Load syncing information for
+ pilot. Do it in a way compatible with KOrganizer.
+
+1999-07-26 Miguel de Icaza <miguel@gnu.org>
+
+ * calobj.c (ical_object_create_from_vobject): Generate unique IDs
+ on Vevents we load that lack it. WE need this for the old
+ gnome calendar generated files (ie, before now :-).
+
+ Required to sync with the Palm
+
+1999-07-26 Miguel de Icaza <miguel@gnu.org>
+
+ * calobj.c (ical_object_create_from_vobject): Generate unique IDs
+ on Vevents we load that lack it. WE need this for the old
+ gnome calendar generated files (ie, before now :-).
+
+ Required to sync with the Palm
+
+1999-07-19 Matt Martin <matt@abacusnet.net>
+
+ * timeutil.c (time_from_isodate): Handle the 'Z' parameter to the
+ ISO date format to convert from GMT time.
+
+1999-07-17 Nat Friedman <nat@gnome-support.com>
+
+ * calendar.c (calendar_add_object): Copy the new UID into the
+ iCalObject structure.
+
+1999-07-16 Miguel de Icaza <miguel@gnu.org>
+
+ * gnome-month-item.c (gnome_month_item_set_arg): Merge fix from
+ gnome-pim-1-0: Fixed cut&paste bug for day fontsets.
+
+1999-07-14 Miguel de Icaza <miguel@gnu.org>
+
+ * calobj.c (ical_gen_uid): Returns a UID.
+ (ical_object_new): Use a UID when creating an event. Should get
+ syncing done easier.
+
+1999-07-14 Nicholas J Kreucher <nick@poetic.com>
+
+ * calobj.c (skip_numbers): Actually skip over the numbers.
+ (ical_object_to_vobject): Test the proper variable for storing the
+ proper information.
+
+1999-07-14 Jean-Noel Guiheneuf <jean-noel.guiheneuf@wanadoo.fr>
+
+ * timeutil.c (time_add_month): Fixed the problem with next month
+ going from a 31-day to a 30-day by adjusting the date to the
+ closest day at the end of the month.
+
+1999-06-07 Mike McEwan <mike@lotusland.demon.co.uk>
+
+ * timeutil.c (time_add_month): Tell ktime' that we don't know
+ about daylight saving time so that it does *not* make adjustments
+ when we traverse a DST boundary.
+ (time_year_begin): ditto.
+ (time_year_end): ditto.
+ (time_month_begin): ditto.
+ (time_month_end): ditto.
+
+1999-06-16 Anders Carlsson <anders.carlsson@tordata.se>
+
+ * main.c (new_calendar): Realize the toplevel widget when
+ --hidden is passed to gnomecal. This fixes a segfault.
+
+1999-06-04 Robert Brady <rwb197@ecs.soton.ac.uk>
+
+ * gnome-cal.h, gnome-cal.c: Fix abort() problem with the year view.
+ (Bug #1367). Thanks to Owen Cliffe <oc197@ecs.soton.ac.uk> for
+ helping track it down.
+
+1999-06-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c (daynumberlist): One line bug fix from Sergey I Panov.
+
+1999-06-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * view-utils.c (nicetime): Use %H instead of %k, as %k is a GNU
+ extension, not available in other systems.
+
+1999-06-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c (daynumberlist): Work around broken software that
+ writes a broken month-of-day as "zero". Use the dtstart date for
+ this on this event.
+
+1999-05-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * Makefile.am (install-data-local): help files be gone. They are
+ now installed from the Docbook stuff.
+
+1999-05-26 Russell Steinthal <steintr@condor.penguinpowered.com>
+
+ * gncal-todo.c main.c main.h prop.c: Added support for priorities
+ for todo items. Doesn't do much, but you can set them and sort by
+ them. (Use the properties box to enable them; should they be on
+ by default?)
+
+1999-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * main.c (parse_an_arg): Added missing break here. It was causing
+ core dumps when invoked with --userfile.
+
+ * gnome-cal.c (gnome_calendar_set_view): Add some assertions here,
+ to pin point the bug reported on gnome-list.
+
+ * calobj.c (load_recurrence): Make intervals always exist. a 0
+ interval is wrong.
+
+1999-05-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * year-view.c: Removed unused macro CALENDAR_HEIGHT.
+
+1999-05-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * year-view.c (idle_handler): Set the canvas scroll region here,
+ not in size_allocate(). Also, use the correct width and height
+ based on the allocation and the precomputed minimum width/height
+ values.
+
+ * gnome-cal.c (setup_widgets): Set the scrollbar policy of the
+ scrolled window.
+
+ * main.c (setup_appbar): Use the correct type for the appbar.
+
+ * gncal-day-view.c: Removed unused function switch_to_day().
+
+ * gncal-day-panel.c (calendar_day_selected): Removed unused variable.
+
+1999-05-25 Nat Friedman <nat@nat.org>
+
+ * doc/C/gnomecal.sgml: Fixed a typo.
+
+ * gnome-cal.c (setup_widgets): Added a scrolled window widget into
+ which the year view is placed.
+
+ * year-view.c (CALENDAR_HEIGHT): The height of the total year view
+ inside the scrolled window.
+ (idle_handler): Set the height of the year view to
+ CALENDAR_HEIGHT.
+ (year_view_size_allocate): Set the scroll region of the year view
+ canvas to allocation->width, CALENDAR_HEIGHT.
+
+1999-04-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * main.c (dump_todo): Add --todo flag to dump the todo contents.
+
+1999-04-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-todo.c (add_activated): Use same hack used in edit_activated
+
+1999-04-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-todo.c (edit_activated): Kill all grabs from the CList
+ before running the new dialog box.
+
+ This fixes the problem of button-3/Edit on the todo item blocking
+ the GUI (actually, the main window responds, but not the todo
+ window).
+
+1999-04-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-todo.c (gncal_todo_init): Make sure we can get events for
+ button3. The code for the nice popup menu was there but was not
+ getting invoked.
+
+1999-04-01 Steve Murphy <murf@e-tools.com>
+
+ * calobj.c (weekdaynum): Added this routine so Monthly recurrences
+ use the weekday field as a simple integer for a single weekday.
+
+ * calobj.c (load_recur_monthly_pos): Call weekdaynum instead of
+ weekdaylist. The interface only lets the user input a single value
+ anyway.
+
+ * calobj.c (ical_object_to_vobject): instead of code to output day
+ names from a bit array, use instead the value as an int and output
+ a single dayname.
+
+ * calobj.c (ical_object_generate_events): first_week_day gets the
+ day int instead of the first entry in the bit field. I inserted a
+ fair chunk of code to avoid calling generate if the day is out of
+ range for a month. It may be unneccessary, because mktime will
+ turn the extra days into a valid date the next month. But not all
+ mktimes are equal, I fear.
+
+ * eventedit.c (ee_store_recur_rule_to_ical): For case 3,
+ (Monthly), I added code to set the interval slot of the recur
+ struct; without this value, selecting a monthly recursing, by
+ date, would lead to an infinite loop broken only by a failure to
+ alloc more memory. Also, in the "by position" case, both
+ u.month_pos and u.month_day were being assigned values. This is a
+ mistake, as they are both part of an union, and the same
+ thing. The weekday field should get the recur_rr_month_weekday
+ value.
+
+ * eventedit.c (ee_rp_init_rule): set default day from the weekday
+ field instead of the u.month_day field, which is really the
+ month_pos value.
+
+ * gnome-cal.c (gnome_calendar_tag_calendar): Month days start with
+ 1, not 0; thus, setting tm.tm_mday = 0, and then calling mktime
+ will generate a time corresponding to the end of the previous
+ month, which may have a mday anywhere from 28 to 31. The end time
+ just adds 1 to the month, so your end time may not cover the last
+ few days of this month, depending on what the biggest mday of last
+ month was. I changed it so tm_mday is set to 1 instead.
+
+1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-todo.c (convert_time_t_to_char): Made static. Make it use
+ the full year format for strftime().
+
+1999-03-27 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * calobj.c: Include <config.h> So that strings get translated.
+
+1999-03-26 Tomas Ogren <stric@ing.umu.se>
+
+ * prop.c (build_hours_menu): Made it respect 12/24h settings..
+ Doesn't show until next time you open the dialog.. yet..
+
+1999-03-24 Tomas Ogren <stric@ing.umu.se>
+
+ * gncal-week-view.c (gncal_week_view_set): Did some i18n work
+ * eventedit.c (get_exception_string): Did some i18n work
+
+1999-03-24 Tomas Ogren <stric@ing.umu.se>
+
+ * gncal-todo.c (gncal_todo_init): Made clist titles i18n:able
+ * main.c (poptOption): Added which views that are possible for
+ --view in the --help text (closes #367)
+ * main.c (dump_events): Added (short) month to the strftime and made
+ the strings i18n:able
+
+1999-03-23 Tomas Ogren <stric@ing.umu.se>
+
+ * gncal/calobj.c: Added 2 paranthesis..
+ "foobar = d / 60*60" is _NOT_ the same as "foobar = d / (60*60)"
+ which caused heavy alarm-corruption with alarms between 2 hrs and
+ 2 days.
+
+1999-03-23 Nat Friedman <nat@nat.org>
+
+ * eventedit.c (ee_store_recur_rule_to_ical): Set the
+ recur->interval to the value of the recur_rr_month_period spin
+ button if the event is being set "by day." This closes bug #675
+ as reported by bagfors@hpc2n.umu.se. Thanks for the report!
+
+1999-03-10 Clifford R. Conover <rconover@montana.edu>
+
+ * gncal-todo.c (simple_todo_editor): Add support for Due Date when
+ adding a TODO item here.
+ (column_resized): New function
+ (init_column_sorting): New function.
+ (todo_click_column): New function.
+ (convert_time_t_to_char, make_overdue_todo_style): New functions.
+
+ * gnome-cal.c (gnome_calendar_todo_properties_changed): New
+ function used to update the TODO when the properties have been
+ chagned for it.
+
+ * prop.c (prop_apply_todo): Apply TODO properties.
+
+ * gncal-day-panel.c (todo_list_properties_changed): Update the
+ TODO display here.
+
+ * eventedit.c (date_edit_new): Made public
+
+1999-03-10 Craig A Soules (soules+@andrew.cmu.edu)
+
+ * timeutil.c, calendar.c, calobj.c, gncal-day-panel.c: Add support
+ for daylight time savings.
+
+1999-02-28 Martin Baulig <martin@home-of-linux.org>
+
+ * gncal-full-day.c (recompute_motion): For DRAG_MOVE, DRAG_SIZE_TOP
+ and DRAG_SIZE_BOTTOM: call child_focus_out () if the child currently
+ has the focus.
+
+1999-02-27 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
+
+ * quick-view.c (QUICK_VIEW_FONTSET): Added Korean font to the
+ fontset string.
+ * mark.h (*_FONTSET): Likewise.
+
+1999-02-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c (ical_object_to_vobject): Save the owner/organizer of
+ the event.
+ (ical_object_create_from_vobject): Load the owner/organizer of the event.
+
+ * gncal-full-day.c (delete_occurance): Assign child to data (fixes
+ crash on "delete this occurrance").
+
+1999-02-22 Timur Bakeyev <mc@bat.ru>
+
+ * calendar.c: According to configured values, use either tm.tm_zone
+ or tzname. In last case, also declare it extern.
+
+ * prop.c: langinfo.h not available everywhere. Wrapped. BTW, works
+ fine without it.
+
+1999-02-20 Tomas Ogren <stric@ing.umu.se>
+
+ * main.c (init_username): Made use of g_get_{user,real}_name() instead
+ of our own home-brew...
+
+1999-02-17 Sergey Panov <sipan@mit.edu>
+
+ * gnome-month-item.c,gnome-month-item.h,goto.c,mark.h,
+ month-view.c,prop.c,quick-view.c,year-view.c: will define
+ fonts via fontset. Friendlier to locales that use iso8859-[^1]
+ and koi8-r encodings. Does not solve problem for Asian languiges
+ --- better solution is needed (e.g. standart GNOME fontstyles
+ defined in gtkrc).
+
+1999-02-16 Sergey Panov <sipan@mit.edu>
+
+ * main.c: Use N_() macro for color settings labels in
+ color_props structure.
+
+1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * goto.c (goto_dialog): Indentation fixes.
+
+1999-02-15 Tomas Ogren <stric@ing.umu.se>
+
+ * goto.c: Made a private copy of what localtime() returns, to be able
+ to keep the data after more calls to localtime().
+
+1999-02-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * main.c (save_default_calendar): New function. Saves the
+ calendar if it is the user's default calendar
+
+ * gncal-full-day.c (unrecur_appointment):
+ * gncal-day-panel.c (day_view_range_activated):
+ * eventedit.c (ee_ok):
+ * gncal-todo.c (ok_button): Added autosave for the default
+ calendar.
+
+1999-02-09 Tomas Ogren <stric@ing.umu.se>
+
+ * main.c: Removed the gtk_widget_realize call.
+
+1999-02-06 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
+
+ * gncal.desktop: Added Korean translations.
+
+1999-02-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * eventedit.c (date_edit_new): New convenience function to create
+ a properly-configured date editor widget.
+
+1999-02-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-week-view.c (gncal_week_view_new): Make the calendar start
+ weeks on Monday if appropriate.
+ (gncal_week_view_time_format_changed): New function to notify the
+ week view that the time format has changed.
+
+ * gncal-day-panel.c (gncal_day_panel_new): Make the calendar start
+ weeks on Monday if appropriate.
+ (gncal_day_panel_time_format_changed): New function to notify the
+ day panel that the time format has changed.
+
+ * gnome-cal.c (gnome_calendar_time_format_changed): Tell the day
+ and week views that the time format has changed.
+
+1999-02-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * eventedit.c (event_editor_init): Set the title of the event
+ editor window.
+
+1999-01-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-day-view.c (gncal_day_view_expose): Do not remove the
+ clipping rectangle here.
+
+ * view-utils.c (view_utils_draw_events): Remove the clipping
+ rectangle here, since the user of this function should not know
+ about it.
+
+1999-01-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * view-utils.c (view_utils_draw_events): Improve this draw
+ routine. Now it can split the text in lines and fit as many
+ events as possible.
+ (nicetime): Return strings without spaces at the beginning.
+
+ * gncal-day-view.c (gncal_day_view_expose): Move clip-clear
+ operation here.
+
+1999-01-29 Jason Tackaberry <tack@dok.org>
+
+ * gncal-full-day.c (child_popup_menu): if the user clicks on an
+ event that is an occurance, the menu will allow the user to delete
+ all occurances of this event, or just the selected occurance.
+ (delete_occurance): added.
+
+ * eventedit.c (append_exception): force the clist to select the
+ new exception. (fixes segfault)
+ (delete_exception): if the last exception in the clist is deleted,
+ move the selection index up. (fixes segfault)
+
+1999-01-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * main.c (parse_an_arg): Add --hidden key to hide the calendar at
+ startup. Only works with GNOME window managers though :-(
+
+ * calendar.c (calendar_day_change): Reschedule alarms for the new day.
+
+ (calendar_init_alarms): Schedule an alarm for midnight to change
+ the calendar_day_begin/calendar_day_end.
+
+ * alarm.c (alarm_ready): If we reschedule, there is no need to
+ activate any pending alarms.
+
+1999-01-28 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (child_new): Insert the summary text here.
+ (child_focus_in): No need to raise the window, since we have
+ Spiffo(tm) layout code. Boy, this is old code.
+ (gncal_full_day_focus_child): Now that GtkText works better, we
+ can avoid synthesizing a click which was causing grief, anyway.
+ (child_button_press): Grab the focus before popping up the menu.
+
+ * layout.c (find_index): Added a sanity check.
+
+ * gncal-full-day.c (child_destroy): Unmap and unrealize the child
+ before unparenting/destroying it.
+ (child_unrealize): Unrealize the widget. What was I thinking?
+ (child_new): Save the focus_out_event signal connection id in
+ Child structure (in a new field).
+ (child_destroy): Disconnect from the focus_out_event signal, since
+ we don't want to get such an event when the widget is destroyed.
+ (gncal_full_day_destroy): Destroy the children properly; it was
+ leaking memory.
+
+1999-01-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * main.c (save_calendar_cmd): Warn if the calendar file has
+ changed.
+
+ * calendar.c (calendar_load, calendar_save): Keep track of the
+ modification time for the calendar file.
+
+1999-01-20 Nat Friedman <nat@nat.org>
+
+ * gncal-full-day.c (gncal_full_day_key_press): Only trap printable
+ characters such that hotkeys work.
+ (UNSELECT_TIMEOUT): Changed to 0. Much saner behavior.
+
+ * prop.c (properties): Connect gnome_help_pbox_display to the
+ GnomePropertyBox help button.
+
+1999-01-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * quick-view.c (quick_view_do_popup): Do not grab the mouse here
+ (it was being grabbed incorrectly, anyways).
+ (quick_view_map_event): Grab the mouse when the window is mapped.
+ This avoids the ugly "while (xGrabPointer () != Success)" hack.
+ (quick_view_button_release): Handle button releases here.
+
+1999-01-19 Tomas Ogren <stric@ing.umu.se>
+
+ * main.c: do gtk_widget_realize on the toplevel window..
+
+1999-01-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-day-panel.c (gncal_day_panel_new): Make the little
+ calendar start up with the correct date.
+
+ * gncal-week-view.c (gncal_week_view_set): Add the month to the
+ date range display label.
+
+1999-01-08 Nat Friedman <nat@nat.org>
+
+ * main.c: Converted some more stuff to use the standards.
+
+1999-01-08 Nat Friedman <nat@nat.org>
+
+ * main.c (setup_appbar): New function to create the status bar.
+ (setup_menu): Install menu hints.
+
+ Menu items updated to match the standards. New Settings menu
+ created.
+
+1998-12-30 Jeff Garzik <jgarzik@pobox.com>
+
+ * gncal/calendar.c, gncal/gnome-cal.c, gncal/main.c,
+ gncal/quick-view.c:
+ s/g_copy_strings/g_strconcat/
+
+1998-12-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ Rewrote the old and broken alarm system. It never actually
+ worked properly. Now it works properly, and I figured a nice way
+ to get the Audio alarm do something nicer (it is now like an alarm
+ clock :-).
+
+ * gnome-cal.c (calendar_notify): Now we take a CalendarAlarm to
+ actually distinguish which alarm was triggered.
+
+ * alarm.c (alarm_ready): The code was only activating the first
+ alarm. Reschedule the timer upon delivery of an alarm.
+
+1998-12-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * year-view.c (idle_handler): Use the allocation size instead of
+ the old fields in the canvas structure.
+
+ * goto.c (create_days): Use gtk_widget_set_usize() instead of
+ gnome_canvas_set_size().
+ * quick-view.c (setup_event_list): Likewise.
+
+1998-12-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-todo.c (simple_todo_editor): Use gnome_dialog_set_parent.
+ * goto.c (goto_dialog): ditto
+ * prop.c (properties): ditto.
+
+1998-11-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * eventedit.c (ee_rp_init_exceptions): Update GtkClist usage.
+
+1998-11-23 Andrew T. Veliath <andrewtv@usa.net>
+
+ * gncal-day-panel.c (gncal_day_panel_new): Use
+ gtk_scrolled_window_add_with_viewport instead of
+ gtk_container_add (gtk changes).
+
+1998-11-23 Herbert V. Riedel <hvr@hvrlab.ml.org>
+
+ * eventedit.c: use GPOINTER_TO_INT
+
+ * gncal-todo.c: same.
+
+1998-11-22 Matthew Wilson <msw@redhat.com>
+
+ * main.c: Fixed the popt event parsing callback to have the
+ correct number of arguments. This stops it from segfaulting.
+
+1998-11-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * eventedit.c (ee_classification_widgets): Doh. Fixed stupid bug
+ where the classification buttons were not being set correctly.
+ (ee_store_general_values_to_ical): Take into account the fact that
+ radio group lists are stored in reverse order of insertion.
+
+ * gncal-todo.c (gncal_todo_init): Use a scrolled window to put the
+ clist into.
+
+1998-11-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calendar.c (calendar_save): Backup the old file before saving
+ the caledar.
+
+1998-11-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c: Add ctype.h
+
+1998-10-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gnome-cal.c (gnome_calendar_direction): Add the offset from the
+ beginning of the current time unit (day/month/etc), otherwise it
+ does not work right, for example, you are on the 31st day of a
+ month and the next month is a 30-day one and you jump to the next
+ month.
+
+1998-10-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * month-view.c: Changed a lot of stuff not to use the layout code
+ -- the month view's days are too small to display layout
+ usefully. Now they display a little list of the events in each
+ day. We also have a popup menu for the days in the month view.
+
+ * calendar.c (calendar_get_objects_in_range): Reverse the list so
+ that it is returned in increasing order.
+
+ * eventedit.c (event_editor_new_whole_day): New public function to
+ create an event for the complete span of day_begin to day_end.
+
+ * year-view.c (new_appointment): Use event_editor_new_whole_day().
+
+ * year-view.c (yv_popup_menu): Mark strings for i18n.
+
+1998-10-12 Ji Lee <g@ucsd.edu>
+
+ * eventedit.c (ee_store_recur_rule_to_ical): The interval was
+ never being loaded from the spin button.
+
+1998-10-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * month-view.c (month_view_update): Create a list of children and
+ lay them out nicely. Lots of functions added for this purpose.
+ (adjust_segment): Main event segment adjustment routine.
+ (adjust_children): Adjusts all the children in the month view.
+ (child_create_segments): Creates the segments for a particular event.
+ (layout_children): Uses the generic layout engine to organize the children.
+
+1998-10-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-todo.c (clist_row_selected): Set the sensitivity of the
+ edit/delete buttons.
+ (gncal_todo_update): Likewise. Thanks to Dirk Luetjens for the
+ bug report.
+
+ * layout.c: Do some cleanup; now we pass a struct with the layout
+ algorithm's state instead of passing a trillion parameters around.
+
+ * gncal-full-day.c (layout_children): Use the new generic layout
+ engine.
+ (child_compare): Sort keys are start time then end time, not just
+ start time. This produces somewhat nicer results for the layout
+ algorithm.
+
+ The new layout code uses a partition of the time range occupied by
+ the events, rather than using a fixed time granularity. This is
+ better since the different parts of the program that use the
+ layout module will have different semantics regarding snapping the
+ event bounds to a fixed "time grid".
+
+1998-10-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * layout.[ch]: New files that abstract the event layout code from
+ gncal-full-day.c into something useful for other parts of the
+ program. Now all event layout is done here.
+
+ * Makefile.am (gnomecal_SOURCES): Added layout.[ch] to the list of
+ sources.
+
+1998-10-07 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
+
+ * main.c (main): Replaced the 'gnome_client_new_default' call with
+ 'gnome_master_client'.
+
+1998-10-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * timeutil.c (time_day_begin): Changed name from
+ time_start_of_day() to be consistent with the other begin/end functions.
+ (time_day_end): Likewise.
+
+ * calobj.c (ical_object_get_first_weekday): New public function to
+ get the first toggled day in a weekday mask. Since we do not
+ support multiple weekdays in a monthly-by-pos rule, we just fetch
+ the first toggled one.
+ (ical_object_generate_events): Added a missing break statement.
+
+ * timeutil.c (time_month_end): Made it consistent with the rest of
+ the time begin/end functions -- now it returns the first second of
+ the *next* month.
+ (time_week_end): Actually implemented this function. It will be
+ used when the week view is rewritten.
+
+ * calobj.c (time_in_range): Fix off-by-one in the comparison of
+ the time against the end time.
+
+ * gncal-full-day.c (expand_space): Fixed bug where the columns not
+ were being expanded due to a missing "slot + j".
+
+1998-10-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * month-view.c (month_view_init): Use the font #defines.
+ (month_view_new): Set the colors of the month view upon creation.
+ (mark_current_day): New function to mark the current day in the
+ month view.
+ (month_view_set): Mark the current day.
+ (month_view_colors_changed): Mark the current day and colorify the
+ month item appropriately.
+
+ * month-view.h: Added year and month fields to the MonthView
+ structure.
+
+ * main.c: Renamed the Appointments color property, since it will
+ be used by the month view as well.
+
+ * goto.c (update): Set the current day's font and color.
+
+ * year-view.c (year_view_init): Set the fonts of the month items
+ when creating them.
+
+ * mark.h: Added new #defines for HEADING_FONT and TITLE_FONT.
+
+ * year-view.c (year_view_init): Use the new font #defines.
+
+ * prop.c (prop_apply_colors): Fixed to work with the
+ I-am-paranoid-and-I-need-to-size-my-ints changes to
+ GnomeColorPicker.
+ (color_spec_from_picker): Likewise.
+
+1998-09-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * goto.c (create_days): Colorify the month item and prepare it for
+ prelighting here.
+
+ * main.c (color_props): Changed the default colors to something
+ not dull.
+
+ * year-view.c (compute_min_size): New function to compute the
+ minimum size of the year view properly.
+ (year_view_size_request): Added two new fields to the year view
+ structure that contain the minimum size. Return this in the
+ size_request method.
+ (year_view_new): Call compute_min_size to save the minimum size
+ for later use.
+ (idle_handler): Make it resize the items correctly.
+
+ * gnome-month-item.c (gnome_month_item_set_arg): Reshape when
+ necessary. This is needed becaues we now actually calculate a
+ minimum size for the month item based on the font sizes and paddings.
+ (check_heading_sizes): New function to calculate a minimum size
+ based on the headings' dimensions.
+ (check_day_sizes): New function to calculate a minimum size based
+ on the day number labels' dimensions.
+ (check_sizes): New function that computes a minimum size for the
+ month item.
+ (reshape): Now calls check_sizes() to ensure a minimum size for
+ the month item.
+
+ * year-view.c (mark_current_day): New function to mark the current
+ day in the year view.
+
+ * mark.c: Removed mark_current_day from here.
+
+1998-09-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * prop.c (fetch_color_spec): Changed name from fetch_prelight_spec
+ and made it conform to the new prelighting mechanism.
+ (fake_mark_days): Set the proper day attributes.
+ (reconfigure_month): Use colorify_month_item().
+ (fake_mark_days): Use mark_month_item_index().
+
+ * mark.c (colorify_month_item): New public function to reset the
+ colors in a month item.
+ (get_attributes): New internal function that creates an array of
+ attributes for the days in a month item. This is the basis of all
+ the new optimizations to month item marking.
+ (unmark_month_item): Now it uses the attributes array to unmark
+ only the days that need unmarking.
+ (mark_event_in_month): Update the day attributes array.
+ (month_item_prepare_prelight): Changed the definition of the
+ prelight color query function. Use the new function.
+ (day_event): Do color changes based on the day attributes array.
+ (mark_month_item_index): New public function to mark a single day
+ by index.
+ (mark_event_in_month): Use mark_month_item_index().
+
+ * gnome-month-item.c (gnome_month_item_num2child): Now takes an
+ int, not a GnomeMonthItemChild.
+ (gnome_month_item_child2num): Now returns an int, not a
+ GnomeMonthItemChild.
+ (gnome_month_item_num2day): Now takes an int, not a
+ GnomeMonthItemChild.
+
+ * goto.c (goto_dialog): Create the days before the year spin
+ button, because the year_changed callback expects the month item
+ to be created. The new semantics of the spin button cause it to
+ emit a value_changed signal on the adjustment upon creation -- is
+ this the behavior we want from it?
+ (goto_dialog): Use gtk_window_set_modal() instead of the
+ deprectaed gnome_dialog_set_modal().
+
+ * quick-view.c (quick_view_new): Make it look not as crappy by
+ putting the title inside the frame.
+ (quick_view_do_popup): Fixed the pointer grab and added a cursor.
+ (create_items_for_event): Query the text width/height from the
+ text item using the new object arguments, so that the size of the
+ popup window can be set properly.
+
+ * year-view.c (do_quick_view_popup): Calculate a nice date string
+ for the popup window.
+
+1998-09-28 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * quick-view.[ch]: New file that presents a quick view of the
+ events in a particular day when the mouse is clicked on the year
+ view. Work in progress.
+
+ * year-view.c (do_quick_view_popup): New function that creates a
+ quick view for the events in a day.
+
+ * Makefile.am (gnomecal_SOURCES): Added quick-view.[ch] to the
+ list of sources.
+
+1998-09-27 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * main.c: Hotkey for File/Exit should be C-q, not C-x.
+
+1998-09-24 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * year-view.c (do_popup_menu): New function to execute the popup
+ menu in the year view.
+ (day_event): Invoke the popup menu with the context set to days.
+ (new_appointment): New function to create a new appointment from
+ the year view.
+ (do_jump): New function to do the appropriate view/date jumping
+ from the popup menu.
+
+ * main.c: Fixed two icons in the File menu.
+
+1998-09-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * main.c: Added underlined shortcuts and accelerators to the main menu.
+
+1998-09-16 Raja R Harinath <harinath@cs.umn.edu>
+
+ * gncal-week-view.c (<gtk/gtklabel.h>): Include.
+ * gncal-week-view.h (<gtk/gtkvbox.h>): Include.
+
+1998-09-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gnome-cal.c (mail_notify): Fixed the bug reported about the mail
+ notification not beint sent until the program was terminated.
+
+1998-09-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (gncal_full_day_forall): Updated foreach ->
+ forall from Gtk changes, bleah.
+
+ * year-view.c (day_event): New function to handle events from
+ days. Jumps to the day that is clicked.
+
+ * main.c: Use a watch cursor while the previous/today/next
+ functions are doing their job.
+
+ * mark.c (month_item_prepare_prelight): New public utility
+ function to prepare a month item for prelighting. It will store
+ the proper prelight information and attach the appropriate signals.
+ (mark_current_day): Make the current day bold as well (useful for
+ color-blind people, I guess).
+
+ * prop.c (set_current_day): Reset the date in the sample calendar
+ and mark the current day.
+ (fake_mark_days): Mark fake events in the sample calendar.
+
+ * year-view.c (year_view_set): Use the general prelighting engine.
+
+ * goto.c (day_event): Just process button presses, as prelighting
+ is done behind the scenes now.
+ (update): Use the general prelighting engine.
+
+ * prop.c (create_colors_page): We can now configure the colors of
+ the monthly calendars! Wheeeeee! There are still some nits to be
+ fixed, which are listed in the TODO file.
+ (build_color_spec): New function to build color specifications.
+ (parse_color_spec): New function to parse color specifications.
+
+ * mark.c: Modified all functions to use the configured colors.
+ * goto.c: Likewise.
+
+ * main.c (colors_changed): New function that notifies all
+ calendars that colors have changed.
+
+ * gnome-cal.c (gnome_calendar_colors_changed): New function that
+ notifies all the views that the colors have changed.
+
+ * month-view.c (month_view_colors_changed): New function that
+ notifies the month view that colors have changed.
+
+ * year-view.c (year_view_colors_changed): New function that
+ notifies the year view that colors have changed.
+
+ * gnome-month-item.h (struct _GnomeMonthItem): Added fields for
+ outline and day box colors.
+
+ * gnome-month-item.c (gnome_month_item_set_arg): Added
+ outline_color, outline_color_gdk, day_box_color, and
+ day_box_color_gdk arguments to month items. These are convenient
+ to quickly set the colors of the month item.
+ (gnome_month_item_get_arg): Likewise.
+
+ * main.[ch]: Added a global array of structures for color preferences.
+
+1998-08-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * goto.c: Small code cleanup.
+ (day_event): Upon receiving a LeaveNotify event, Reset the day's
+ background to the correct color.
+
+1998-08-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * mark.[ch]: New files with utility functions to mark calendars
+ with their events.
+
+ * mark.c (mark_month_item): New public function to mark a month
+ item with events.
+ (unmark_month_item): New public function to unmark all the days in
+ a month item to their default appearance.
+
+ * year-view.c (year_view_set): Use the new unmark_month_item() and
+ mark_month_item() to mark the months with events.
+
+ * goto.c (update): New function that updates the calendar in the
+ Go-to dialog by marking the days.
+
+ * timeutil.c (time_year_begin): Modified to take a time_t value.
+ (time_year_end): Likewise.
+ (time_month_begin): Actually implemented this function, which was
+ in the header file but not here.
+ (time_days_in_month): New public function that returns the number
+ of days in a month.
+
+ * Makefile.am (gnomecal_SOURCES): Added mark.[ch] to the sources.
+
+ * year-view.c (unmark_days): Use unmark_month_item().
+
+ * gncal-full-day.c (gncal_full_day_destroy): Fixed crash when
+ destroying the full day view. The full day's destroy method is
+ unusual in that it destroys the list of child widgets itself, as
+ it does not have a remove method, so it needs to reset the list to
+ NULL.
+
+1998-08-27 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gnome-month-item.c (build_month): Now does the correct thing
+ when the user wants weeks to start on Monday. Now all the Monday
+ special casing, as far as day numbering is concerned, is only in
+ this function.
+
+ * year-view.c (mark_days): This function marks the days that have
+ events in them. It also fixes a memory leak in the old
+ implementation (it was leaking the whole list).
+ (unmark_days): New function used to unmark all the days in the
+ year view.
+ (mark_event): New function that marks all the days that are
+ spanned by a time range. It also fixes the bug in the old
+ implementation where it could possibly mark days past the ends of
+ the year (if the event crosses year boundaries, for example).
+
+ * timeutil.c (time_year_begin): Take the year parameter since year
+ 1, not 1900.
+ (time_year_end): Likewise.
+
+ * year-view.c (year_view_size_allocate): Now changing the size of
+ the calendars is done in the idle loop.
+ (idle_handler): This function actually does the resizing of the items.
+
+ * year-view.h (struct _YearView): Added idle_id and need_resize
+ fields.
+
+1998-08-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * year-view.c: Beginning of the new year view. Sizing and event
+ marking needs to be finished.
+
+ * gnome-cal.c: Updated for year-view.
+ (gnome_calendar_time_format_changed): Use year_view_time_format_changed().
+
+ * year-view.[ch]: Renamed the gncal-year-view.[ch] files to
+ year-view.[ch].
+
+ * Makefile.am (gnomecal_SOURCES): Updated year-view.[ch] in the
+ list of source files.
+
+1998-08-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * goto.c (create_days): Set the heading color of the month item.
+
+ * main.c: Use GNOME_STOCK_PIXMAP_JUMP_TO, now that it exists,
+ instead of goto.xpm. Also, removed goto.xpm from cvs.
+
+ * gnome-month-item.h (struct _GnomeMonthItem): Added fields for
+ the heading and day number fonts. Added fields for heading and
+ day number label colors.
+
+ * gnome-month-item.c (gnome_month_item_class_init): ARG_DAY_NAMES
+ should be write-only. Also, added arguments for heading and day
+ number fonts. Added arguments for heading and day number colors.
+
+1998-08-24 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * prop.c (build_two_radio_group): Doh. Set the state of the radio
+ buttons properly.
+
+ * month-view.c (month_view_time_format_changed): New public
+ function that notifies the month view of a time format change.
+
+ * gnome-cal.c (gnome_calendar_time_format_changed): New public
+ function that notifies the calendar of a time format change.
+
+ * main.c (time_format_changed): Use gnome_calendar_time_format_changed().
+
+ * month-view.c (month_view_update): New public function to update
+ the month view when an event changes. This is still unfinished.
+ (month_view_set): New public function to set the month in the
+ month view.
+
+ * gnome-cal.c (gnome_calendar_direction): Add case for month view.
+ (gnome_calendar_set_view): Likewise.
+ (gnome_calendar_update_all): Likewise.
+
+ * timeutil.c (time_add_week): Implemented the time_add_week()
+ function, which was on the header file.
+ (time_add_month): Added public month-adding routine.
+
+ * gnome-cal.c (gnome_calendar_get_current_view_name): Add case for
+ month view.
+ (gnome_calendar_goto): Likewise, and set the time on the month view.
+
+ * month-view.c (month_view_new): Now it takes the calendar plus
+ the time_t representing the month.
+
+ * gnome-month-item.h: Added documentation on the object arguments
+ for the month item.
+
+ * month-view.c (month_view_init): Added a month/year heading to
+ the month view.
+
+ * TODO: Updated the TODO list a bit.
+
+ * main.c (gnome_cal_file_menu): The preferences menu option should
+ go in the File menu.
+ (gnome_cal_edit_menu): Added stock pixmaps to the menu items.
+ (gnome_cal_menu): Renamed the Calendar menu to Edit.
+ (gnome_cal_help_menu): Use "About Gnomecal", not just "About".
+
+ * prop.c (hour_activated): Notify the property box that it has changed.
+
+ * main.c: Changed the Properties menu item to Preferences. These
+ are global application preferences, not a single calendar's
+ properties.
+
+ * prop.c (prop_apply): Save the week_starts_on_monday flag to the
+ configuration file.
+ (properties): Added a check button for weeks starting on Monday.
+ (properties): Beautified the Preferences dialog.
+
+ * month-view.c (month_view_init):
+ * goto.c (create_days): Set the month item to start weeks on
+ Monday if appropriate.
+
+ * main.c (init_calendar): A boolean is not an hour, so don't
+ range_check_hour() on it.
+ (init_calendar): Added a global week_starts_on_monday flag.
+
+ * main.h: Added global week_starts_on_monday flag.
+
+1998-08-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c (ical_object_create_from_vobject): If mail alarm or
+ program alarm are missing the action, then set an empty default.
+
+1998-08-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gnome-month-item.c (gnome_month_item_day2index): New public
+ function to get the displayed day index of the specified date.
+
+ * gnome-cal.c (gnome_calendar_goto_today): New public function to
+ jump to the current day.
+
+ * goto.c (day_event): Jump to the selected day when the user
+ clicks the mouse, and prelight days as appropriate.
+
+ * timeutil.c (time_from_day): New public function to build a
+ time_t from a year/month/day triplet.
+
+ * gnome-month-item.c (gnome_month_item_num2child):
+ (gnome_month_item_child2num): New public functions to convert an
+ index into a child and vice-versa, respectively.
+ (gnome_month_item_num2day): New public function to convert a child
+ number into a displayed day number.
+
+ * goto.c (goto_dialog): Doh, use gnome-dialog properly :-)
+
+ * gnome-month-item.c (create_items): Use g_strdup()ed day names
+ from the start.
+
+1998-08-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * main.c (gnome_toolbar): Made it use goto.xpm.
+
+ * Makefile.am (EXTRA_DIST): Added goto.xpm to the list of files.
+
+1998-08-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gnome-month-item.c (gnome_month_item_set_arg): Doh. Actually
+ recalculate the days using the month and year.
+
+ * main.c: Added "Go to" button to quickly jump to a specific date.
+
+ * goto.c: New file that defines the quick go-to date dialog.
+
+ * Makefile.am (gnomecal_SOURCES): Added goto.c to the sources.
+
+1998-08-11 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * main.c (new_calendar): Made title i18n friendly. This was bug
+ #215.
+
+ * eventedit.c (ee_store_recur_end_to_ical): Set recur->enddate to
+ recur->_enddate, not to itself, when adding recurring event and
+ supplying an end date. This fixes (at least part of) bug #99.
+
+1998-08-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * month-view.[ch]: Start of the month view widget. This will use
+ the generic month item and extend it to have the semantics desired
+ for the gnomecal month view.
+
+ * gnome-month-item.[ch]: New generic canvas item for the month
+ view and the "small calendars". This is intended to be a
+ high-level display engine for monthly calendars. This is a work
+ in progress.
+
+ * gnome-cal.h (GnomeCalendar): Added a month_view field.
+
+ * gnome-cal.c (setup_widgets): Create the month view and insert it
+ into the notebook.
+
+ * Makefile.am: Added month-view.[ch] and gnome-month-item.[ch] to
+ the sources.
+
+1998-08-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * main.c (about_calendar_cmd): Use an array of const strings to
+ keep gcc happy.
+
+ * alarm.c (alarm_compare_by_time): Use gconstpointer to keep gcc happy.
+ * calendar.c (calendar_object_compare_by_start): Likewise.
+ * gncal-full-day.c (child_compare_by_start): Likewise.
+
+1998-07-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * main.c: Add support for --view flag.
+ (session_save_state): Save the view mode;
+ (new_calendar): Now takes a view mode flag.
+
+ * gnome-cal.c (gnome_calendar_get_current_view_name): New
+ function for enhancing the session management support for
+ gnomecal.
+ (gnome_calendar_set_view): New function that makes a given page
+ active.
+
+1998-07-01 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * gncal.desktop: Added Portuguese translation.
+
+Mon Jun 22 13:01:16 1998 Havoc Pennington <hp@pobox.com>
+
+ * main.c (session_save_state): Use gnome_geometry_string to get
+ the geometry string.
+
+1998-06-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * eventedit.c (ee_rp_init_rule): Do not subtract 1 from
+ tm->tm_mday for the default_day.
+
+ * gnome-cal.c (gnome_calendar_new):
+ (gnome_calendar_goto): Use the start of the day -- things expect
+ it to be that way.
+
+1998-05-27 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * eventedit.c (ee_store_recur_rule_to_ical): Fill in
+ ical->recur->interval from value in spin_button. This ixed an
+ infinnite loop.
+
+1998-05-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (child_draw): Paint the decorations correctly.
+ (child_draw_decor): Paint the recurrence/bell icons correctly.
+
+1998-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * eventedit.c (ee_rp_init_rule): Use the contents of
+ ee->ical->dtstart for computing the predefined values of the recurrence.
+
+ * gncal-full-day.c (gncal_full_day_unrealize): Fix the gc
+ destruction in the unrealization code and fix the pixmap unrefing.
+
+ * main.c (close_cmd): Remove a bad hack that disabled calendar
+ widget destruction.
+
+ * calobj.c (ical_object_generate_events): Fix for the weekly event
+ generation. Was reported on the bug tracking system.
+
+1998-05-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-full-day.c (layout_children): Implemented ultra-cool
+ layout for the events that share the same time range. Gals and
+ guys you can now drop Outlook on the recycle bin.
+
+ Which reminds me. We do not have a recycle bin. How could that
+ happen in a project as cool as this one? Someone explain this to
+ me.
+
+1998-05-18 Federico Mena <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (paint_back): Eliminated unnecessary border repainting.
+
+Sun May 17 17:55:03 1998 Havoc Pennington <hp@pobox.com>
+
+ * gncal-todo.c (simple_todo_editor): Close dialog when return is pressed.
+
+1998-05-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gnome-cal.c (mark_gtk_calendar_day): Bug free version of the
+ range computation in place.
+
+ * gncal-year-view.c (year_view_mark_day): Use the same new version
+ of the range computation here.
+
+ * calobj.c (ical_object_generate_events): Fix the begin/end
+ condition.
+
+1998-05-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * timeutil.c (isodate_from_time_t): Do not add the spurious
+ padding.
+
+ * calobj.c (store_date_list): Bug fix: I was using the wrong
+ pointer when saving the exception date list.
+ (set_date_list): Bug fix: load correctly the complete exception
+ date list.
+ (set_date_list): Use ',' for the exception date separator as the
+ versit people can not get their standard right.
+
+ * gncal-full-day.c (unrecur_appointment): Support for making an
+ existing recurrent event `movable' for a day.
+
+ * calobj.c (ical_object_add_exdate): New routine, used to add
+ exception dates.
+ (ical_object_duplicate): New routine: used to do the magic
+ recur->no-recur event.
+
+1998-05-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-full-day.c (new_appointment): Use gtk_calendar freeze/thaw
+
+ * gncal-year-view.c (gncal_year_view_set_year): Use gtkcalendar freeze/thaw.
+
+ * eventedit.c (event_editor_init): Use gnome_dialog_set_close to
+ avoid the ugly warning.
+
+ * main.c (display_objedit): Default to the day the user is looking
+ at.
+
+1998-05-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-day-panel.c (full_day_size_allocated): Do not emit a value
+ changed signal if the value is the same.
+
+1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * prop.c (prop_apply): Only run the apply code once.
+
+1998-05-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-day-panel.c (update): Draw the day at startup.
+ (gncal_day_panel_set): Fix selected-day display.
+ (gncal_day_panel_new): Switch day on double clicks, not on single
+ clicks.
+
+ * calobj.c (ical_object_compute_end): Removed debug messages.
+
+1998-04-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * prop.c (prop_apply): Do not call prop_cancel, ths is now using
+ GnomePropertyDialog.
+
+1998-04-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-week-view.c (sync_week): Use gnome_calendar_tag_calendar.
+
+ * gnome-cal.c (gnome_calendar_tag_calendar): New routine used to
+ fill a gtk_calendar with the events on a GnomeCalendar object.
+
+ * gncal-week-view.c (gncal_week_view_new): Set the week to the day
+ we double clicked.
+
+1998-04-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gnome-cal.c (calendar_notify): Apply black magic to get mail
+ notifications to work.
+
+ * gncal-full-day.c (child_focus_out): Temporary optimization, the
+ child_focus_out is constantly calling the
+ gnome_calendar_object_changed when the property editor has been
+ invoked. This happens every time the mouse moves crosses the main
+ window.
+
+ * calendar.c (calendar_object_changed): Reschedule alarms when a
+ calendar object has changed its times.
+
+Sat Apr 25 22:20:45 1998 Havoc Pennington <hp@pobox.com>
+
+ * eventedit.c, eventedit.h: Descend from GnomeDialog. Took vbox
+ out of class structure; use GnomeDialog vbox
+ instead. gnome_dialog_set_destroy instead of destroying in button
+ callbacks. Don't create buttons, separator, or vbox manually.
+ #include <libgnomeui/gnome-dialog.h>.
+
+1998-04-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c (ical_object_create_from_vobject): Fixed alarm loading;
+ Load snooze time and snooze count
+
+1998-04-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * calendar.c (calendar_save): Actually save the to-do entries.
+
+ * gncal-todo.c (simple_todo_editor): Now you can add and edit
+ to-do entries.
+
+1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c: Made it use popup_menu().
+
+ * popup-menu.c: New file with utility functions for creating popup
+ menus. Maybe such a thing would be useful in libgnomeui, a la
+ gnome-app-helper?
+
+ * Makefile.am (gnomecal_SOURCES): Added popup-menu.[ch] to the sources.
+
+1998-04-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * prop.c (properties): Added Calendar properties editor.
+ (properties): Make the code use a propery box.
+
+ * main.c: Save/load properties (fix to old commit).
+
+1998-04-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-todo.c: New widget for editing TODO lists. This will be
+ worked on a lot.
+
+ * Makefile.am (gnomecal_SOURCES): Added gncal-todo.[ch] to the sources.
+
+ * gncal-day-panel.c: Make it use the new TODO widget.
+
+1998-04-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * timeutil.c (isodate_from_time_t): Do not save with the global
+ time flag (Z at the end of the isodate). When we figure out a way
+ to load times in GMT time, we will add this back
+
+ * view-utils.c (popup_menu): Moved this routine here as there are
+ more users of this code.
+
+ * gncal-day-view.c (gncal_day_view_class_init): Add button press
+ handler.
+ (new_appointment): New routine for creating appointments on a day.
+
+
+
+ * main.c (save_ok): Added call to gtk_window_set_wmclass.
+
+ * gncal-day-panel.c (calendar_day_selected): Fix, years for mktime
+ should substract 1900 and gtk_calendar stores years relative to
+ year 0.
+
+ * gncal-week-view.c (gncal_week_view_new): Make the week view
+ descend from VBox so that we can add a label to it.
+ (gncal_week_view_set): Display the ending day of the week
+ correctly.
+
+ Added a label that displays the week range.
+
+1998-04-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gnome-cal.c: Made it use GncalDayPanel.
+
+ * gncal-day-panel.c: New widget for the day view in the main
+ calendar toplevel. It basically takes care of everything
+ gnome-cal did by hand with respect to the day view.
+
+ * Makefile.am (gnomecal_SOURCES): Added gncal-day-panel.[ch] to
+ the rules.
+
+ * main.c: Added a separator between the About menu item and the
+ help topics.
+
+1998-04-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * eventedit.c (ee_ok): Mark the event as non-new after accepting changes.
+
+1998-04-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (gncal_full_day_get_day_start_yoffset): New
+ public function that returns the y offset for the row
+ corresponding to the "day begin" time.
+
+ * gncal-full-day.c (gncal_full_day_key_press): Now any printable
+ keystroke (not just Return) will activate the selected range.
+
+ * gncal-full-day.c (paint_back): Made it use the new paint_row
+ function instead of painting everything directly. We calculate
+ areas in a smarter way so there is even less flicker than before,
+ especially when selecting regions.
+
+ * eventedit.c: Sensitize recurrence widgets properly.
+
+ * calobj.c (duration_callback): Pass the correct pointer type to
+ is_date_in_list().
+
+1998-04-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c (duration_callback): Take exception dates into
+ account.
+
+ * gncal-full-day.c (new_appointment): Setup the event editor dates
+ to those of the currently displayed day.
+ (gncal_full_day_selection_range): Use sensible values in the case
+ no range is selected.
+ (new_appointment): Events now use the current day for event creation.
+
+ * view-utils.c: Pretty up the time display.
+
+ * calobj.c (ical_object_compute_end): Initialize
+ ico->recur->enddate, otherwise we loop forever during final date computation.
+
+ * eventedit.c: Now recurrence is toggled by a radio button in the
+ recurrence page, as the checkbox is confusing.
+
+ * calobj.c (is_date_in_list): Add support for the exclussion
+ dates.
+
+1998-04-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-year-view.c (double_click): Fix this routine as well.
+
+ * gncal-week-view.c (jump_to_day): Bind the gtkcalendar signals to
+ the week.
+
+ * gncal-year-view.c (gncal_year_view_set_year): Put things in the
+ proper range. Now the year view actually matches this year.
+
+ * gnome-cal.html: Added small documentation.
+
+ * main.c: Add more icons to the menus; Rename some menubar
+ entries; Add `new' icon to the toolbar.
+ (dump_events): Added argument handling and dumping of events from
+ the command line. Extremely cool.
+
+ * getdate.y: Taken from the CVS source code. Used for date
+ parsing in the command line.
+
+ Internationalized getdate.y. Wee! It even works with spanish.
+
+ * calobj.c (ical_object_to_vobject): Add Quoted printable property
+ to items containing new lines.
+ (duration): Use unsigned integers, to work around buggy calendar
+ files generated by korganizer.
+
+ * main.c (save_calendar_cmd): Do not ask for file name if we are
+ saving.
+ (save_as_calendar_cmd): New command.
+
+
+1998-04-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * alarm.c (alarm_kill, alarm_init, alarm_add): Implement the alarm
+ management framework.
+
+1998-04-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * calobj.c (ical_new): Added mandatory status property.
+ (ical_object_to_vobject): Only store "related" list if it exists.
+ (store_list): Add terminating null char and free the correct data.
+
+ * main.c (save_calendar_cmd): Implemented calendar saving.
+ (open_calendar_cmd): Implemented calendar loading.
+ (new_calendar_cmd): Implemented calendar creation.
+ (new_calendar): Don't load our test calendar by default.
+
+ * gncal-full-day.c (delete_appointment): Delete appointment implemented.
+
+ * eventedit.c (ee_store_recur_values_to_ical): Free/create
+ ical's recurrence appropriately.
+ (ee_rp_init_rule): Initialize all missing parameters from ical.
+ (ee_rp_init_ending_date): Initialize missing fields from ical.
+
+1998-04-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gnome-cal.c (gnome_calendar_remove_object): Add support for
+ removing objects.
+
+1998-04-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * eventedit.c (ee_init_recurrence_page): New function that creates
+ the recurrence page in the toplevel notebook.
+ (ee_store_recur_values_to_ical): Now we can also store the recurrences.
+
+1998-04-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c (ical_object_generate_events): Implement
+ RECUR_MONTHLY_BY_POS implemented.
+ (ical_object_create_from_vobject): Fix the alarm
+ initialization code.
+ (save_alarm): Save alarms.
+ (ical_object_generate_events): Fixed the recurrent code to take
+ into account the recur->endate field (if at all specified).
+
+ (ical_object_to_vobject): Implement recurrence rule saving.
+
+1998-04-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * eventedit.c (ee_store_alarm): Use menu_shell->children, not
+ menu->children. Why does GtkMenu have a children field in the
+ object structure?
+ (check_dates): New function that insures that start_date < end_date.
+ (check_times): In addition to checking whether the event spans the
+ whole day, now it insures that start_time < end_time.
+
+ * gncal-full-day.c (child_set_size): Now children get bigger
+ temporarily while they are focused. This allows the handles not
+ to "overlap" the rows used by the child and thus allow editing of
+ very thin events.
+ (recompute_motion): Fix for new child coordinates.
+ (gncal_full_day_expose): Make it use find_child_by_window()
+ instead of looking for it by hand.
+
+ * bell.xpm recur.xpm: XPM files for events with alarm and
+ recurrence, respectively.
+
+1998-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (button_1): Preserve the up/down cursor while dragging.
+
+ * gncal-full-day.c (child_draw): Now children have a vertical
+ handle as well. This can be used to move the child anytime, not
+ only when it is focused.
+ (recompute_motion): Modified for new drag behavior.
+
+ * eventedit.c (ee_init_general_page): The general_owner may be
+ null. Do the proper thing when creating the label.
+ (ee_ok): Update the gnome calendar appropriately.
+
+ * timeutil.h:
+ * gncal-year-view.h: Add some missing prototypes.
+
+ * gncal-full-day.c (child_popup_menu): Set the sensitivity of menu
+ items according to whether the ical object is being edited or not.
+
+ * eventedit.c (event_editor_new): Set the "being edited" flag on
+ the ical object (stored as the ical object's user data).
+ (event_editor_destroy): Release the flag.
+
+ * calobj.h: The iCalObject structure now has a generic user_data pointer.
+ * calobj.c (ical_object_set_user_data ical_object_get_user_data):
+ Functions to set this data.
+
+ * gncal-full-day.c (child_button_press): Do child popup menu correctly.
+
+ * main.c (about_calendar_cmd): Fixed my address and added Arturo
+ to the authors in the about box.
+
+ * gncal-full-day.c (find_child_by_window): Compare child's widget
+ windows by user_data (which will be the parent widget, that is,
+ the text widget). We cannot assume that child->widget->window
+ will be *the* window we are interested on because there may be
+ child widgets with multiple windows.
+
+1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c (ical_foreach): Define iterator routine.
+
+1998-04-15 Arturo Espinosa Aldama <arturo@nuclecu.unam.mx>
+
+ * gncal-year-view.[hc]: Now using time_t for new and set.
+ Random fixes, as well.
+
+1998-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (button_3): New popup menus activated with
+ mouse button 3.
+ (create_appointment): Create a new appointment from the popup
+ menus. See the FIXME.
+
+1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-full-day.c (layout_kill_rows): Routine to destory rows
+ array properly.
+
+ * gncal-year-view.c (gncal_year_view_new): Add missing year in
+ call to strftime.
+
+ * calobj.c (ical_object_create_from_vobject): Fixed memory leaks
+ from the return values of versit's fakeCString.
+
+1998-04-14 Arturo Espinosa Aldama <arturo@nuclecu.unam.mx>
+
+ * gncal-year-view.[hc]: New widget for the year view.
+ * Makefile.am: added required compilation of the new files.
+
+1998-04-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * eventedit.c (event_editor_setup_time_frame): Fixed some table
+ expansions to make the dialog look nicer when resized.
+
+ * calobj.c (ignore_space): Fixed compiler warning about unused
+ computed value.
+ (ocurrencelist): Replace str by p confusion. Removed unused
+ variables value and q.
+ (daynumber): Fixed a couple of warnings about unused values.
+ (load_recurrence): Removed unused variable c. Added a default
+ clause to the switch(type).
+
+ * eventedit.c (ee_rp_init_frequency): Removed unused variable content.
+ Fixed a compiler warning by adding a missing cast.
+
+ * calobj.c (ical_object_create_from_vobject): Make the
+ load_recurrence() part work correctly. Eliminated use of
+ syntax_error variable.
+
+1998-04-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (child_key_press): Unfocus the child and focus
+ the parent fullday widget when the user presses Esc.
+
+ * gncal-week-view.c (gncal_week_view_update): Now takes object and
+ flags parameters.
+ * gncal-day-view.c (gncal_day_view_update): Likewise.
+ * gncal-full-day.c (gncal_full_day_update): Likewise.
+ (child_focus_in): New function. In conjunction with
+ child_focus_out(), these only display the handles in the child
+ when it is focused. The result is that the user can see more of
+ the child's text when nothing is focused, and we can also display
+ fatter and nicer drag handles.
+
+ * gnome-cal.c (gnome_calendar_object_changed): Now takes an
+ additional flags parameter
+ (gnome_calendar_update_all): Made function static. Now takes
+ changed object and flags parameters as well.
+ (gnome_calendar_object_changed): Now takes additional flags
+ parameter to indicate what changed in the specified object.
+
+ * calobj.h (CalObjectChange): New enum with flags to describe what
+ has been changed in an object.
+
+ * gncal-full-day.h:
+ * gncal-full-day.c (gncal_full_day_focus_child): New function to
+ let the outside world decide which child to focus.
+ (gncal_full_day_focus_child): Bleah. We have to synthesize a
+ click because GtkText will not set the cursor when you focus it.
+
+ * gnome-cal.c (day_view_range_activated): Focus the new child in
+ the full day widget.
+
+ * eventedit.c (event_editor_setup_time_frame): Re-aligned some
+ widgets to make it look prettier.
+ (ee_alarm_widgets): Likewise.
+ (ee_init_general_page): Likewise.
+ (ee_classification_widgets): Likewise.
+ (event_editor_init_widgets): Likewise.
+
+ * gnome-cal.c (day_view_range_activated): Create new object and
+ add it to the calendar. You can now select a range in the
+ full-day view, hit Return, and a new event will be added at the
+ selected range. I still have to figure out how to focus this new child.
+
+ * gncal-full-day.c (paint_back): Rewrote function to avoid
+ painting an area more than once -- eliminate flicker.
+ (paint_back_rows): New function that calls paint_back() only for
+ the area of the specified rows.
+ (gncal_full_day_button_press):
+ (gncal_full_day_button_release):
+ (gncal_full_day_motion): Made these functions use
+ paint_back_rows() instead of paint_back(), to eliminate flicker. Wheee!
+
+1998-04-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gnome-cal.c (setup_day_view): We now connect to the
+ range_activated signal of the fullday widget instead of catching
+ key presses ourselves.
+ (day_view_range_activated): New function that creates a new
+ iCalObject and inserts it into the calendar, not finished yet.
+
+1998-04-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (get_time_from_rows): New function, calculates
+ a pair of time_t values from the specified start and number of rows.
+
+ * gncal-full-day.h (GncalFullDayClass): New signal
+ "range_activated". It is emitted when a range is selected and the
+ user hits Return.
+ (gncal_full_day_selection_range): New function, returns the
+ selected range.
+
+ * gncal-full-day.c (struct drag_info): Moved selection information
+ to their own fields instead of sharing the child's drag fields.
+ This allows us to keep the selection when a child is moved.
+ (recompute_motion): Made the case when (row < di->sel_click_row)
+ work correctly.
+
+1998-04-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gnome-cal.c (gnome_calendar_goto): Add support for navigating
+ on the day view.
+
+ * timeutil.c (time_start_of_day, time_end_of_day, time_day_hour):
+ New time manipulation functions.
+
+ * eventedit.c (ee_rp_init_frequency): Add the different frequency
+ editors to a notebook. Make the notebook startup on the entry
+ selected recurrence type;
+
+1998-04-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c (recompute_motion): Now we support selecting a
+ range in the main window (by clicking+dragging). It flickers
+ horribly and is not perfect, but it is a start.
+
+1998-04-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c: #include <string.h>
+
+ * gncal-full-day.c (child_map): Show instead of just map the child
+ widget (otherwise the text widget gets confused and will not focus).
+
+ * calobj.c (ical_object_to_vobject): Quote chars as 'x', not "x".
+
+ * calobj.h: Added prototype for ical_object_to_vobject().
+
+ * gnome-cal.c (gnome_calendar_object_changed): New function. This
+ should be called when a calendar object is changed.
+
+ * gncal-full-day.c (update_from_drag_info): Call
+ gnome_calendar_object_changed() instead of updating manually.
+
+ * calendar.c (calendar_add_object):
+ (calendar_remove_object): Set the modified flag to true.
+
+ * gncal-full-day.c (gncal_full_day_draw): Finished implementing
+ this function.
+
+1998-04-08 Raja R Harinath <harinath@cs.umn.edu>
+
+ * gncal.c (update_calendar): Say `#if 0', not `#ifdef 0'.
+
+1998-04-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * eventedit.c: Removed unused global variable parent_class.
+
+ * eventedit.h: Renamed gtk_window field to window.
+ Made the parent_class field in the EventEditorClass structure be a
+ GtkWindowClass, not a gnome property box class.
+ Added prototype for event_editor_get_type().
+
+1998-04-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-week-view.c (gncal_week_view_new): Use the new
+ gtk_table_set_homogeneous() instead of setting the variable directly.
+
+1998-04-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * eventedit.c (ee_create_ae): Make it return void.
+ (ee_alarm_widgets): Remove some unused variables.
+ (ee_store_alarm): Make it return void.
+ #include <string.h>
+
+ * eventedit.h: #include "gnome-cal.h"
+
+ * calobj.c (list_free): Don't use g_free in the g_list_foreach.
+
+ * calendar.h: Add prototype for calendar_load().
+
+ * timeutil.h: Add prototypes for time_add_*().
+
+ * calendar.c:
+ * calobj.c:
+ * eventedit.c:
+ * gnome-cal.c: #include "timeutil.h"
+
+ * gncal-day-view.c (gncal_day_view_size_request): Make the minimum
+ width equal or larger to the title width.
+
+ * main.c: #include "eventedit.h"
+ (main): Add a return statement.
+ (new_calendar): Show stuff *after* the calendar has been loaded.
+
+ * gnome-cal.c (gnome_calendar_load): Update the day view.
+ (setup_widgets): Hackish setup of a day view widget - will fix later.
+ (gnome_calendar_init): Initialize all fields.
+
+ * gnome-cal.h: Added day_view field. Maybe this should be changed
+ when the a complete day view panel is complete.
+
+ * gncal-day-view.c (gncal_day_view_update): Draw after update, not
+ before.
+
+1998-04-06 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
+
+ * versit/.cvsignore: New file.
+
+Fri Apr 3 22:31:54 1998 Tom Tromey <tromey@cygnus.com>
+
+ * calendar.c: Include <config.h>.
+
+1998-04-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * timeutil.c (time_add_year, time_add_year, time_add_week):
+ Routines for time manipulation.
+
+ * calobj.c (ical_object_destroy): Full destruction of the object.
+
+ * eventedit.c: Finished the main event editor form; It still
+ lacks the details and the recurrence bits. It now adds events
+ and cancels.
+
+1998-04-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * view-utils.c (view_utils_draw_events): The "better" format
+ string for strftime() wasn't better, after all :-(
+
+1998-04-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-full-day.c: New full-day widget. It is still a work in
+ progress. It will be similar to M$ Schedule's nifty full day view
+ widget, but with Gtk's elegance :-)
+
+ * Makefile.am (gnomecal_SOURCES): Added gncal-full-day.[ch] to the sources.
+
+1998-04-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * eventedit.c: Object editor widget. We dropped ObjEdit.
+
+ * timeutil.c (time_from_isodate): Fix.
+
+ * view-utils.c (view_utils_draw_events): Changed the display
+ formats.
+
+1998-04-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * view-utils.c (view_utils_draw_events): Use better format
+ specifier for strftime().
+ (view_utils_draw_textured_frame): Ultra-nifty function to draw
+ textured "metal" frames, like Netscape's handles.
+
+1998-04-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * gncal-day-view.c (gncal_day_view_update): Day events are now
+ cached inside the widget. They get initialized at this time.
+
+ * view-utils.c (view_utils_draw_events): Use the list of events.
+
+1998-04-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-day-view.c (gncal_day_view_set_shadow): New customization
+ function. We can't decide on a stupid border type :-)
+ (gncal_day_view_init): Made GTK_SHADOW_ETCHED_IN be the default
+ shadow type. Looks good.
+
+1998-04-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * main.c: New main program that uses our new datatypes and
+ objects.
+
+ * calendar.c (calendar_load_from_vobject, calendar_load):
+ Implement loading of vCalendar objects and vCalendar files.
+
+ * calobj.c (ical_object_create_from_vobject): Implement loading of
+ vCalendar event and todo objects.
+
+ * timeutil.c (isodate_from_time_t): New function.
+
+ * gnome-cal.c, gnome-cal.h: Implement a toplevel widget, derived
+ from GnomeApp. It holds all of the day views and arbitrates the
+ display.
+
+1998-04-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-week-view.[ch]: New week view composite widget. This
+ provides a full week view (7 day views plus busy time display --
+ the latter is currently unimplemented).
+
+1998-04-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal-day-view.c: New day view widget. It is intended to be a
+ child widget of the week view composite widget.
+
+ * calendar.c (calendar_get_objects_in_range):
+ (calendar_get_events_in_range):
+ (calendar_get_journal_in_range):
+ (calendar_get_journal_in_range): These functions now take a
+ sort_func parameter, which is of type GCompareFunc. If the
+ specified value is non-NULL, it will return a sorted list.
+ Otherwise, it will return an unordered list.
+ (calendar_compare_by_dtstart): Provide a generic sorting routine
+ for calendar objects.
+
+1998-04-01 Miguel de Icaza <miguel@kernel.org>
+
+ * Start from scratch
+
+Tue Mar 31 23:46:50 1998 Tom Tromey <tromey@cygnus.com>
+
+ * timeutil.c (format_simple_hour): `buf' now static.
+
+1998-03-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal.c: Removed #include "gtkcalendar.h", because it now comes
+ from libgnomeui.
+
+ * Makefile.am (gncal_SOURCES): Added new source files to the rules.
+
+ * timeutil.c (format_simple_hour): New function, formats an
+ hour/am_pm pair into a string of the form "3am", "12pm", "05h",
+ "19h", etc. It is used by the day view widget for its labels.
+
+1998-03-31 Craig Small <csmall@small.dropbear.id.au>
+
+ * Now has (non working) session maangement
+ * Uses a clist for the dailylist like gtt
+
+Sat Mar 21 15:43:20 1998 Tom Tromey <tromey@cygnus.com>
+
+ * gncal.c: Use gnome_message_box_*, not gnome_messagebox_*.
+
+1998-03-12 Craig Small <csmall@small.dropbear.id.au>
+
+ * Now linked (in some horrible way) to the gtkcalendar widget.
+
+Sun Mar 8 16:38:10 1998 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.am (INCLUDES): Added GNOME_INCLUDEDIR.
+ (gncal_LDADD): Don't include libsupport.a.
+
+ * gncal.c (main): Use new gnome_init.
+
+1998-02-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gncal.c (main): Added app_id "gncal".
+
+1998-02-19 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
+
+ * Makefile.am (gncal_LDADD): Added '$(INTLLIBS)'
+
+1998-02-18 Raja R Harinath <harinath@cs.umn.edu>
+
+ * Makefile.am (gncal_LDADD): Include `libsupport.a'.
+
+ * calcs.c (month_atoi): Replace buggy explicit loop string compare
+ with strcasecmp.
+ (day_atoi): Likewise.
+
+Sun Jan 25 23:38:30 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * menus.c: Replace "Quit" with "Exit".