2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* cal-util/cal-recur.c: #if 0ed cal_obj_date_only_compare_func.
(cal_object_get_rdate_end): Changed this function to get rid of a
possible uninitialized error on the rdate function.
* gui/calendar-model.c: Fixed some warnings involving the #define
_XOPEN_SOURCE lines here.
* gui/component-factory.c: #ifdef WANT_THE_EXECUTIVE_SUMMARYed out
the summary_factory object since it's unused if
WANT_THE_EXCUTIVE_SUMMARY is not defined.
* gui/e-day-view.c: #if 0ed out e_day_view_remove_event_cb.
(obj_updated_cb): #ifndef NO_WARNINGSed out a #warning.
* gui/e-week-view-event-item.c (e_week_view_event_item_draw): Made
it so that
* gui/e-week-view.c (obj_updated_cb): #ifndef NO_WARNINGSed out a
#warning.
svn path=/trunk/; revision=6982
2000-12-12 JP Rosevear <jpr@helixcode.com>
* gui/dialogs/task-editor.c (task_editor_set_todo_object): Use
set_title_from_comp
(save_todo_object): ditto
(set_title_from_comp): Make sure the title is encoded properly (as in
event-editor)
svn path=/trunk/; revision=6962
2000-12-11 Federico Mena Quintero <federico@helixcode.com>
This is to make things work with libical 0.21helix1 and later.
Warnings remain because at last libical was constified; will take
care of those tomorrow.
* cal-util/timeutil.h: #include <ical.h> instead of <icaltypes.h>
* gui/e-itip-control.c: Likewise.
* gui/e-meeting-edit.c: Likewise.
* gui/itip-utils.h: Likewise.
* cal-util/cal-component.c (alarm_uid_from_prop): constify.
(cal_component_get_status): Updated for new libical API.
(cal_component_set_status): Likewise.
* gui/calendar-model.c (ensure_task_complete): Removed unused
status code.
(ensure_task_not_complete): Update for new status API.
* gui/dialogs/task-editor.c (status_string_to_value): Removed
function.
(status_value_to_string): Removed function.
(status_string_map): Removed variable.
(fill_widgets): Update for new status API.
(dialog_to_comp_object): Likewise.
svn path=/trunk/; revision=6932
2000-12-11 Damon Chaplin <damon@helixcode.com>
* cal-util/cal-recur.c (generate_instances_for_chunk): updated the
tests on the start & end time just before calling the callback. It
was skipping occurrences that started before the required interval's
start time, which was wrong. We want all occurrences that intersect
the interval.
(cal_obj_time_weekday): removed the CalRecurrence* argument, since it
isn't needed.
svn path=/trunk/; revision=6925
2000-12-11 Damon Chaplin <damon@helixcode.com>
* gui/event-editor.c: added changed flags and added calls to a new
function event_editor_set_changed() to set & reset this flag.
Added prompt_to_save_changed() which is called when the user
selects File/Close or the window's close button.
Fixed the 'All day event' toggle button.
Made the 'Alarm' page sensitive as appropriate when filling widgets.
(Though note that the alarm widgets are not being set yet.)
* gui/dialogs/task-editor.c: added changed flag as above.
* gui/event-editor-dialog.glade: used good names for all the
classification radio buttons so we can access them in the code.
* gui/event-editor.c (init_widgets): use the "show week numbers" config
option in the recurrence preview calendar.
* gui/e-day-view.c (e_day_view_update_event_label): use 9:00 instead
of 09:00 in the main view, as we do everywhere else now. It means the
times won't line up, but they are easier to read which I think is
better.
Added support for Page Up/Down, though I think it should move the
selection rather than just scroll the canvas.
* cal-util/cal-recur.c (generate_instances_for_chunk): removed the
end parameter since we should be using the chunk end time now.
Added single_rule parameter for when we are generating the
occurrences of a single RRULE, in which case the event's start date is
not included in the occurrences output (unless it results from the
RRULE expansion). Both of these fix problems when using COUNT.
* gui/gnome-cal.c (gnome_calendar_on_date_navigator_selection_changed):
fixed bug when checking if the new start day starts on the week start
day. If you select a complete week it should now show the Week view.
svn path=/trunk/; revision=6896
2000-12-08 Federico Mena Quintero <federico@helixcode.com>
* gui/event-editor.c (dialog_to_comp_object): Free the strings we
get from the editables.
* gui/dialogs/task-editor.c (dialog_to_comp_object): Likewise.
This sucks; this code should be shared between the two dialogs.
svn path=/trunk/; revision=6868
2000-12-08 Federico Mena Quintero <federico@helixcode.com>
* gui/event-editor.c (fill_widgets): Free the dates we get from
the component.
svn path=/trunk/; revision=6867
2000-12-08 JP Rosevear <jpr@helixcode.com>
* gui/e-calendar-table.c (e_calendar_table_init): Attach signal
handlers to the e_scrolled_table's etable rather than to the
e_scrolled_table directly
(e_calendar_table_on_double_click): This signal provides more
params now
svn path=/trunk/; revision=6866
2000-12-07 Christopher James Lahey <clahey@helixcode.com>
* gui/e-calendar-table.c: Got rid of code referencing the
ETableScrolled proxy functions.
svn path=/trunk/; revision=6855
2000-12-07 JP Rosevear <jpr@helixcode.com>
* pcs/cal-backend.c (cal_backend_compute_changes_foreach_key): Create
an empty cal component if the object has been deleted.
* idl/evolution-calendar.idl: Bit shift the change type constants
properly
svn path=/trunk/; revision=6843
2000-12-07 Federico Mena Quintero <federico@helixcode.com>
* cal-client/cal-client.c (cal_client_generate_instances): Unref
the component from the objects list; it got referenced as many
times as appropriate for the instances list.
svn path=/trunk/; revision=6836
2000-12-06 <purify@the-dot-in.helixcode.com>
* gui/e-week-view.c (e_week_view_init): unref the pixbuf when
finished with it
svn path=/trunk/; revision=6832
2000-12-06 Federico Mena Quintero <federico@helixcode.com>
Fixes bug #920.
* gui/e-calendar-table.c (delete_component): New function.
(e_calendar_table_on_delete_task): Use delete_component().
(e_calendar_table_on_key_press): Likewise. Also, mark the event
as handled.
* gui/calendar-model.c (calendar_model_get_component): Renamed
function from calendar_model_get_cal_object().
(calendar_model_delete_task): Removed function.
* gui/dialogs/delete-comp.[ch]: New files with the dialog for
deleting a calendar component.
* gui/e-day-view.c (e_day_view_on_delete_appointment): Confirm
before actually deleting the appointment.
* gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise.
* gui/dialogs/Makefile.am (libcal_dialogs_a_SOURCES): Added
delete-comp.[ch] to the list of sources.
* cal-util/cal-component.c (cal_component_destroy): Free the alarm
UID hash.
svn path=/trunk/; revision=6828
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-12-04 Michael Meeks <michael@helixcode.com>
* e-shell-view.c (get_control_for_uri): return NULL if we can't
create a view.
(setup_evolution_shell_view_interface): add precondition.
+
lots of cleans.
svn path=/trunk/; revision=6778
2000-12-01 Federico Mena Quintero <federico@helixcode.com>
Fixes bug #918.
* gui/weekday-picker.c (WeekdayPickerPrivate): Added a field for a
set of blocked days.
(weekday_picker_set_blocked_days): New function to configure a set
of days that cannot be modified by the user.
(weekday_picker_get_blocked_days): Query function for the above.
(day_event_cb): Block the appropriate days from being modified.
* gui/event-editor.c (get_start_weekday_mask): New function to
compute a day mask for the start day of a calendar component.
(set_recur_special_defaults): New function to set sane defaults
for the recurrence special widgets.
(fill_recurrence_widgets): Use set_recur_special_defaults().
(make_recur_weekly_special): Block the appropriate days.
svn path=/trunk/; revision=6767
2000-12-01 Federico Mena Quintero <federico@helixcode.com>
* gui/event-editor.c (set_title_from_comp): New function to
generate a title and convert it from UTF8 before setting it on the
window.
(save_event_object): Uset set_title_from_comp().
(event_editor_set_event_object): Likewise.
svn path=/trunk/; revision=6761
2000-11-30 JP Rosevear <jpr@helixcode.com>
* conduits/todo/todo-conduit.c: Debug message cleanups
(comp_from_remote_record): Properly set the ical description field
* conduits/calendar/calendar-conduit.c (is_empty_time): New utility
functions that look for all 0's in a struct tm
(comp_from_remote_record): use above
(local_record_from_comp): Correctly set the repeatForever value so
that we repeat forever instead of a really long time
(comp_from_remote_record): Only set the cal component recurrence
until field when repeatForever is 0
svn path=/trunk/; revision=6748
2000-11-30 JP Rosevear <jpr@helixcode.com>
* conduits/calendar/calendar-conduit.c (local_record_from_comp): Empty
by_day entries are no longer indicated by ICAL_RECURRENCE_ARRAY_MAX not
SHRT_MAX. Calculate weekly and monthly by date recurrences properly
(get_pilot_day): Convert ical day to corresponding integer for pilot day
svn path=/trunk/; revision=6740
2000-11-30 JP Rosevear <jpr@helixcode.com>
* conduits/calendar/calendar-conduit.c: Debug message cleanups
(get_ical_day): Fix off-by-one error which affected weekly occurences.
(comp_from_remote_record): Monthly by day and by date were reversed
(nth_weekday): function taken from event-editor.c that encodes BYDAY
values - this needs to be in libical really.
(comp_from_remote_record): Don't set the description if the pilot note
is null. Rejig so that we don't have to free objects.
svn path=/trunk/; revision=6738
2000-11-28 Federico Mena Quintero <federico@helixcode.com>
Upgrade of the alarm framework. We now access alarms by a unique
identifier. This UID is added as an extension property to alarm
subcomponents when their parent components are scanned by
CalComponent.
* cal-util/cal-component.c (CalComponentPrivate): Added a hash
table of alarm UIDs -> alarm properties.
(cal_component_init): Initialize priv->alarm_uid_hash.
(free_icalcomponent): Free the elements in the
priv->alarm_uid_hash.
(scan_alarm): New function to add scan an alarm subcomponent and
ensure that it has an alarm UID extension property so that we can
add it to our mapping table.
(cal_component_get_first_alarm): Removed function.
(cal_component_get_next_alarm): Removed function.
(cal_component_get_alarm_uids): New function.
(cal_component_get_alarm): New function.
svn path=/trunk/; revision=6713
2000-11-28 JP Rosevear <jpr@helixcode.com>
* conduits/todo/todo-conduit.c (local_record_to_pilot_record): Return
a struct rather than a pointer to a struct
(compare): local_record_to_pilot_record now returns a struct
(prepare): ditto
(free_prepare): remove as per gnome-pilot changes
(conduit_get_gpilot_conduit): don't listen for free_prepare signal
* conduits/calendar/calendar-conduit.c: Same as above
2000-11-28 JP Rosevear <jpr@helixcode.com>
* conduit/address-conduit.c (local_record_to_pilot_record): Return
a struct rather than a pointer to a struct
(view_cb): kill warning
(compare): local_record_to_pilot_record now returns a struct
(prepare): ditto
(free_prepare): remove as per gnome-pilot changes
(conduit_get_gpilot_conduit): don't listen for free_prepare signal
svn path=/trunk/; revision=6708
2000-11-28 Federico Mena Quintero <federico@helixcode.com>
* gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): Reformatted the
table spec to make it easier to read.
* gui/tag-calendar.c: Oops, Damon wrote this, not me. Fixed the
Authors line.
svn path=/trunk/; revision=6707
2000-11-28 Damon Chaplin <damon@helixcode.com>
* gui/e-day-view*.[hc]:
* gui/e-week-view*.[hc]: finished 12-hour support and tried to tidy
up & comment the drawing code in places. Also fixed a couple of bugs I
spotted. All the options on the 'Calendar' page should now work.
svn path=/trunk/; revision=6706
2000-11-27 JP Rosevear <jpr@helixcode.com>
* conduit/address-conduit.h: Remove "complete" field
* conduit/address-conduit.c (print_local): Make it print useful debug
info
(print_remote): ditto
(local_record_from_ecard): Make sure phone numbers get out to the pilot
(ecard_from_remote_record): Set phone strings to "" if they are null
(sequence_complete): unref the book view
(view_cb): ref the book view
(free_prepare): do nothing
* backend/pas/pas-backend-file.c (pas_backend_file_book_view_free):
Destroy the card lists with the rest of the view.
(pas_backend_file_changes): Don't destroy the card lists here
(pas_backend_file_book_view_free): Free the card/id lists in the
change context here, the correct place.
(pas_backend_file_changes): instead of here...
2000-11-27 JP Rosevear <jpr@helixcode.com>
* conduits/todo/todo-conduit.c (free_prepare): Ditto
* conduits/calendar/calendar-conduit.c (free_prepare): Adjust
free_prepare to the correct signal parameters. Don't actually
do anything - there is a semantic discrepancy that needs to be
resolved.
2000-11-27 JP Rosevear <jpr@helixcode.com>
* providers/local/.cvsignore: shush
svn path=/trunk/; revision=6681
2000-11-26 Damon Chaplin <damon@helixcode.com>
* gui/gnome-cal.c: added more support for config settings.
* gui/e-week-view.[hc]:
* gui/e-day-view.[hc]: added support for setting - show event end
times, week start day and 12-hour format (unfinished).
* gui/e-day-view-time-item.c: started 12-hour support.
* gui/tag-calendar.c (prepare_tag): use end_day + 1 since we want to
include the last day.
* gui/event-editor.c (set_all_day): minor change when turning all_day
off - set the event end to one hour after the event start if it is on
or before the start time. Also added more comments to make it a bit
clearer.
* cal-util/cal-recur.c (cal_obj_time_add_days): use a gint for day
rather than a guint since we now support -ve days.
Also fixed bug with weekly recurrences.
* gui/dialogs/task-editor.c (task_editor_create_date_edit): use
config settings.
* gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config):
updated EDateEdit calls.
svn path=/trunk/; revision=6675
* cal-util/cal-recur.c (cal_obj_time_add_days): use a gint for day
rather than a guint since we now support -ve days.
Also fixed bug with weekly recurrences.
svn path=/trunk/; revision=6674
2000-11-24 Federico Mena Quintero <federico@helixcode.com>
* cal-util/cal-component.c (free_icalcomponent): DOH, fixed
reversed test for the presence of the icalcomp's parent. This was
causing memory leaks in the Wombat and elsewhere.
* pcs/cal-backend.c (cal_backend_set_node_timet): Plug leak.
svn path=/trunk/; revision=6661
2000-11-21 Federico Mena Quintero <federico@helixcode.com>
* gui/task.xpm: Remove the check because it makes it look like the
task is already completed. This fixes bug #819.
* gui/task-recurring.xpm: Make it use a prettier overlaid icon.
* gui/task-*.xpm: Made the things look like little spiral-bound
notebooks.
* gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): Make the default
column order be icon/completed/summary.
2000-11-21 Federico Mena Quintero <federico@helixcode.com>
svn path=/trunk/; revision=6646