| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=12522
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=12339
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=12338
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=11866
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=11717
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=11559
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=11536
|
|
|
|
|
|
|
|
| |
2001-07-30 Rodrigo Moya <rodrigo@ximian.com>
* pcs/cal-backend-file.c (cal_backend_file_get_free_busy): implemented
svn path=/trunk/; revision=11472
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=11053
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=11027
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=10984
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=10961
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=10732
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=10729
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=10517
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=10456
|
|
|
|
|
|
| |
helixcode.com with ximian.com all over the place.
svn path=/trunk/; revision=10440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=10393
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=10333
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=9246
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=9013
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=8123
|
|
|
|
|
|
|
|
| |
2001-01-23 JP Rosevear <jpr@ximian.com>
* libical import cleanup
svn path=/trunk/; revision=7753
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=7571
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=7218
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=7134
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=7083
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=7076
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=6660
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=6086
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=5940
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=5516
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=5512
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=5399
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=5385
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=5298
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=5089
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
svn path=/trunk/; revision=5069
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=4613
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=4502
|
|
|
|
| |
svn path=/trunk/; revision=4494
|
|
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.
svn path=/trunk/; revision=4479
|