aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2004-07-24 23:30:47 +0800
committerJP Rosevear <jpr@src.gnome.org>2004-07-24 23:30:47 +0800
commitc94fc09a5f0b0c4c99ae2408aea695ae3b07ee91 (patch)
treeac49acc32e38807d38f3776d8f0407f97c490219
parent379c7e83aaf23c92e969042d66dfd6a96457c21f (diff)
downloadgsoc2013-evolution-c94fc09a5f0b0c4c99ae2408aea695ae3b07ee91.tar
gsoc2013-evolution-c94fc09a5f0b0c4c99ae2408aea695ae3b07ee91.tar.gz
gsoc2013-evolution-c94fc09a5f0b0c4c99ae2408aea695ae3b07ee91.tar.bz2
gsoc2013-evolution-c94fc09a5f0b0c4c99ae2408aea695ae3b07ee91.tar.lz
gsoc2013-evolution-c94fc09a5f0b0c4c99ae2408aea695ae3b07ee91.tar.xz
gsoc2013-evolution-c94fc09a5f0b0c4c99ae2408aea695ae3b07ee91.tar.zst
gsoc2013-evolution-c94fc09a5f0b0c4c99ae2408aea695ae3b07ee91.zip
Fixes #61571
2004-07-23 JP Rosevear <jpr@ximian.com> Fixes #61571 * gui/e-week-view.c (e_week_view_start_editing_event): if the event moves, find it again using the model data as the invariant and then find the span again svn path=/trunk/; revision=26721
-rw-r--r--calendar/ChangeLog1452
-rw-r--r--calendar/gui/e-week-view.c28
2 files changed, 32 insertions, 1448 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 723e941b45..6446884d96 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,11 @@
+2004-07-23 JP Rosevear <jpr@ximian.com>
+
+ Fixes #61571
+
+ * gui/e-week-view.c (e_week_view_start_editing_event): if the
+ event moves, find it again using the model data as the invariant
+ and then find the span again
+
2004-07-23 JP Rosevear <jpr@novell.com>
Fixes #61760
@@ -7332,1446 +7340,4 @@
2003-09-04 Rodrigo Moya <rodrigo@ximian.com>
- * gui/e-day-view.c (process_component):
- * gui/e-week-view.c (process_component): dont expand recurrences,
- since they are now expanded by the backends.
-
-2003-09-02 JP Rosevear <jpr@ximian.com>
-
- * gui/tasks-control.c (sensitize_commands): adapt to cal-client
- threaded sync api changes
-
- * gui/itip-utils.c (itip_organizer_is_user): ditto
-
- * gui/gnome-cal.c (gnome_calendar_purge): ditto
-
- * gui/e-meeting-model.c (process_section): ditto
-
- * gui/e-calendar-table.c (e_calendar_table_show_popup_menu): ditto
-
- * gui/e-cal-view.c (e_cal_view_create_popup_menu): ditto
-
- * gui/calendar-commands.c (sensitize_calendar_commands): ditto
- (sensitize_taskpad_commands): ditto
-
- * gui/dialogs/task-editor.c (set_menu_sens): ditto
-
- * gui/dialogs/meeting-page.c (meeting_page_construct): ditto
-
- * gui/dialogs/event-editor.c (set_menu_sens): ditto
-
- * gui/dialogs/alarm-page.c (add_clicked_cb): ditto
-
- * conduits/calendar/calendar-conduit.c (pre_sync): convert to
- cal_client api changes
-
- * conduits/todo/todo-conduit.c (pre_sync): ditto
-
- * cal-client/client-test.c (list_uids): match new error handling
-
- * cal-client/cal-marshal.list: marshallers
-
- * cal-client/cal-listener.[hc]: emit signals for corba listener
- callbacks - start with is_read_only, get_static_capabilities,
- get_cal_address, get_ldap_attribute, open, remove and object_list
-
- * cal-client/cal-client.h: move the status enum away from here,
- update protos to new thread sync api standard
-
- * cal-client/cal-client.c: the listener emits signals instead of
- using callback functions now and we return booleans + GError in
- outs for results
- (e_calendar_error_quark): for GError handling
- (cal_read_only_cb): handle listener op callback
- (cal_cal_address_cb): ditto
- (cal_alarm_address_cb): ditto
- (cal_ldap_attribute_cb): ditto
- (cal_static_capabilities_cb): ditto
- (cal_opened_cb): ditto
- (cal_removed_cb): ditto
- (cal_object_list_cb): ditto
-
- * cal-client/cal-client-types.h: add GError stuff
-
- * cal-client/Makefile.am: build glib marshal stuff
-
- * pcs/query.c (backend_opened_cb): comment out some break
- temporarily
-
- * pcs/cal.h: add protos
-
- * pcs/cal.c (impl_Cal_open): just call the backend method, it will
- handle the notification
- (impl_Cal_remove): ditto
- (impl_Cal_isReadOnly): ditto
- (impl_Cal_getCalAddress): ditto
- (impl_Cal_getAlarmEmailAddress): ditto
- (impl_Cal_getLdapAttribute): ditto
- (impl_Cal_getStaticCapabilities): ditto
- (impl_Cal_getObjectList): simplify
- (cal_new): set poa to be threaded
- (cal_notify_read_only): notification utils
- (cal_notify_cal_address): ditto
- (cal_notify_alarm_email_address): ditto
- (cal_notify_ldap_attribute): ditto
- (cal_notify_static_capabilities): ditto
- (cal_notify_open): ditto
- (cal_notify_remove): ditto
- (cal_notify_object_list): ditto
-
- * pcs/cal-factory.c (impl_CalFactory_getCal): dup the key and the
- object
- (cal_factory_new): set poa to be threaded
-
- * pcs/cal-backend.h: update vmethods and protos
-
- * pcs/cal-backend.c (cal_backend_get_cal_address): we no longer
- return anything - the callee is responsible for notification
- (cal_backend_get_alarm_email_address): ditto
- (cal_backend_get_ldap_attribute): ditto
- (cal_backend_get_static_capabilities): ditto
- (cal_backend_open): ditto
- (cal_backend_remove): ditto
-
- * pcs/cal-backend-file.h: update inheritance
-
- * pcs/cal-backend-file.c: inherit from CalBackendSync and make
- is_read_only, get_static_capabilities, get_cal_address, get_ldap_attribute, open and
- remove match
-
- * pcs/Makefile.am: build new files
-
-2003-09-02 JP Rosevear <jpr@ximian.com>
-
- * idl/evolution-calendar.idl: make all listener callbacks one ways
-
-2003-09-02 Rodrigo Moya <rodrigo@ximian.com>
-
- * pcs/cal-backend-file.c (match_recurrence_sexp, match_object_sexp):
- new callbacks for g_hash_table_foreach in get_object_list.
- (cal_backend_file_get_object_list): don't use the priv->comp list
- to check the components, use the hash table, which contains all
- the recurrences already expanded.
- (add_component): only expand recurrences for recurrent components.
-
-2003-09-01 Andrew Wu <Yang.Wu@sun.com>
-
- * gui/e-day-view.c:
- (e_day_view_change_event_end_time_up):
- (e_day_view_change_event_end_time_down): Use
- "ctrl+shift+alt+Up/Down" to change the end time of the editing
- event.
-
-2003-08-29 Rodrigo Moya <rodrigo@ximian.com>
-
- * pcs/cal-backend-file.c (lookup_component): take into account the 'rid'
- argument.
- (get_rid_string): new function to convert the recurrence ID to string.
- (add_recurrence_to_object): callback for cal_recur_generate_instances.
- (add_component): expand recurrences and g_strdup the hash's key.
- (free_cal_component): free also the hash's key.
-
-2003-08-28 Hans Petter Jansson <hpj@ximian.com>
-
- * gui/alarm-notify/alarm-queue.c (tray_icon_blink_cb)
- (display_notification): Use images that come with Evolution instead
- of unreleased stock, for now.
-
-2003-08-28 Hans Petter Jansson <hpj@ximian.com>
-
- * gui/alarm-notify/util.[ch]: Added alarm-notify utils.
-
- * gui/alarm-notify/Makefile.am: Added alarm-notify utils.
-
- * gui/alarm-notify/alarm-notify-dialog.c (timet_to_str_with_zone):
- Move to util.c.
-
- * gui/alarm-notify/alarm-queue.c (notify_dialog_cb)
- (on_dialog_removed_cb)
- (notify_dialog_cb)
- (tray_icon_destroyed_cb)
- (tray_icon_clicked_cb)
- (tray_icon_blink_cb)
- (display_notification): Add Rodrigo Moya's code for tray icon
- notification of appointments, with some fixes and blink code by me.
- Requires HEAD gnome-icon-theme for now.
-
-2003-08-27 Hans Petter Jansson <hpj@ximian.com>
-
- Fixes #29032.
-
- * gui/dialogs/task-details-page.c (status_changed): When task status
- is set to "In Progress", set percent complete to 50% only if it was
- previously set to 0% or 100%.
-
-2003-08-27 Bolian Yin <bolian.yin@sun.com>
-
- * gui/Makefile.am use libevolution-calendar-a11y instead of libevolution-a11y.
-
-2003-08-26 Jack Jia <jack.jia@sun.com>
-
- ** Fixes #47863.
-
- * gui/alarm-notify/alarm-notify.c (AlarmNotify_removeCalendar): set
- the initial value of lc_ptr and orig_str_ptr to NULL to avoid crash.
-
-
-2003-08-26 Rodrigo Moya <rodrigo@ximian.com>
-
- * idl/evolution-calendar.idl: QueryListener::notifyObjUpdated now gets
- a sequence of CalObj's.
-
- * pcs/query.c (add_component): send the whole object to the listener,
- not just the UID. Improved the way the listeners are notified, by allocating
- a CORBA sequence to be used for all listeners, not one for each.
- (match_component): pass the CalComponent to add_component, not only the UID.
- (start_cached_query_cb): send the whole object to the listener.
-
- * cal-client/cal-query.[ch]: changed argument names for "obj_updated"
- signal.
- (obj_updated_cb): pass the calobj's, not uid's.
-
- * gui/e-tasks.c (query_obj_updated_cb):
- * gui/gnome-cal.c (dn_query_obj_updated_cb, purging_obj_updated_cb):
- * gui/e-cal-model.c (query_obj_updated_cb): we now get the object's
- string representation instead of the UID.
-
-2003-08-25 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-client/cal-client.c (cal_client_get_object): added a 'rid' argument
- to match the IDL method.
-
- * conduits/calendar/calendar-conduit.c (local_record_from_uid):
- * conduits/todo/todo-conduit.c (local_record_from_uid):
- * gui/comp-editor-factory.c (edit_existing):
- * gui/comp-util.c (cal_comp_is_on_server):
- * gui/e-cal-model.c (query_obj_updated_cb):
- * gui/e-itip-control.c (find_server, get_real_item, update_attendee_status):
- * gui/gnome-cal.c (dn_query_obj_updated_cb, purging_obj_updated_cb):
- * gui/dialogs/comp-editor.c (obj_updated_cb): adapted to changes in
- cal_client_get_object().
-
-2003-08-23 Rodrigo Moya <rodrigo@ximian.com>
-
- * pcs/query-backend.c (object_updated_cb):
- * pcs/cal-backend.c (cal_backend_get_type_by_uid): use 'rid' parameter
- where appropriate.
-
- * pcs/cal-backend-file.c (check_dup_uid): removed unused variables.
- (cal_backend_file_compute_changes_foreach_key): pass a NULL 'rid'
- to cal_backend_get_object().
- (lookup_component): get a 'rid' argument also.
- (cal_backend_file_cancel_object, cal_backend_file_remove_object):
- pass correct number of parameters to lookup_component().
-
-2003-08-22 Rodrigo Moya <rodrigo@ximian.com>
-
- * idl/evolution-calendar.idl: use UID/RID pairs to identify objects.
-
- * pcs/cal.c (impl_Cal_getObject): added 'rid' parameter.
-
- * pcs/cal-backend.c (cal_backend_get_object): added 'rid' parameter.
- (cal_backend_get_object_component): ditto.
- (get_object): ditto.
-
- * pcs/cal-backend-file.c (cal_backend_file_get_object_component):
- added 'rid' parameter.
- (lookup_component): added 'rid' parameter and made it search for the
- recurrence when that parameter is not NULL.
- (cal_backend_file_get_alarms_for_object, cal_backend_file_update_object):
- adapted to changes in lookup_component().
-
-2003-08-22 Frederic Crozat <fcrozat@mandrakesoft.com>
-
- * gui/alarm-notify/notify-main.c: (main):
- Ensure we get UTF-8 strings from gettext.
-
-2003-08-22 Bolian Yin <bolian.yin@sun.com>
-
- Fixes #47779
-
- * gnome-cal.c (gnome_calendar_get_visible_time_range): fix the return value bug.
-
-2003-08-21 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-client/cal-client.[ch] (cal_client_send_object): use a 'char **'
- for the 'error_msg' argument, instead of a fixed size string.
-
- * gui/itip-utils.c (comp_server_send): pass the correct parameter to
- cal_client_send_object.
-
-2002-08-20 Hans Petter Jansson <hpj@ximian.com>
-
- * gui/e-itip-control.c (start_defalt_server): Rename to
- start_default_server_async () and don't run a nested main loop. Let
- the caller deal with the client object and signals.
- (default_server_started_cb): Implement. Async signal handler for
- 'cal_opened' signal, does the embedding.
- (object_requested_cb): Rewritten to work asynchronously, and finish
- the embedding when default_server_started_cb() is called.
-
-2003-08-20 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-calendar-table.c (setup_popup_icons): new function to set icons
- on the popup menu items.
- (e_calendar_table_show_popup_menu): call setup_popup_icons.
-
- * gui/e-cal-view.c (setup_popup_icons): set more icons for the
- popup menu.
-
-2003-08-20 Bolian Yin <bolian.yin@sun.com>
-
- * gui/Makefile.am : Add a11y dependency.
- * gui/calendar-commands.c (calendar_get_text_for_folder_bar_label)
- * gui/e-cal-view.c: Add two new events: "event_changed" and "event_added"
- * gui/e-day-view.c (e_day_view_class_init): init a11y.
- (e_day_view_find_event_from_item): make it public from private
- (e_day_view_update_event_cb): emit "event_changed" signal
- (e_day_view_reshape_day_event): emit "event_added" signal
- (e_day_view_reshape_long_event): emit "event_added" signal
- * gui/e-week-view.c (e_week_view_class_init): init a11y.
- (e_week_view_find_event_from_item): make it public from private
- (e_week_view_update_event_cb): emit "event_changed" signal
- (e_week_view_reshape_event_span): emit "event_added" signal
- * gui/gnome-cal.c (gnome_calendar_class_init): init a11y.
- (gnome_calendar_get_e_calendar_widget),
- (gnome_calendar_get_search_bar_widget),
- (gnome_calendar_get_view_notebook_widget): new functions
-
-
-2003-08-20 Rodrigo Moya <rodrigo@ximian.com>
-
- * pcs/query-backend.c (foreach_uid_cb): use the icalcomponent
- to call icalcomponent_get_uid, not the string.
-
-2003-08-20 Rodrigo Moya <rodrigo@ximian.com>
-
- * pcs/cal-backend-file.c: store objects by UID and RID.
- (free_object): new function to free the CalBackendFileObject structure.
- (cal_backend_file_dispose): use free_object callback to remove the
- objects in the comp_uid_hash.
- (lookup_component): search correctly the component in the new hash
- table organizarion.
- (check_dup_uid): ditto.
- (add_component): ditto.
- (remove_component): ditto.
-
-2003-08-19 JP Rosevear <jpr@ximian.com>
-
- * gui/gnome-cal.c (setup_widgets): set up models here
- (gnome_calendar_construct): not here
-
- * conduits/calendar/calendar-conduit.c
- (e_calendar_context_destroy): we have a list of calcomponents
- rather than uids now
- (process_multi_day): build a list of components rather than uids
- (pre_sync): use get_object_list instead of getting uids
- (for_each): create local records from calcomponents
-
- * conduits/todo/todo-conduit.c: as above
-
- * gui/print.c (instance_cb): mark as true if we found an instance
- (print_month_small): see if atleast one instance exists in a
- slight different way
-
- * cal-client/client-test.c (list_uids): use get_object_list
-
- * cal-client/cal-listener.h: update protos
-
- * cal-client/cal-listener.c (cal_listener_class_init): set object
- list callback implementation
- (impl_notifyObjectListRequested): implement
- (cal_listener_construct): take object list callback function
- (cal_listener_new): ditto
-
- * cal-client/cal-client.h: update protos, add status
-
- * cal-client/cal-client.c (e_calendar_new_op): create new op
- (e_calendar_get_op): retrieve current op
- (e_calendar_free_op): free the op
- (e_calendar_remove_op): clear current op
- (cal_client_init): create new mutex
- (cal_client_finalize): destroy mutex
- (build_object_list): build list of icalcomponents
- (cal_object_list_cb): handle getObjectList response
- (real_open_calendar): pass extra listener arg
- (cal_client_get_object_list): implement using thread safe mutex
- locking
- (cal_client_get_object_list_as_comp): return calcomponents instead
- of icalcomponents
- (cal_client_generate_instances): just get the object list - no
- need to make it atomic since get_object_list is already atomic
-
- * pcs/query.c (query_finalize): free new sexp class
- (parse_sexp): use new sexp class
- (match_component): ditto
-
- * pcs/query-backend.c (foreach_uid_cb): use icalcomponent to
- extract uid
- (query_backend_new): get all objects using object list call
-
- * pcs/cal.c (impl_Cal_getObjectList): implement
- (cal_class_init): adjust for idl method changes
-
- * pcs/cal-backend.h: update vmethods, add proto
-
- * pcs/cal-backend.c (cal_backend_class_init): remove get_uids and
- get_objects_in_range vmethods, add get_object_list vmethod
- (cal_backend_get_object_list): call through to vmethod implementation
-
- * pcs/cal-backend-object-sexp.[hc]: nice class to represent a sexp
- and search cal components
-
- * pcs/cal-backend-file.c (cal_backend_file_class_init): remove
- get_uids and get_objects_in_range calls and set get_object_list
- call
- (cal_backend_file_get_object_list): implement
- (create_user_free_busy): use sexp ops to implement
- (cal_backend_file_compute_changes): just iterate over the
- component list rather than fetching uids
-
- * pcs/Makefile.am: build new files
-
- * idl/evolution-calendar.idl: make opening a oneway call, add
- getObjectList call, remove getUIDS and getObjectsInRange call -
- both can be done with getObjectList; make listener callbacks
- oneway
-
-2003-08-19 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/gnome-cal.c (gnome_calendar_purge): don't leak the client list.
- (gnome_calendar_destroy): disconnect from all callbacks on all
- loaded clients.
-
-2003-08-19 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model-tasks.c (ecmt_get_color_for_component): use
- "black" for normal tasks, since the light colors from the palette
- are too light.
-
- * gui/gnome-cal.c (gnome_calendar_purge): don't leak the client list.
- (gnome_calendar_destroy): disconnect from all callbacks on all
- loaded clients.
-
-2003-08-18 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-day-view.c: fixed the problem with a new event being
- created for each keystroke.
- (e_day_view_add_event): don't create a new default component, use
- the one we get as parameter.
- (e_day_view_do_key_press): get the UID from the icalcomponent.
-
- * gui/e-week-view.c (e_week_view_add_event, e_week_view_do_key_press):
- same as e-day-view.c
-
-2003-08-18 Ettore Perazzoli <ettore@ximian.com>
-
- * gui/calendar-component.c (impl_createControls): Oops, pass
- [NULL, NULL] to gtk_scrolled_window_new().
-
-2003-08-18 Ettore Perazzoli <ettore@ximian.com>
-
- * gui/main.c (factory): Ref the object from
- calendar_component_peek() before returning it.
-
-2003-08-17 Ettore Perazzoli <ettore@ximian.com>
-
- * gui/control-factory.h: #include <bonobo/bonobo-control.h>.
-
- * gui/Makefile.am (libevolution_calendar_la_LIBADD): Link to
- libeutil.
-
- * gui/e-calendar-table.c (e_calendar_table_set_status_message):
- Don't use the global_shell_client.
-
- * gui/main.c (factory): Call calendar_component_peek() for the
- GNOME_Evolution_Calendar_Component OAFIID.
-
- * gui/GNOME_Evolution_Calendar.server.in.in: Set up the
- GNOME_Evolution_Calendar_Component server and rename
- GNOME_Evolution_Calendar_Factory to
- GNOME_Evolution_Calendar_Factory_2.
- * gui/main.c: Updated IDs accordingly.
-
- * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct):
- Use calendar_component_peek_config_directory() instead of
- evolution_dir.
- * gui/gnome-cal.c (setup_widgets): Likewise.
- (gnome_calendar_destroy): Likewise.
- * gui/dialogs/meeting-page.c (meeting_page_construct): Likewise.
-
- * gui/gnome-cal.c (gnome_calendar_open): #if 0 some code for
- figuring out where the task list is.
-
- * gui/calendar-component.c: New file.
- * gui/calendar-component.h: New file.
-
- * gui/itip-utils.c (itip_addresses_get): Unref the GConf client
- from gconf_client_get_default.
-
-2003-08-15 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.c (ecm_get_color_for_component): use tigert's
- new color palette.
- (cal_removed_cb): when a client is removed, remove it from the model.
- (backend_died_cb): remove it also when the backend dies.
- (add_new_client): connect to new signals for CalClient's.
-
-2003-08-15 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.c (e_cal_model_finalize): don't unref the
- 'accounts' field, since it is internal to itip-utils.c.
-
- * gui/alarm-notify/alarm-notify.c (alarm_notify_add_calendar):
- initialize all fields of the LoadedClient struct before calling
- cal_client_open_calendar(), since the "cal_opened_cb" signal is
- now emitted within it.
-
-2003-08-14 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.[ch] (e_cal_model_free_component_data): new
- function.
-
- * gui/e-cal-view.h: added 'allocated_comp_data' field to the
- ECalViewEvent structure.
-
- * gui/e-day-view.c (e_day_view_add_event): allocate the event's
- ECalModelComponent if it hasn't been set.
- (e_day_view_update_event_cb, e_day_view_remove_event_cb,
- e_day_view_free_event_array): if the ECalModelComponent has
- been allocated by the view, free it here.
-
- * gui/e-week-event.c (e_week_view_add_event,
- e_week_view_update_event_cb, e_week_view_remove_event_cb,
- e_week_view_free_events): same as EDayView.
-
-2003-08-14 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.c (e_cal_model_create_component_with_defaults):
- use the default client to call cal_comp_*_new_with_defaults, and
- if no client is available, just create an empty icalcomponent.
-
- * gui/e-cal-view.c (e_cal_view_init): create an empty model.
-
- * gui/e-week-view.c (e_week_view_add_event): use the event's client.
-
-2003-08-13 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/gnome-cal.c (gnome_calendar_open): unref the client if there
- is an error.
- (update_query): set status bar messages for progress.
- (update_query_timeout): re-enabled.
- (client_cal_opened_cb): install timeout handler for the query updates.
-
- * gui/e-cal-view.c (e_cal_view_set_model): connect to all appropriate
- signals on the model, to be called for every change.
- (model_row_changed_cb, model_rows_changed_cb): new model callbacks.
-
- * gui/e-week-view-event-item.c (e_week_view_event_item_draw): colorize
- the background for multiple days events.
-
-2003-08-13 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.c (ecm_append_row, ecm_get_color_for_component):
- * gui/e-cal-model-tasks.c (ecmt_get_color_for_component): merged
- missing bith from calendar-views-with-model branch.
-
-2003-08-13 JP Rosevear <jpr@ximian.com>
-
- * cal-client/cal-client.c (real_open_calendar): set the priv->cal
- pointer in a slightly different spot so we have it in the call
- back
-
- * gui/e-cal-model.c (e_cal_model_get_client_list): merge this in
- properly
-
-2003-08-13 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.c (ecm_get_color_for_component): assign the colors
- based on the URI, which is stored in a common place for all models.
- Thus different views will use the same color for the same calendar.
-
- * gui/e-week-view-event-item.c (e_week_view_event_item_draw): draw
- a filled rectangle and a black border around it for one-day events.
-
- * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
- fill the rectangle for the item with its associated color.
-
-2003-08-13 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/gnome-cal.c (gnome_calendar_open): unref the client if there
- is an error.
- (update_query): set status bar messages for progress.
- (update_query_timeout): re-enabled.
- (client_cal_opened_cb): install timeout handler for the query updates.
-
- * gui/e-cal-view.c (e_cal_view_set_model): connect to all appropriate
- signals on the model, to be called for every change.
- (model_row_changed_cb, model_rows_changed_cb): new model callbacks.
-
- * gui/e-week-view-event-item.c (e_week_view_event_item_draw): colorize
- the background for multiple days events.
-
-2003-08-13 JP Rosevear <jpr@ximian.com>
-
- * cal-client/client-test.c (create_client): there is no more
- object updated signal
-
- * cal-client/cal-listener.c: clean up comment
-
- * cal-client/cal-client.c (cal_client_class_init): remove
- obj_updated and obj_removed signals
-
- * cal-client/cal-client.h: ditto
-
-2003-08-12 JP Rosevear <jpr@ximian.com>
-
- * pcs/cal-backend.h: remove get_uri vmethod
-
- * pcs/cal-backend.c (cal_backend_class_init): remove get_uri
- vmethod init
-
- * pcs/cal-backend-file.c (cal_backend_file_class_init): no longer
- a get uri vmethod
- (cal_backend_file_get_uri): remove implementation of above
-
-2003-08-12 JP Rosevear <jpr@ximian.com>
-
- * cal-client/client-test.c (main): use tmp uris
-
- * cal-client/cal-listener.h: update protos
-
- * cal-client/cal-listener.c (cal_listener_init): init removed
- function
- (cal_listener_finalize): clear removed function
- (impl_notifyCalOpened): take file status
- (impl_notifyCalRemoved): implement
- (cal_listener_construct): take remove function arg
- (cal_listener_new): ditto
-
- * cal-client/cal-client.h: update protos, add remove status
-
- * cal-client/cal-client.c
- (cal_client_remove_status_enum_get_type): add remove status type
- (cal_client_class_init): add removed signal
- (cal_opened_cb): can no longer get unsupported exception here
- (cal_removed_cb): emit removed status
- (real_open_calendar): pass removed callback function to listener
- (get_fall_back_uri): no longer append tasks.ics or calendar.ics
- (cal_client_remove_calendar): new c wrapper for corba function -
- calendar must be open currently
-
- * pcs/query.c (backend_opened_cb): only disconnect the open
- callback
- (backend_removed_cb): handle calendar removal
- (query_construct): listen for remove signal as well
-
- * pcs/cal.h: cal no longer takes uri during construction
-
- * pcs/cal.c (backend_to_listener_status): convert backend to corba
- status code
- (impl_Cal_open): backend open no longer takes uri, use above to
- send back status
- (impl_Cal_remove): implement
- (cal_construct): we no longer track the uri
- (cal_finalize): ditto
- (cal_class_init): set remove epv method
-
- * pcs/cal-factory.c (impl_CalFactory_getCal): instantiate backend
- with uri and kind properties
-
- * pcs/cal-backend.h: list file status enum, add protos
-
- * pcs/cal-backend.c (cal_backend_set_property): implement object
- properties
- (cal_backend_get_property): ditto
- (cal_backend_class_init): add properties vmethods and uri, kind
- properties, removed signal
- (cal_backend_get_uri): don't get the uri from the backend
- (cal_backend_get_kind): get the kind from the backend
- (cal_backend_open): adapt to new open call, no uri passed in
- (cal_backend_remove): call through to remove implementation
- (cal_backend_opened): use new file status
- (cal_backend_removed): emit removed signal
-
- * pcs/cal-backend-file.h: update protos
-
- * pcs/cal-backend-file.c (cal_backend_file_class_init): override
- remove vmethod
- (cal_backend_file_init): default file name to calendar.ics
- (cal_backend_file_set_file_name): accessor for filename tacked on
- to uri
- (cal_backend_file_get_file_name): ditto
- (open_cal): return "file" type status codes
- (create_cal): ditto
- (get_uri_string): construct the full uri string
- (cal_backend_file_open): use above
- (cal_backend_file_remove): implement
-
- * pcs/cal-backend-file-todos.c (cal_backend_file_todos_init): set
- the file name to tasks.ics
-
- * pcs/cal-backend-file-events.c (cal_backend_file_events_init):
- set the file name to calendar.ics
-
- * cal-util/cal-util.c (cal_util_expand_uri): just return a copy of
- the uri now
-
- * idl/evolution-calendar.idl: convert OpenStatus to FileStatus so
- remove() can use it as well
-
- * gui/gnome-cal.c (gnome_calendar_open): just open the default
- folder in all cases
-
-2003-08-12 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-util/cal-util.[ch] (cal_util_component_has_alarms): new function.
-
- * gui/gnome-cal.[ch]:
- * gui/goto.c:
- * gui/itip-bonobo-control.c:
- * gui/print.c:
- * gui/e-week-view.[ch]:
- * gui/e-day-view.[ch]: lots of fixes to make all compile with no
- warnings.
-
-2003-08-12 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-util/cal-util.[ch] (cal_util_component_has_organizer):
- new function.
-
- * gui/e-day-view-main-item.c:
- * gui/e-day-view-top-item.c:
- * gui/e-week-view-event-item.c:
- * gui/e-week-view.c: adaptated to changes in ECalViewEvent.
-
- * gui/e-cal-model.[ch] (e_cal_model_get_client_list): new function.
- (ecm_append_row): fixed usage of icalcomponent variable.
-
- * gui/e-cal-view.c (e_cal_view_class_init): removed unused variable.
- (selection_received): use default client for pasting from clipboard.
- (e_cal_view_cut_clipboard): cut the appointment from its client.
- (e_cal_view_copy_clipboard, delete_event, on_save_as, om_print_event,
- e_cal_view_delete_selected_occurrence, on_meeting, on_forward,
- e_cal_view_create_popup_menu): adapted to changes in ECalViewEvent.
- (e_cal_view_delete_selected_event, e_cal_view_delete_selected_events):
- pass the ECalViewEvent to delete_event, so that it knows which
- CalClient to use.
- (on_edit_appointment): pass CalClient and icalcomponent to
- gnome_calendar_edit_object.
- (on_publish): publish F/B info for all the clients currently loaded
- in the view.
- (setup_popup_icons): added missing argument to gtk_image_new_from_stock.
-
- * gui/calendar-commands.c (publish_freebusy_cmd): publish F/B info
- for all the clients currently loaded in the view.
- (sensitize_calendar_commands): use icalcomponent functions.
-
- * gui/e-day-view.c:
- * gui/comp-editor-factory.c (impl_editExisting):
- * gui/calendar-offline-handler.c (backend_cal_opened_online):
- * gui/e-alarm-list.c (e_alarm_list_finalize):
- * gui/e-cal-model-tasks.c (ecmt_get_color_for_component):
- * gui/e-date-time-list.c (e_date_time_list_finalize):
- * gui/control-factory.c (get_prop): fixed warnings.
-
-2003-08-12 Hans Petter Jansson <hpj@ximian.com>
-
- * gui/calendar-offline-handler.c (impl_dispose): Chain. Prevent
- double unrefs.
- (impl_finalize): Chain.
-
- * gui/e-alarm-list.c (finalize): Chain.
-
- * gui/e-comp-editor-registry.c (destroy): Chain. Prevent double frees.
- (editor_destroy_cb): Don't crash if we get the destroy signal twice.
-
- * gui/e-date-time-list.c (e_date_time_list_finalize): Chain.
-
- * gui/e-meeting-attendee.c (finalize): Chain.
-
- * gui/e-meeting-model.c (finalize): Chain.
-
-2003-08-12 Andrew Wu <Yang.Wu@sun.com>
-
- * gui/e-day-view.c
- (e_day_view_change_duration_to_start_of_work_day):
- In DayView, Shift+Home, Change the duration to the time
- that begins the current work day.
- (e_day_view_change_duration_to_end_of_work_day):
- In DayView, Shift+End, Change the duration to the time
- that ends the current work day
-
-2003-08-12 Hans Petter Jansson <hpj@ximian.com>
-
- * gui/e-itip-control.c (html_destroyed):
- (init):
- (write_html): Add destroy chaining.
-
-2003-08-12 Andrew Wu <Yang.Wu@sun.com>
-
- * gui/e-week-view.c
- (e_week_view_on_key_up):
- (e_week_view_on_key_down):
- (e_week_view_on_key_left):
- (e_week_view_on_key_right):
- In the WeekView, Navigation through days with arrow keys.
-
-2003-08-12 Harry Lu <harry.lu@sun.com>
-
- ** fixes #47464.
-
- * gui/dialogs/meeting-page.c: (get_widgets): The Organizer's value
- need not match one of the values in the list.
-
-2003-08-12 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-day-view.c (e_day_view_update_query):
- * gui/e-week-view.c (e_week_view_update_query): remove the status bar
- messages when the operation is finished.
-
- * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
- draw a rectangle filled with the color associated with the event's
- calendar.
-
-2003-08-12 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-util/cal-util.[ch] (cal_util_component_has_alarms): new function.
-
- * gui/gnome-cal.[ch]:
- * gui/goto.c:
- * gui/itip-bonobo-control.c:
- * gui/print.c:
- * gui/e-week-view.[ch]:
- * gui/e-day-view.[ch]: lots of fixes to make all compile with no
- warnings.
-
-2003-08-12 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-util/cal-util.[ch] (cal_util_component_has_organizer):
- new function.
-
- * gui/e-day-view-main-item.c:
- * gui/e-day-view-top-item.c:
- * gui/e-week-view-event-item.c:
- * gui/e-week-view.c: adaptated to changes in ECalViewEvent.
-
- * gui/e-cal-model.[ch] (e_cal_model_get_client_list): new function.
- (ecm_append_row): fixed usage of icalcomponent variable.
-
- * gui/e-cal-view.c (e_cal_view_class_init): removed unused variable.
- (selection_received): use default client for pasting from clipboard.
- (e_cal_view_cut_clipboard): cut the appointment from its client.
- (e_cal_view_copy_clipboard, delete_event, on_save_as, om_print_event,
- e_cal_view_delete_selected_occurrence, on_meeting, on_forward,
- e_cal_view_create_popup_menu): adapted to changes in ECalViewEvent.
- (e_cal_view_delete_selected_event, e_cal_view_delete_selected_events):
- pass the ECalViewEvent to delete_event, so that it knows which
- CalClient to use.
- (on_edit_appointment): pass CalClient and icalcomponent to
- gnome_calendar_edit_object.
- (on_publish): publish F/B info for all the clients currently loaded
- in the view.
- (setup_popup_icons): added missing argument to gtk_image_new_from_stock.
-
- * gui/calendar-commands.c (publish_freebusy_cmd): publish F/B info
- for all the clients currently loaded in the view.
- (sensitize_calendar_commands): use icalcomponent functions.
-
- * gui/e-day-view.c:
- * gui/comp-editor-factory.c (impl_editExisting):
- * gui/calendar-offline-handler.c (backend_cal_opened_online):
- * gui/e-alarm-list.c (e_alarm_list_finalize):
- * gui/e-cal-model-tasks.c (ecmt_get_color_for_component):
- * gui/e-date-time-list.c (e_date_time_list_finalize):
- * gui/control-factory.c (get_prop): fixed warnings.
-
-2003-08-11 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-util/cal-util.[ch] (cal_util_component_is_instance,
- cal_util_component_has_recurrences, cal_util_component_has_rdates,
- cal_util_component_has_rrules, cal_util_event_dates_match):
- new functions needed for the CalComponent->icalcomponent
- transition.
-
- * gui/e-day-view.[ch]:
- * gui/e-week-view.[ch]: more adaptation to changes in ECalViewEvent.
-
- * gui/gnome-cal.c (gnome_calendar_edit_object): use icalcomponent's
- instead of CalComponent's.
-
-2003-08-11 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-day-view.c: more adaptation to changes in ECalViewEvent.
- (e_day_view_update_event_cb): use an ECalModelComponent, not a
- CalComponent.
- (process_component): pass an ECalModelComponent to
- e_day_view_update_event_cb().
-
- * gui/e-week-view.c: more adaptation to changes in ECalViewEvent.
- (e_week_view_update_event_cb, e_week_view_reshape_event_span):
- set the background color on the event's summary text.
-
-2003-08-11 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-week-view.c (e_day_view_update_query): no more query
- management here.
- (query_obj_updated_cb, query_obj_removed_cb, query_query_done_cb,
- query_eval_error_cb): removed query signals' callbacks.
- (adjust_query_sexp): removed.
- (process_component): new function to draw all components from
- the model.
-
- * gui/e-day-view.c: adapted to changes in ECalViewEvent structure.
- (e_day_view_update_query): no more query management here.
- (query_obj_updated_cb, query_obj_removed_cb, query_query_done_cb,
- query_eval_error_cb): removed query signals' callbacks.
- (adjust_query_sexp): removed.
- (process_component): new function to draw all components from
- the model.
-
-2003-08-11 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-view.c (e_cal_view_destroy): disconnect from signals
- on the model.
- (e_cal_view_set_model): disconnect from signals on the old model
- and connect on the new one.
- (model_changed_cb): tell the views to redraw when the model changes.
-
- * gui/gnome-cal.c (dn_query_obj_updated_cb, gnome_calendar_destroy,
- client_categories_changed_cb): removed the 'client' field from the
- private structure, so don't use it anymore
- (client_cal_opened_cb): if successful, add the CalClient to the
- views' model.
- (gnome_calendar_construct): don't add the client to the task model,
- add it in client_cal_opened_cb().
- (gnome_calendar_get_cal_client): removed.
- (gnome_calendar_get_calendar_model): new function.
- (gnome_calendar_open): create the CalClient here, to be added to the
- views' model in client_cal_opened_cb().
-
-2003-08-09 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-view.[ch] (e_cal_view_get_cal_client,
- e_cal_view_set_cal_client, e_cal_view_get_query,
- e_cal_view_set_query): removed unneeded functions.
- (e_cal_view_get_model, e_cal_view_set_model): new functions.
- (e_cal_view_destroy): free the model.
- (e_cal_view_init): removed sexp initialization.
-
- * gui/gnome-cal.c (gnome_calendar_set_query): set the
- query on the view's model, not on the view.
- (gnome_calendar_construct): create the calendar model and associate
- it to all the views.
-
-2003-08-08 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model-calendar.c (ecmc_fill_component_from_model):
- implemented new virtual method.
- (ecmc_class_init): initialize new virtual method.
-
-2003-08-08 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-client/cal-client.c (cal_client_update_object_with_mod):
- cal_client_get_component_as_string_internal expects now a
- icalcomponent, not a CalComponent.
-
- * gui/e-cal-model.h: added fill_component_from_model virtual method.
-
- * gui/e-cal-model.c (e_cal_model_get_default_client): return
- the default URI as per the configuration if we've got that
- client loaded. If not, return the first client.
- (get_dtstart): retrieve the value from the icalproperty.
- (set_summary): implemented correctly.
- (set_categories, set_classification, set_description): changed
- to really get an ECalModelComponent.
- (ecm_append_row): pass the correct arguments to the set_ functions
- and call the class' fill_component_from_model method to fill in the
- created icalcomponent.
-
- * gui/e-cal-model-tasks.c (set_due): added missing function.
- (ecmt_set_value_at): implemented case for DUE field.
- (ecmt_fill_component_from_model): implemented new virtual method.
- (ecmt_append_row): removed.
-
- * gui/e-cal-model-calendar.c (ecmc_append_row): removed.
-
- * gui/e-calendar-table.c (e_calendar_table_init): initialize
- missing fields. Disabled call to g_object_unref on the 'extras'
- object, since it causes GLib warnings. Something is wrong here.
-
-2003-08-08 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.c (cal_opened_cb): don't call remove_client,
- since the client, at this point, hasn't been added anywhere.
- (ecm_finalize): don't call e_cal_model_remove_all_clients, since
- that function triggers notifications on the model.
- (query_obj_updated_cb): free all the date fields.
-
-2003-08-07 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.c (ecm_value_at): don't convert to an integer
- the return value from get_color.
- (ecm_get_color_for_component): use correct GTK 2.x color values.
-
- * gui/e-calendar-table.c: replace all CAL_COMPONENT_FIELD...
- with the correct E_CAL_MODEL_*_FIELD...
-
-2003-08-07 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model-tasks.c (get_completed, get_due): added
- missing implementation.
- (ecmt_class_init): initialize missing virtual method.
-
- * gui/gnome-cal.c (gnome_calendar_construct): fixed typo.
-
-2003-08-07 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-client/cal-client.[ch] (cal_client_get_component_as_string):
- * cal-util/cal-util.[ch] (cal_util_add_timezone_from_component):
- use icalcomponent's instead of CalComponent's.
-
- * gui/Makefile.am:
- * gui/calendar-model.[ch]: removed old model class.
-
- * gui/e-calendar-table.[ch]: use ECalModelTasks class instead
- of CalendarModel.
- (e_calendar_table_set_status_message): new function.
- (get_selected_comp): return an ECalModelComponent.
- (get_selected_objects): return a list of ECalModelComponent's.
- (delete_selected_components): use the CalClient associated
- with each component.
- (copy_row_cb): adapted to changes in get_selected_comp.
-
- * gui/e-tasks.c:
- * gui/print.c:
- * gui/dialogs/comp-editor.c (save_as_cmd):
- * gui/e-day-view.c (e_day_view_on_drag_data_get):
- * gui/e-cal-view.c (e_cal_view_copy_clipboard, on_save_as): pass
- an icalcomponent to cal_util_add_timezones_from_component and
- cal_client_get_component_as_string.
-
- * gui/e-cal-model.[ch] (e_cal_model_set_use_24_hour_format):
- (e_cal_model_get_default_client):
- (e_cal_model_set_default_category): new functions.
-
- * gui/e-cal-model-tasks.[ch] (e_cal_model_tasks_mark_task_complete):
- new function.
- (ecmt_get_color_for_component): chain the call to the parent class
- so that it assigns the per-client color to 'normal' tasks.
-
- * gui/calendar-config.c (calendar_config_configure_e_calendar_table):
- call e_cal_model_set_use_24_hour_format.
-
-2003-08-07 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.c (ecm_get_color_for_component): use the color
- palette from Tuomas.
-
-2003-08-06 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.[ch]: removed 'create_component_with_defaults'
- virtual method.
- (e_cal_component_create_component_with_defaults):
- (e_cal_component_get_color_for_component): new functions.
-
-2003-08-06 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.[ch] (e_cal_model_set_query): new function.
- (e_cal_model_remove_all_clients): implemented.
- (remove_client): also remove all objects belonging to the
- client being removed.
-
-2003-08-06 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.c (get_dtstart, set_dtstart): implemented.
- (ecm_value_at, ecm_set_value_at, ecm_duplicate_value,
- ecm_free_value, ecm_value_to_string): added case for DTSTART
- field.
- (free_comp_data): free also the other date values in the
- ECalModelComponent struct.
- (e_cal_model_date_value_to_string): new function.
-
- * gui/e-cal-model.h: added new prototypes.
-
- * gui/e-cal-model-calendar.[ch]: new ECalModel-based class for
- containing events.
-
- * gui/e-cal-model-tasks.c (ecmt_value_to_string): implemented
- the case for date fields.
-
-2003-08-05 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-client/cal-client.c (generate_instances_obj_updated_cb): fixed
- parameters in call to cal_client_get_object().
- (get_objects_atomatically): same.
-
- * gui/e-cal-model.[ch]: added "get_color_for_component" virtual method.
- (get_color): new function to return the color. It calls the virtual
- method of the current class.
- (ecm_value_at): return a value for the color and icon columns.
- (e_cal_model_class_init): initialize virtual methods.
-
- * gui/e-cal-model-tasks.c (ecmt_get_color_for_component): implemented
- new class' virtual method.
-
-2003-08-05 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-client_/cal-client.c (cal_client_get_default_object): use
- correctly the pointer to pointer.
-
- * gui/e-week-view.c (query_obj_updated_cb): fixed the call to
- cal_client_get_object().
-
-2003-08-04 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-client/cal-client.[ch] (cal_client_get_default_object):
- (cal_client_get_object): use icalcomponent instead of CalComponent.
-
- * gui/e-cal-model.c (get_dtstart): implemented.
- (query_obj_updated_cb):
- (query_obj_removed_cb):
- (query_done_cb):
- (query_eval_error_cb): implemented missing functions.
-
- * gui/calendar-model.c:
- * gui/comp-editor-factory.c:
- * gui/comp-util.c:
- * gui/e-day-view.c:
- * gui/e-itip-control.c:
- * gui/e-week-view.c:
- * gui/gnome-cal.c:
- * gui/dialogs/comp-editor.c:
- * conduits/todo/todo-conduit.c:
- * conduits/calendar/calendar-conduit.c: adapted to changes
- in CalClient API.
-
-2003-08-04 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-client/cal-query.[ch] (cal_query_new): added a 'CalClient'
- argument to this function.
- (cal_query_get_client): new function.
-
- * cal-client/cal-client.c (cal_client_get_query): added new parameter
- in call to cal_query_new ().
-
-2003-08-01 Lorenzo Gil <lgs@sicem.biz>
-
- * gui/e-alarm-list.c: added the include <config.h> line at the
- beginning to enable gettext.
-
-2003-08-01 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.[ch] (e_cal_model_get_component_at): new function.
- (ecm_append_row): use the client from the source model.
- (e_cal_model_get_timezone, e_cal_model_set_timezone): new functions.
-
- * gui/e-cal-model-tasks.[ch]: new class for the tasks model.
-
-2003-07-31 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-model.[ch]: new class, based on CalendarModel to be
- an abstract class for calendar models.
-
- * gui/Makefile.am: added new files to build.
-
-2003-07-30 Rodrigo Moya <rodrigo@ximian.com>
-
- * cal-client/cal-client-multi.[ch]:
- * cal-client/Makefile.am: removed obsolete code.
-
-2003-07-30 Ettore Perazzoli <ettore@ximian.com>
-
- * gui/main.c (factory): Do not depend on global_shell_client being
- not NULL for creating the calendar preferences dialog.
-
- * gui/e-itip-control.c (show_current): Don't call get_servers
- anymore [to be fixed].
- (get_servers): #if 0ed out.
- (object_requested_cb): Don't create the folder selector button.
-
- * gui/e-cal-view.c (e_cal_view_set_status_message): Don't create
- an activity client.
-
- * gui/calendar-model.c (calendar_model_set_status_message): Don't
- create an activity client.
-
- * gui/calendar-component.c: Removed global variable
- global_shell_client.
- (owner_set_cb): Don't set global_shell_client.
- (owner_unset_cb): Don't set it here either.
-
-2003-07-29 Rodrigo Moya <rodrigo@ximian.com>
-
- Fixes all "alarm daemon doesn't start with session"
-
- * gui/alarm-notify/notify-main.c (main): use LIBGNOMEUI_MODULE
- instead of LIBGNOME_MODULE so that the default session client
- is created in gnome_program_init.
-
-2003-07-29 Harry Lu <harry.lu@sun.com>
-
- Fixes #46769
-
- * gui/dialogs/task-page.c: (task_page_fill_component): Popup a
- error dialog if due date time is before start datetime when saving
- a task.
-
-2003-07-29 Bolian Yin <bolian.yin@sun.com>
-
- Fixes #46847
-
- * gui/e-day-view.c (e_day_view_get_next_tab_event, e_day_view_focus):
- add day view widget in the tab loop of events.
- * gui/e-week-view.c (e_week_view_get_next_tab_event, e_week_view_focus):
- add week view widget in the tab loop of events.
-
- Also: add some comments in gui/e-day-view.c and gui/e-week-view.c
- remove two compile warnings in gui/e-day-view.c
-
-2003-07-24 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-view.[ch] (e_cal_view_delete_selected_occurrence):
- new function.
- (e_cal_view_get_timezone, e_cal_view_set_timezone): new functions.
- (e_cal_view_class_init): added new class' signal.
-
- * gui/e-week-view.[ch] (e_week_view_delete_occurrence,
- e_week_view_delete_occurrence_internal): removed.
- (e_week_view_get_timezone): removed.
- (e_week_view_set_timezone): renamed to timezone_changed_cb, as
- the callback for timezone changes in the parent ECalView.
- (e_week_view_on_button_press): call gnome_calendar_new_appointment
- instead of the non-existant e_week_view_new_appointment.
-
- * gui/e-day-view.[ch] (e_day_view_delete_occurrence,
- e_day_view_delete_occurrence_internal): removed.
- (e_day_view_get_timezone): removed.
- (e_day_view_set_timezone): renamed to timezone_changed_cb, as
- the callback for timezone changes in the parent ECalView.
-
- * gui/gnome-cal.c (gnome_calendar_delete_selected_occurrence):
- made it call e_cal_view_delete_selected_occurrence.
- (gnome_calendar_update_config_settings): call the generic
- e_cal_view_set_timezone on all view widgets.
-
- * gui/e-day-view-top-item.c:
- * gui/e-week-view-main-item.c:
- * gui/e-day-view-main-item.c: removed mentions to non-existant
- structure fields.
-
-2003-07-24 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-view.h: define ECalViewEvent as the base struct for
- the other views.
-
- * gui/e-day-view.[ch]: EDayViewEvent is now based on ECalViewEvent.
- (e_day_view_get_selected_events): made it return a list of
- ECalViewEvent's, not CalComponent's, so that we can get more
- information about the events.
-
- * gui/e-week-view.[ch]: EWeekViewEvent is now based on ECalViewEvent.
- (e_week_view_get_selected_events): same as e_day_view_get_selected_events.
-
- * gui/e-cal-view.c (e_cal_view_cut_clipboard, e_cal_view_copy_clipboard,
- e_cal_view_delete_selected_event, e_cal_view_delete_selected_events,
- on_edit_appointment, on_save_as, on_print_event, on_meeting,
- on_forward, e_cal_view_create_popup_menu):
- * gui/calendar-commands.c (sensitize_calendar_commands): updated
- to read ECalViewEvent's instead of CalComponent's as returned
- by e_cal_view_get_selected_events().
-
-2003-07-24 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-view.c (delete_event): check the uid before using it.
-
-2003-07-24 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-day-view.c (e_day_view_delete_event,
- e_day_view_delete_event_internal):
- * gui/e-week-view.c (e_week_view_delete_event,
- e_week_view_delete_event_internal): removed.
-
- * gui/e-cal-view.[ch] (e_cal_view_delete_selected_event): renamed
- from e_cal_view_delete_event_internal.
- (e_cal_view_delete_selected_events): new function.
-
- * gui/gnome-cal.c (gnome_calendar_delete_selection): call
- e_cal_view_delete_selected_events().
-
- * gui/e-week-view-event-item.c (e_week_view_event_item_get_position,
- e_week_view_event_item_button_press):
- * 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):
- adapted to changes in E*ViewPosition.
-
-2003-07-24 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-view.c (on_print): added missing cases.
- (setup_popup_icons): new function to set up icons for the popup menu.
- (e_cal_view_create_popup_menu): call setup_popup_icons.
-
-2003-07-23 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-view.[ch]: moved the duplicated popup menu code here.
- (e_cal_view_create_popup_menu): new function to create the popup
- menu for all views.
- (on_new_appointment, on_new_event, on_new_meeting, on_new_task,
- on_goto_today, on_goto_date, on_edit_appointment, on_print,
- on_save_as, on_print_event, on_meeting, on_forward, on_publish,
- on_settings, on_delete_appointment, on_cut, on_copy, on_paste,
- on_unrecur_appointment): callbacks for the popup menu items.
-
- * gui/e-week-view.c (e_week_view_on_new_appointment,
- e_week_view_new_appointment, e_week_view_on_new_event,
- e_week_view_on_new_meeting, e_week_view_on_new_task,
- e_week_view_on_goto_today, e_week_view_on_goto_date,
- e_week_view_on_edit_appointment, e_week_view_on_print,
- e_week_view_on_save_as, e_week_view_on_print_event,
- e_week_view_on_meeting, e_week_view_on_forward,
- e_week_view_on_publish, e_week_view_on_settings,
- e_week_view_on_delete_appointment,
- e_week_view_delete_event_internal, e_week_view_on_cut,
- e_week_view_on_copy, e_week_view_on_paste):
- * gui/e-day-view.c (e_day_view_on_new_appointment,
- e_day_view_on_new_event, e_day_view_on_new_meeting,
- e_day_view_on_new_task, e_day_view_on_goto_today,
- e_day_view_on_goto_date, e_day_view_on_edit_appointment,
- e_day_view_on_print, e_day_view_on_save_as,
- e_day_view_on_print_event, e_day_view_on_meeting,
- e_day_view_on_forward, e_day_view_on_publish,
- e_day_view_on_settings, e_day_view_on_delete_appointment,
- e_day_view_delete_event_internal, e_day_view_on_cut,
- e_day_view_on_copy, e_day_view_on_paste): removed duplicated code.
-
- * gui/gnome-cal.[ch] (gnome_calendar_unrecur_selection): new function.
-
-2003-07-23 Dan Winship <danw@ximian.com>
-
- * cal-util/Makefile.am: Use EVO_MARSHAL_RULE, and add
- MARSHAL_GENERATED to CLEANFILES
-
- * gui/alarm-notify/alarm-queue.c (on_dialog_obj_updated_cb): Fix
- an unused variable
-
- * gui/calendar-commands.c (purge_cmd): Fix warnings.
-
- * gui/calendar-config.h: s/confirm_expunge/confirm_purge/ to match
- the actual functions
-
- * gui/control-factory.c: add some missing #includes
-
- * gui/dialogs/delete-comp.c (delete_component_dialog): Fix a
- warning
-
- * gui/e-itip-control.c (write_label_piece): Remove unused variable.
-
- * gui/print.c (print_calendar): Remove unused variable
- (print_comp): Likewise.
-
- * gui/tasks-control.c (confirm_purge): Fix warnings.
- (print_tasks): Remove unused variable.
-
-2003-07-23 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-day-view.h:
- * gui/e-week-view.h: removed unneeded prototypes.
-
- * gui/e-cal-view.[ch] (e_cal_view_get_visible_time_range): new
- function.
- (selection_received): deal correctly with the selected time range.
-
- * gui/e-week-view.c (e_week_view_get_visible_time_range): made it
- private as the implementation of the 'get_visible_time_range'
- virtual method.
-
- * gui/e-day-view.c (e_day_view_get_visible_time_range): ditto.
-
- * gui/gnome-cal.c (gnome_calendar_direction): merged redundant 'case'.
- (focus_current_view): removed redundant code.
-
-2003-07-22 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-day-view.c (e_day_view_get_selected_events):
- * gui/e-week-view.c (e_week_view_get_selected_events): manage the
- case where the selected events are the popup menu ones.
-
-2003-07-22 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/gnome-cal.c (gnome_calendar_copy_clipboard,
- gnome_calendar_cut_clipboard, gnome_calendar_paste_clipboard):
- removed missing calls to e_day/week_view_*_clipboard.
-
-2003-07-22 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-view.[ch]: added "get_selected_events",
- and "update_query" virtual methods.
- (e_cal_view_class_init): initialize new virtual methods.
- (e_cal_view_destroy): destroy new private members.
- (e_cal_view_get_selected_events, e_cal_view_set_cal_client,
- e_cal_view_get_cal_client): new functions.
- (e_cal_view_cut_clipboard, e_cal_view_copy_clipboard,
- e_cal_view_paste_clipboard): merged clipboard stuff.
-
- * gui/e-day-view.c (e_day_view_cut_clipboard,
- e_day_view_copy_clipboard, e_day_view_paste_clipboard): removed.
- (e_day_view_get_selected_events): made these private as the
- implementation of the 'get_selected_events' base class virtual method.
-
- * gui/e-week-view.c (e_week_view_get_selected_events): ditto.
- (e_week_view_cut_clipboard, e_week_view_copy_clipboard,
- e_week_view_paste_clipboard): removed.
-
- * gui/calendar-commands.c (sensitize_calendar_commands): call
- e_cal_view_get_selected_events.
-
- * gui/gnome-cal.c: removed a lot of redundant code thanks to the
- above changes.
-
-2003-07-21 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-day-view.[ch]: removed e_day_view_set_calendar prototype.
- (e_day_view_set_status_message): removed.
-
- * gui/e-week-view.[ch] (e_week_view_set_status_message): removed.
-
- * gui/e-cal-view.[ch] (e_cal_view_set_status_message): new functions.
- (e_cal_view_destroy): unref activity client.
-
- * gui/gnome-cal.c: updated to e_*_view/e_cal_view.
-
-2003-07-18 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-day-view.[ch]:
- * gui/e-week-view.[ch]: moved duplicated code to...
-
- * gui/e-cal-view.[ch]: ...here.
- (e_cal_view_get_calendar, e_cal_view_set_calendar): new functions.
-
- * gui/e-week-view-event-item.c (e_week_event_item_double_click):
- * gui/gnome-cal.c (setup_widgets): adapted to changes in views.
-
-2003-07-17 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/e-cal-view.[ch]: new base class for calendar views.
-
- * gui/e-day-view.[ch]:
- * gui/e-week-view.[ch]: base these classes on ECalView.
-
- * gui/Makefile.am: added new files.
-
-2003-07-17 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/calendar-config.[ch]:
- * gui/tasks-control.c: s/expunge/purge.
-
-2003-07-16 Rodrigo Moya <rodrigo@ximian.com>
-
- * gui/gnome-cal.[ch] (gnome_calendar_purge): new function,
- which uses a CalQuery to retrieve the objects older than a given date.
- (check_instance_cb): callback for cal_recur_generate_instances.
- (purging_obj_updated_cb): call check_instance_cb on each recurrence
- to double-check the event can be deleted.
- (purging_query_done_cb, purging_eval_error_cb): needed callbacks to
- finish the query.
- (gnome_calendar_destroy): free new memb
+ * gui/e-day-vie \ No newline at end of file
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index b3a5dbf7c7..8be692efc4 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -2848,7 +2848,8 @@ e_week_view_start_editing_event (EWeekView *week_view,
EWeekViewEventSpan *span;
ETextEventProcessor *event_processor = NULL;
ETextEventProcessorCommand command;
-
+ ECalModelComponent *comp_data;
+
/* If we are already editing the event, just return. */
if (event_num == week_view->editing_event_num
&& span_num == week_view->editing_span_num)
@@ -2868,11 +2869,28 @@ e_week_view_start_editing_event (EWeekView *week_view,
NULL);
}
- /* FIXME: This implicitly stops any edit of another item, causing it
- to be sent to the server and resulting in a call to obj_updated_cb()
- which may reload all the events and so our span and text item may
- actually be destroyed. So we often get a SEGV. */
+ /* Save the comp_data value because we use that as our invariant */
+ comp_data = event->comp_data;
+
e_canvas_item_grab_focus (span->text_item, TRUE);
+
+ /* If the above focus caused things to redraw, then find the
+ * the event and the span again */
+ if (event_num < week_view->events->len)
+ event = &g_array_index (week_view->events, EWeekViewEvent, event_num);
+
+ if (event_num >= week_view->events->len || event->comp_data != comp_data) {
+ /* Unfocussing can cause a removal but not a new
+ * addition so just run backwards through the
+ * events */
+ for (event_num--; event_num >= 0; event_num--){
+ event = &g_array_index (week_view->events, EWeekViewEvent, event_num);
+ if (event->comp_data == comp_data)
+ break;
+ }
+ g_assert (event_num >= 0);
+ }
+ span = &g_array_index (week_view->spans, EWeekViewEventSpan, event->spans_index + span_num);
/* Try to move the cursor to the end of the text. */
g_object_get (G_OBJECT (span->text_item), "event_processor", &event_processor, NULL);