| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cal-util/cal-util.c (cal_util_parse_ics_file): Utility wrapper
around icalparser.
* cal-util/test-recur.c (main): Use it
* pcs/cal-backend-file.c (open_cal): Likewise
* gui/comp-editor-factory.c (open_client): Add the OpenClient to
the hash before calling cal_client_open_calendar, since in some
failure cases, that will call cal_opened_cb (which will free the
oc) with a failure immediately, causing a crash if we then try to
deref it.
svn path=/trunk/; revision=20492
|
|
|
|
| |
svn path=/trunk/; revision=20143
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-31 Rodrigo Moya <rodrigo@ximian.com>
* cal-util/cal-component.[ch]:
* cal-util/cal-recur.h:
* cal-util/cal-util.[ch]:
* cal-client/cal-client.h:
* cal-client/cal-client-multi.h:
* cal-client/cal-client-types.[ch]:
* cal-client/cal-listener.h
* cal-client/cal-query.[ch]:
* cal-client/query-listener.h:
* pcs/cal.h:
* pcs/cal-backend.[ch]:
* pcs/cal-backend-file.h:
* pcs/cal-backend-util.h:
* pcs/cal-common.h:
* pcs/cal-factory.h:
* pcs/query.[ch]:
* pcs/query-backend.[ch]: started GNOME 2 porting.
cal-util, cal-client and pcs compiled ok.
* cal-client/cal-client.c (cal_client_construct):
* pcs/cal-factory.c: use b-a instead of OAF and bonobo-config
instead of bonobo-conf.
svn path=/trunk/; revision=18496
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-26 Rodrigo Moya <rodrigo@ximian.com>
* cal-util/cal-util.[ch] (cal_util_add_timezones_from_component):
new function for adding VTIMEZONE components to a VCALENDAR
component.
* gui/e-calendar-table.c (copy_row_cb): added VTIMEZONE components
to resulting VCALENDAR top-level component.
* gui/e-week-view.c (e_week_view_copy_clipboard): copy to the
clipboard a top-level VCALENDAR component, with all the needed
VTIMEZONE components.
(e_week_view_on_copy): likewise.
* gui/e-day-view.c (e_day_view_copy_clipboard): likewise.
(e_day_view_on_copy): likewise.
svn path=/trunk/; revision=17604
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-07 JP Rosevear <jpr@ximian.com>
* gui/e-itip-control.c (start_calendar_server): start a server a
uri
(start_default_server): start a default server
(get_servers): get all clients for all folders of the given
type(s)
(find_server): locate a server for a particular uid
(init): get_servers, listen for object_requested signal
(destroy): destroy all clients
(write_html): put options is there own cell
(get_publish_options): place selector in if param is true
(get_request_options): ditto
(get_real_item): only try and look up the item if we know its in
the server
(show_current_event): find the server (if any) for the current
comp
(show_current_todo): ditto
(update_attendee_status): if there is no server for the comp, it
doesn't exist
(remove_item): ditto
(button_selected_cb): get a client for the selected folder
(object_requested_cb): draw the folder button in
* gui/calendar-config.h: new protos
* gui/calendar-config.c (calendar_config_default_tasks_folder):
get default tasks uri
(calendar_config_default_calendar_folder): get default calendar
uri
* cal-client/cal-client.c (get_default_uri): use
cal_util_expand_uri
* cal-util/cal-util.h: new proto
* cal-util/cal-util.c (cal_util_expand_uri): tack on the file name
if its a file uri
svn path=/trunk/; revision=16709
|
|
|
|
| |
svn path=/trunk/; revision=14214
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-22 Damon Chaplin <damon@ximian.com>
* idl/evolution-calendar.idl: added setDefaultTimezone() method.
* pcs/cal-backend.c (cal_backend_get_default_timezone):
(cal_backend_set_default_timezone): new functions to call class
methods.
* pcs/cal-backend-file.c: lots of changes to handle the default
timezone and use it.
* pcs/query.c: use the default timezone.
* gui/dialogs/task-details-page.c (date_changed_cb): initialized
completed_tt.
* gui/dialogs/event-page.c: changed it to handle DATE values. The
'All Day Event' checkbox is only set now when the DTSTART and DTEND
are DATE values.
* gui/dialogs/comp-editor-util.c (comp_editor_free_dates): free the
CalComponentDateTime structs as well.
* gui/e-tasks.c: set the default timezone on the server.
* gui/tag-calendar.c:
* gui/gnome-cal.c:
* gui/e-week-view.c:
* gui/e-day-view.c: updates to handle DATE values.
* gui/e-calendar-table.c (date_compare_cb): updated to use the new
ECellDateEditValue values, so it now works.
(percent_compare_cb): updated to use GPOINTER_TO_INT values.
(e_calendar_table_init): use an ECellPercent for the percent field
and an ECellDateEditText for the date fields.
* gui/comp-util.c (cal_comp_util_compare_event_timezones): return TRUE
if the DTSTART or DTEND is a DATE value. We don't want to show the
timezone icons for DATE values.
* gui/comp-editor-factory.c (resolve_pending_requests): set the default
timezone on the server.
* gui/calendar-model.c: major changes to support sorting properly.
For date and percent fields we now use subclasses of ECellText, so
we don't use a char* as the model value. For the percent field we now
use a GINT_TO_POINTER. For the date fields we now use a
ECellDateEditValue* as the value.
* gui/calendar-config.c (calendar_config_configure_e_cell_date_edit):
set the timezone and use_24_hour flags of the new ECellDateEditText.
* conduits/todo/todo-conduit.c (pre_sync):
* conduits/calendar/calendar-conduit.c (pre_sync): set the default
timezone on the server.
* cal-util/timeutil.c (time_days_in_month): removed debug message.
* cal-util/test-recur.c: try to handle timezones in the iCalendar
file properly, and updated to pass default timezone.
* cal-util/cal-util.c (cal_util_generate_alarms_for_comp):
(cal_util_generate_alarms_for_list): added default timezone argument.
* cal-util/cal-recur.c: changed many of the functions to take a default
timezone, to use to resolve DATE and floating DATE-TIME values.
* cal-client/cal-client.c (cal_client_set_default_timezone): new
function to set the default timezone.
(cal_client_ensure_timezone_on_server): new function to ensure that
a given timezone is on the server.
* gui/e-cell-date-edit-text.c: new subclass of ECellText to display
and edit a date value.
* cal-util/cal-recur.c (cal_obj_byday_expand_monthly): changed week_num
to -week_num when calculating the weeks to go back from the end of the
month for things like BYDAY=-2WE. Fixes bug #11525.
(cal_recur_generate_instances_of_rule): only go up to MAX_YEAR (2037).
We can't really handle anything past that anyway.
(cal_recur_ensure_rule_end_date): initialize cb_date.end_date to 0,
so if the RULE doesn't generate COUNT instances we save 0 as the
time_t.
svn path=/trunk/; revision=13920
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-26 Damon Chaplin <damon@ximian.com>
* gui/e-calendar-table.c (date_compare_cb):
(percent_compare_cb):
(priority_compare_cb): added comparison functions for these special
cell types. But the date and percent ones don't work yet due to the
use of static text buffers for return cell values.
(e_calendar_table_init): added the comparison functions to the
ETableExtras. NOTE: task_compare_cb() never seems to be called.
I'm not sure why it is there.
* gui/e-calendar-table.etspec: set the comparison function names for
the date/percent/priority fields.
* cal-util/cal-util.c (cal_util_priority_to_string):
(cal_util_priority_from_string): new utility functions.
* gui/calendar-model.c (get_priority):
(set_priority): used above utility functions, and removed the warning
dialog which isn't useful now that the field isn't editable.
* gui/dialogs/event-page.c (times_updated): handle timezones and for
all-day events make sure it stays an all-day event after adjusting.
Fixes bugs #5945 and #10222.
* gui/calendar-commands.c (pixmaps): fixed the E_PIXMAP paths - the
edit items were moved beneath 'EditPlaceholder'. This gets rid of
those long Bonobo warnings! (and we get the icons back)
* gui/dialogs/comp-editor.c (pixmaps): removed the PrintPreview toolbar
icon, since it doesn't appear in the xml file. Gets rid of warning.
* gui/dialogs/event-page.c (notify_dates_changed): new function to
emit the notification signal when the dates are changed. It also
handles timezones now.
* gui/dialogs/comp-editor-page.h (CompEditorPageDates): used
CalComponentDateTime for start/end/due so we have the timezone as well
as the time.
* gui/dialogs/comp-editor-util.c (comp_editor_dates): updated to get
the timezones as well as the times.
(comp_editor_free_dates): new function needed to free all the structs.
* gui/dialogs/recurrence-page.c (recurrence_page_set_dates): added call
to preview_recur() to make sure the preview gets updated.
* gui/dialogs/alarm-page.c (alarm_page_fill_widgets): free the
CompEditorPageDates struct after use.
* gui/tag-calendar.c (tag_calendar_by_comp): added 'comp_is_on_server'
argument. If FALSE, we try to use builtin timezones first. This is
needed for the recurrence page of the event editor, because the
timezones may not have been added to the server yet. This and the
changes to the notification stuff should fix bug #5034.
* gui/gnome-cal.c (dn_query_obj_updated_cb): call above
tag_calendar_by_comp() with TRUE since the events will be on the
server in this case.
* gui/e-day-view-layout.c:
* gui/e-day-view.c: made sure an event always takes up at least one
row, even when the start & end times are the same. Fixes bug #5944.
I don't know if we should try to also handle events with the end time
before the start time.
* gui/e-week-view.c (e_week_view_style_set): check that the small font
is actually smaller than the normal font. If it isn't, don't use it.
Hopefully fixes bug #6876.
(e_week_view_on_new_appointment): if only one day is selected, then
we set the initial time of the event to 1/2-hour from the start of the
working day, to differentiate 'New Appointment' from 'New All Day
Event'. Fixes bug #8892.
* gui/e-day-view.c (e_day_view_on_new_appointment): do the same as the
above.
svn path=/trunk/; revision=13186
|
|
|
|
|
|
|
|
| |
2001-09-26 Rodrigo Moya <rodrigo@ximian.com>
* cal-util/cal-util.h: added CAL_MODE_INVALID to CalMode enum
svn path=/trunk/; revision=13148
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-26 JP Rosevear <jpr@ximian.com>
* pcs/cal.h: new proto
* pcs/cal.c (impl_Cal_set_mode): implement set mode method
(cal_class_init): set setMode function in epv
(cal_notify_mode): notify listener of mode change
* pcs/cal-factory.c (add_uri): deal with UriType renaming
* pcs/cal-backend.h: add new virtual methods and protos
* pcs/cal-backend.c (cal_backend_class_init): init new virtual
methods to null
(cal_backend_set_mode): sets mode
(cal_backend_get_mode): gets mode
* pcs/cal-backend-file.c (cal_backend_file_class_init): overide
get_mode and set_mode methods
(cal_backend_file_get_mode): return mode
(notify_mode): have listeners notified of the set mode call
(cal_backend_file_set_mode): set the mode by indicating not
supported
* cal-client/cal-listener.h: update proto
* cal-client/cal-listener.c (impl_notifyCalSetMode): implement set
mode callback
(cal_listener_construct): take set mode callback
(cal_listener_new): ditto
* cal-client/cal-client.h: update protos, add signal proto
* cal-client/cal-client.c (cal_client_class_init): add
cal_set_mode signal
(cal_set_mode_cb): handle set mode callback from listener
(cal_client_open_calendar): pass additional param to cal_listener_new
(cal_client_set_mode): wrapper to set the calendar mode
* idl/evolution-calendar.idl: make UriType into CalMode, add
SetModeStatus enum and notifyCalSetMode method to the listener
* gui/calendar-offline-handler.c (create_connection_list): fetch
the uri list ourselves
(impl_prepareForOffline): reflect param change of
create_connect_list
(update_offline): ditto
(backend_cal_set_mode): set mode call back
(backend_cal_opened): cal opened call back, set mode to local
(impl_goOffline): reflect UriType renaming
* cal-util/cal-util.h: rename UriType to CalMode
svn path=/trunk/; revision=13142
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-25 JP Rosevear <jpr@ximian.com>
* pcs/cal.c: use bonobo-exception stuff to clean code
* pcs/cal-factory.c (add_uri): add uri to the list if the type
matches
(impl_CalFactory_uriList): implement uriList method
* pcs/cal-backend.h: new virtual function member
* pcs/cal-backend.c (cal_backend_is_remote): call virtual function
* pcs/cal-backend-file.c (cal_backend_file_class_init): override
virtual function
(cal_backend_file_is_remote): new virtual function, always return
FALSE
* idl/evolution-calendar.idl: uriList factory call, with flags for
types to get
* gui/dialogs/comp-editor.c (comp_editor_destroy): cast to remove
warning
* gui/e-itip-control.c (write_label_piece): kill warnings by take
const char *
* gui/component-factory.c (create_object): aggregate offline
interface
* gui/Makefile.am: compile new files
* calobj.[hc]: Remove obsolete files
* cal-util/cal-util.h: enum URI types for uriList call
* cal-client/cal-client.c (build_uri_list): build list from string
sequence
(cal_client_uri_list): factory call to get uri list
* cal-client/cal-client.h: new proto
* cal-client/cal-client.c: use bonobo exception stuff to clean
code
* gui/calendar-offline-handler.[hc]: Start some skeleton routines
for online/offline handling
* pcs/cal-factory.c (launch_backend_for_uri): use accessor and
remove FIXME
svn path=/trunk/; revision=13110
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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
|
|
|
|
|
|
| |
helixcode.com with ximian.com all over the place.
svn path=/trunk/; revision=10440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-12-06 JP Rosevear <jpr@helixcode.com>
* pcs/cal.c (build_change_seq): kill
(Cal_get_changes): return the corba sequence directly
* pcs/cal-backend.h: update prototype
* pcs/cal-backend.c (cal_backend_compute_changes_foreach_key): Build
the corba struct rather than the old calobjchange thing
(cal_backend_compute_changes): ditto. build and return the actual
corba sequence rather than the list of calobjchanges
(cal_backend_get_changes): return the corba sequence
* cal-util/cal-util.h: Remove CalObjChange cruft
* cal-util/cal-util.c (cal_obj_change_list_free): Kill
svn path=/trunk/; revision=6826
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-12-06 JP Rosevear <jpr@helixcode.com>
* conduits/calendar/calendar-conduit.c (map_name): Update so as not to conflict
with calendar
(next_changed_item): update to use CalClientChange instead of CalObjChange
(compute_status): ditto
(pre_sync): ditto
(for_each_modified): since we now have the cal component we can call
local_record_from_comp directly
* conduits/todo/todo-conduit.c: same as above
* pcs/cal-backend.c: Remove much logging cruft
(cal_backend_compute_changes): Calculate the changes based on the
hashed database
(cal_backend_get_changes): call cal_backend_compute_changes
(cal_backend_compute_changes_foreach_key): hash callback for
calculating deletions
* pcs/cal-backend.h: update protype, remove logging cruft from
object
* pcs/cal.c (build_change_seq): dup the calobj rather than the uid
now
(Cal_get_changes): rename from Cal_get_changed_uids
(cal_get_epv): reflect name change in epv
* cal-util/cal-util.c (cal_obj_change_list_free): update assertion
* cal-util/cal-util.h: CalObjChange now returns the entire ical
component, update the change types. This should all go away shortly
* idl/evolution-calendar.idl: getChangedUIds -> getChanges.
CalObjChange now contains the calobj rather than the uid, update
the change types
* cal-client/cal-client.c (cal_client_get_changes): rename from
cal_client_get_changed_uids to make idl and addressbook
* cal-client/cal-client.h: Update prototype
* cal-client/cal-client.c (build_change_list): Build a list of
CalClientChange instead of CalObjChange
* cal-client/cal-client-types.c (cal_client_change_list_free): Free
a glist of CalClientChanges
* cal-client/cal-client-types.h: New file. Declarations for
CalClientChange.
* cal-client/Makefile.am: Build new files
svn path=/trunk/; revision=6822
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-08-07 Federico Mena Quintero <federico@helixcode.com>
* cal-util/cal-component.c (cal_component_get_as_string): Doh,
libical owns the string's memory, so do not free it.
* cal-client/client-test.c (create_client): Connect to the destroy
signal of the client here.
* cal-client/test.ics: New test file, modified from Eric Busboom's
test file from RFC 2445.
2000-08-05 Federico Mena Quintero <federico@helixcode.com>
* cal-client/client-test.c (dump_component): This was gone for
some reason.
(main): Load a new test file.
2000-08-04 Federico Mena Quintero <federico@helixcode.com>
* cal-util/cal-component.c (cal_component_commit_sequence): New
function to commit changes to the SEQUENCE property.
(cal_component_get_as_string): Ensure that the sequence has been
committed.
* cal-client/cal-client.c (cal_client_get_object): Use
CalComponent instead of the old iCalObject.
(cal_client_update_object): Use iCalObject. Commit the SEQUENCE
property before stringifying the object and piping it over to the
Wombat.
svn path=/trunk/; revision=4585
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-07-25 Federico Mena Quintero <federico@helixcode.com>
* cal-util/cal-component.c (cal_component_free_period_list): New function.
(scan_property): Handle the RDATE property.
(scan_period): Likewise.
(free_icalcomponent): Likewise.
(get_period_list): Likewise.
(set_period_list): Likewise.
(cal_component_get_rdate_list): Likewise.
(cal_component_set_rdate_list): Likewise.
(scan_text): Simplify a bit since we only handle the ALTREP
parameter; there is no need to iterate over all parameters.
(scan_datetime): Simplify; just handle the TZID parameter.
(scan_summary): Simplify; just handle the ALTREP parameter.
(cal_component_get_as_string): New function.
* idl/evolution-calendar.idl (CalObjType): Removed the TYPE_OTHER;
now we only expose the types of objects we know about.
* cal-util/cal-util.h (CalObjType): Likewise.
* cal-client/cal-client.c (cal_client_get_n_objects): Likewise.
(cal_client_get_uids): Likewise.
* conduits/calendar/calendar-conduit.c (get_calendar_objects): Likewise.
(check_for_slow_setting): Likewise.
* pcs/cal-backend-imc.c (count_objects): Likewise.
(build_uids_list): Likewise.
* pcs/cal.c (Cal_get_uids): Likewise.
(Cal_get_n_objects): Likewise.
svn path=/trunk/; revision=4336
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-05-11 Federico Mena Quintero <federico@helixcode.com>
* gui/gnome-cal.c (gnome_calendar_update_all): Removed unused
arguments. Load the initial alarms here.
(load_alarms): New function to load a day's worth of alarms.
(gnome_calendar_class_init): Eeeek! This was taking in an
incorrect argument type.
(gnome_calendar_init): Now the calendar keeps a hash table of
UIDs->queued alarms. Create the hash table here.
(gnome_calendar_destroy): Destroy the alarms hash table.
(gnome_calendar_object_updated_cb): Remove the alarms for the
object and regenerate them.
(gnome_calendar_object_removed_cb): Remove the alarms for the
object.
* gui/alarm.c (alarm_add): Do not take in a CalendarAlarm, just
the trigger time, the callback and the closure data. Return an
opaque identifier for the alarm so that it can be removed by the
client code if needed. Use the queue_alarm() helper function.
(queue_alarm): Helper function to actually queue the alarm and set
up the itimer. Deal with a nonzero return value from
setitimer().
(alarm_remove): New function to remove an alarm based on its ID.
(pop_alarm): New helper function; pops the first alarm of the
queue and resets the timer as appropriate.
(alarm_ready): Simplified a lot by using pop_alarm().
* idl/evolution-calendar.idl (Cal): Added get_alarms_in_range().
* pcs/cal.c (build_instance_seq): New function to build a CORBA
sequence from the internal list of instances.
(Cal_get_events_in_range): Use build_instance_seq().
(Cal_get_alarms_in_range): Implemented new method.
* pcs/cal-backend.c (cal_backend_get_alarms_in_range): New
function with the get_alarms_in_range() engine.
* pcs/cal-backend-imc.c (cal_backend_imc_get_alarms_in_range):
Implemented the get_alarms_in_range() method.
* cal-client/cal-client.c (cal_client_get_alarms_in_range): New
client-side function for getting the alarms.
(build_instance_list): New helper function to build the
CalObjInstance list from the CORBA sequence.
(cal_client_get_events_in_range): Use build_instance_list().
* gui/calendar-commands.h: #include <cal-util/calobj.h>. #include
"gnome-cal.h".
* gui/e-week-view.c: #include "calendar-commands.h" instead of
main.h; the latter is an obsolete file and will be killed.
* gui/evolution-calendar-control.c (main): Call init_bonobo()
before anything else. We need the GTK+ object system initialized.
* gui/Makefile.am (evolution_calendar_SOURCES): Do not use main.h.
* cal-util/cal-util.c (cal_alarm_instance_list_free): New function.
svn path=/trunk/; revision=2987
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-04-16 Federico Mena Quintero <federico@helixcode.com>
* cal-util/Makefile.am: Renamed library from libcalutil to
libcal-util, to be consistent with libcal-client. Install header
files in $(includedir)/evolution/cal-util.
(INCLUDES): Add "cal-util" log domain for glib.
(libcal_clientincludedir): The header files are now installed in
$(includedir)/evolution/cal-client.
* cal-util/cal-util.h: Fix includes.
* cal-client/client-test.c: Fix includes.
* pcs/Makefile.am: Create libpcs.a, not a shared library, because
it is for internal use by Wombat only. The header files should
not be installed, either. Removed all the old Tlacuache stuff.
* gui/Makefile.am (EXTRA_DIST): We no longer distribute
gncal.desktop.
(evolution_calendar_INCLUDES): Add "calendar-gui" for the glib log
domain.
* gui/*.[ch]: Fix cal-util and cal-client includes.
* pcs/Makefile.am (INCLUDES): Added "pcs" log domain for glib.
* pcs/*.[ch]: Fix cal-util includes.
svn path=/trunk/; revision=2461
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-03-27 Federico Mena Quintero <federico@helixcode.com>
* pcs/cal-backend.c (cal_backend_get_object): Use
ical_object_to_string().
* cal-util/calobj.c (ical_object_to_string): Moved over from
pcs/cal-backend.c (was string_from_ical_object).
(get_calendar_base_vobject): Likewise, moved over from
pcs/cal-backend.c.
* cal-util/cal-util.c: Removed string_to_ical_object(); the
correct function is in calobj.[ch], called
ical_object_find_in_string(). Removed ical_object_to_string,
since we now implement it in calobj.c.
* cal-util/calobj.c: Removed ical_object_new_from_string(); see
above.
* idl/evolution-calendar.idl (CalObjInstance): Calendar object
instances now contain only the UID for the object, not the whole
string representation of the object. This allows clients to
implement caching of objects if they wish.
* pcs/cal.c (Cal_get_events_in_range): Likewise.
* pcs/cal-backend.c (build_event_list): Likewise.
* cal-client/cal-client.c (cal_client_get_events_in_range):
Likewise.
* cal-util/cal-util.h (CalObjInstance): Likewise.
* cal-util/cal-util.c (cal_obj_instance_list_free): Likewise.
(cal_obj_uid_list_free): Assert that the UIDs in the list are not
NULL.
* pcs/tlacuache.gnorba (repo_id): The calendar factory also
supports the Unknown interface.
svn path=/trunk/; revision=2211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gui/gnome-cal.h: replaced "Calendar *cal" with "CalClient *calc"
in the GnomeCalendar struct.
* gui/*.c: tracked change from Calendar * to CalClient
* gui/main.c: moved alarm_defaults from here to cal-util/calobj.c
(calendar_get_events_in_range): pulled this out of calendar.c and
fixed it up to use cal-client stuff. i'm not sure where to put it yet.
* gui/main.c (calendar_iterate): pulled this one out of calendar.c also
svn path=/trunk/; revision=2090
|
|
* cal-util/Makefile.am: new file -- things shared between
the client and server go in this directory
* calobj.c calobj.h icalendar.c icalendar.h
timeutil.c timeutil.h cal-util.c cal-util.h where moved
backend stuff went into pcs. shared stuff went into
cal-util.
svn path=/trunk/; revision=2032
|