2001-10-24 JP Rosevear <jpr@ximian.com>
* gui/e-meeting-time-sel.c (e_meeting_time_selector_construct):
track the spacer vbox
(e_meeting_time_selector_style_set): make sure the rows are the
correct size for the style
* gui/e-meeting-time-sel-item.c
(e_meeting_time_selector_item_paint_day_top): slight adjustments
to where the text is drawn
* gui/e-meeting-time-sel.h: new member
* gui/e-meeting-model.c (build_etable): ensure uniform row height
* conduits/todo/todo-conduit.c (comp_from_remote_record): mark
status as completed in appropriate places and don't overwrite
legitimate percentages and such
svn path=/trunk/; revision=13989
2001-10-23 JP Rosevear <jpr@ximian.com>
* cal-util/timeutil.c (icaltimetype_to_tm): convert an
icaltimetype to a tm
(tm_to_icaltimetype): vice versa
* cal-util/timeutil.h: new protos
* conduits/calendar/calendar-conduit.c: replace all mktime and
localtime calls (except for debugging calls)
* conduits/todo/todo-conduit.c: ditto
(comp_from_remote_record): make sure the completed time is in UTC
svn path=/trunk/; revision=13946
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-10-22 JP Rosevear <jpr@ximian.com>
* gui/e-itip-control.c (set_date_label): write out the correct
time in the control
* pcs/cal.c (build_fb_seq): utility function to build sequences of
f/b data
(impl_Cal_get_free_busy): use above so we never return a NULL
* conduits/calendar/calendar-conduit-config.h
(calconduit_save_configuration): fix c/p error
(calconduit_load_configuration): ditto
svn path=/trunk/; revision=13876
2001-10-15 JP Rosevear <jpr@ximian.com>
* conduits/calendar/calendar-conduit.c (process_multi_day):
function to break up multi day events into single events for both
evo and the pilot and create new CalClientChange structures
(pre_sync): call above function, and adjust changed list if
necessary
svn path=/trunk/; revision=13678
2001-10-15 JP Rosevear <jpr@ximian.com>
* conduits/calendar/calendar-conduit.c (is_all_day): util function
to determine if event is all day
(local_record_from_comp): use new util function
(comp_from_remote_record): kill use of deprecated time functions
svn path=/trunk/; revision=13673
2001-10-02 JP Rosevear <jpr@ximian.com>
* conduits/calendar/calendar-conduit.c (nth_weekday): handle -1 as
well
(comp_from_remote_record): fix monthly by day recurrences and
handle "last" day type
svn path=/trunk/; revision=13300
2001-10-01 JP Rosevear <jpr@ximian.com>
* conduits/calendar/calendar-conduit.c (local_record_from_comp):
Convert the comp exceptions to the pilot record
(comp_from_remote_record): record exceptions in the comp and
use time zone stuff on recurrence end date
svn path=/trunk/; revision=13269
2001-09-28 JP Rosevear <jpr@ximian.com>
* conduits/calendar/calendar-conduit.c (local_record_from_comp):
Handle the fields and category we don't sync by making sure we
don't overwrite them
(local_record_to_pilot_record): use local record category
(pre_sync): track db info
* conduits/calendar/calendar-conduit.h: db info field
* conduits/todo/todo-conduit.[hc]: same as above
svn path=/trunk/; revision=13235
2001-07-30 Damon Chaplin <damon@ximian.com>
* gui/gnome-cal.c:
* gui/calendar-commands.c (clear_folder_bar_label): started some code
to show the currently displayed dates in the folder title bar.
Unfinished.
* gui/e-itip-control.c (set_date_label):
* conduits/todo/todo-conduit.c (local_record_from_comp):
* conduits/calendar/calendar-conduit.c (local_record_from_comp): free
the CalComponentDateTimes. (Note the iTIP control needs updating for
timezone support.)
* cal-util/cal-component.c: Changed CalComponentDateTime so that the
TZID is malloc'ed and freed rather than being a pointer to a static
string. This was causing problems as sometimes we were freeing the
string that was being pointed to, so we got corrupted TZIDs.
* gui/comp-util.c (cal_comp_util_add_exdate): set TZID to NULL.
DATE values do not have timezones.
* gui/e-week-view.c:
* gui/e-day-view.c: Moved 'Paste' after the New Appointment commands,
since I think they are more commonly-used. Also added underlined
accelerator keys.
* gui/e-calendar-table.c: changed 'Edit this task' to 'Open' in the
popup menu to be consistent with other folders, and separated from the
clipboard commands. Also changed to use EPopupMenu so the accelerators
work, and the masks may be useful at some point.
* gui/dialogs/recurrence-page.c: use DATE values for UNTIL, since
that makes it simpler. Fixes bug #5034.
* gui/calendar-config.c (calendar_config_set_timezone): strdup the
location string. Fixes bug #4990.
* gui/tag-calendar.c (tag_calendar_cb): take 1 off iend as the times
don't include the end time.
* gui/e-week-view-layout.c (e_week_view_layout_event): fixed
days_shown. Fixes bug #5709.
* cal-client/cal-client.c (cal_client_get_timezone): took out some
debugging messages.
svn path=/trunk/; revision=11494
2001-07-27 JP Rosevear <jpr@ximian.com>
* conduits/calendar/calendar-conduit.c (local_record_from_comp):
recur is always in UTC
svn path=/trunk/; revision=11463
2001-07-27 JP Rosevear <jpr@ximian.com>
* conduits/calendar/calendar-conduit.c: handle timezones
everywhere
(get_timezone): new function to get a timezone based
on a tzid
(get_default_timezone): get default timezone
* conduits/calendar/calendar-conduit.h: time zone field for the
context
* conduits/calendar/Makefile.am: link to bonobo conf
* conduits/todo/todo-conduit.c: handle timezones
everywhere
(get_timezone): new function to get a timezone based
on a tzid
(get_default_timezone): get default timezone
* conduits/todo/todo-conduit.h: time zone field for the
context
* conduits/todo/Makefile.am: link to bonobo conf
svn path=/trunk/; revision=11461
2001-06-27 Peter Williams <peterw@ximian.com>
* configure.in (gal): Bump required gal version for new accessors
in ETree.
mail:
2001-06-27 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c: Uncomment EditSelectThread. Yaay!
* mail-callbacks.c (select_thread): New function. Self-explanatory
name. Implementation is a little hairy.
* mail-callbacks.h: Prototype it here.
* mail-callbacks.c (invert_selection): Here too.
(select_all): Here too.
* subscribe-dialog.c (subscribe_select_all): Update to use new
ETree accessors.
(subscribe_invert_selection): Here too.
calendar:
2001-06-27 Peter Williams <peterw@ximian.com>
* conduits/*/Makefile.am (INCLUDES): More srcdir != builddir
fixes.
svn path=/trunk/; revision=10544
2001-06-25 Peter Williams <peterw@ximian.com>
* Makefile.am (libwombat_static_la_SOURCES): Create a static
libwombat for the conduits.
calendar:
2001-06-25 Peter Williams <peterw@ximian.com>
* conduits/calendar/Makefile.am (INCLUDES): Fixes for
srcdir != builddir. Link to the static libwombat.
* conduits/todo/Makefile.am (INCLUDES): Here too.
addressbook:
2001-06-25 Peter Williams <peterw@ximian.com>
* conduit/Makefile.am (INCLUDES): Fix for srcdir != builddir.
svn path=/trunk/; revision=10511
2001-03-14 Gediminas Paulauskas <menesis@delfi.lt>
* configure.in: create doc/devel/executive-summary/Makefile
* doc/C/Makefile.am: there's no apx-fdl.sgml and evolution-guide.sgml
anymore
* filter/filter-system-flag.c: translate status flag title.
svn path=/trunk/; revision=8714
Removed all files where glade writes strings.
Changed Makefile.am to not distribute them.
Changed all glade files to not write strings to those files.
Removed *.desktop and evolution.keys files, because they are generated.
Added them to .cvsignore
Added *.desktop.in evolution.keys.in files without transalted strings.
Added all existing entries from desktop files to po files.
Changed Makefile.am to distribute only .in files, and merge translations into
desktop files.
Removed obsolete files from po/ dir
svn path=/trunk/; revision=8164
2001-01-22 JP Rosevear <jpr@ximian.com>
* conduits/calendar/calendar-conduit.c: Remove alarm foo for now
2001-01-21 JP Rosevear <jpr@ximian.com>
* conduits/calendar/calendar-conduit.c (delete_record): Remove
deleted records from the pilot map so we don't have dupes in the future
* conduits/todo/todo-conduit.c (delete_record): ditto
svn path=/trunk/; revision=7719
2001-01-19 JP Rosevear <jpr@ximian.com>
* cal-util/cal-component.c (cal_component_alarm_new): create a new
cal component alarm
(cal_component_add_alarm): add alarm to the cal component
(cal_component_remove_alarm): remove alarm from the cal component
(remove_alarm): remove alarm from hash
* cal-util/cal-component.h: new protos
* conduits/calendar/calendar-conduit.c (comp_from_remote_record):
add alarm information, still needs to be hacked to replace an already
existing alarm. questions abound about the heuristic for doing this.
2001-01-17 JP Rosevear <jpr@ximian.com>
* README: Update package requirements
svn path=/trunk/; revision=7647
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-15 JP Rosevear <jpr@ximian.com>
* pcs/cal-backend.c (cal_backend_compute_changes): accomadate tasks
in their new dir
* conduits/todo/todo-conduit.c (start_calendar_server): ditto
svn path=/trunk/; revision=7512
2000-12-20 JP Rosevear <jpr@helixcode.com>
* conduits/todo/todo-conduit.h: Fix erroneous documentation
* conduits/todo/todo-conduit.c (comp_from_remote_record): if
!is_empty_time rather than is_empty_time
(e_todo_context_new): Return a pointer rather than fill in
a parameter
(e_todo_context_foreach_change): Free just the key
(e_todo_context_destroy): Plug this enormous leakage. I had assumed
i had done this earlier, which isn't too bright when anything beyond
2 minutes ago is fuzzy.
(comp_from_remote_record): Kill warnings
(post_sync): Destroy the map later
(conduit_get_gpilot_conduit): Fix e_todo_context_new params
* conduits/calendar/calendar-conduit.[hc]: Similar to above
svn path=/trunk/; revision=7105
2000-12-19 JP Rosevear <jpr@helixcode.com>
* conduits/calendar/calendar-conduit.c: Remove pointless comment
* conduits/todo/todo-conduit.c (is_empty_time): add utility function
(comp_from_remote_record): use it
2000-12-19 JP Rosevear <jpr@helixcode.com>
*conduit/address-conduit.c (ecard_from_remote_record): Convert
pilot strings to utf for the e-cards.
svn path=/trunk/; revision=7093
2000-12-19 JP Rosevear <jpr@helixcode.com>
* conduits/calendar/calendar-conduit.c (local_record_from_comp):
Convert cal component strings to pilot character set
(comp_from_remote_record): vice versa
* conduits/todo/todo-conduit.c: Same as above
2000-12-19 JP Rosevear <jpr@helixcode.com>
* conduit/address-conduit.c (local_record_from_ecard): Convert ecard
strings to pilot encodings
2000-12-19 JP Rosevear <jpr@helixcode.com>
* e-pilot-util.c (e_pilot_utf8_to_pchar): Convert utf8 strings to
pilot character set
(e_pilot_utf8_from_pchar): vice versa
* Makefile.am: Conditionally build e-pilot-util.[hc] because
they depend on pilot-link stuff
svn path=/trunk/; revision=7090
2000-12-13 Federico Mena Quintero <federico@helixcode.com>
* cal-util/cal-component.c (ensure_mandatory_properties): Even
though icaltime_from_timet() now properly ignores the is_utc
argument since time_t values *are* in UTC by definition, we were
passing FALSE for that argument's value in a bunch of places. So
although it is ignored, changed them to TRUE for consistency.
Hopefully newer versions of libical will remove that argument
entirely since it does not make sense to speak of non-absolute
time_t values.
* cal-util/cal-recur.c (cal_recur_set_rule_end_date): Likewise.
* conduits/calendar/calendar-conduit.c (comp_from_remote_record): Likewise.
* conduits/todo/todo-conduit.c (comp_from_remote_record): Likewise.
* gui/dialogs/task-editor.c (dialog_to_comp_object): Likewise.
* gui/e-day-view.c (e_day_view_on_new_appointment): Likewise.
(e_day_view_on_delete_occurrence): Likewise.
(e_day_view_on_unrecur_appointment): Likewise.
(e_day_view_on_unrecur_appointment): Likewise.
(e_day_view_finish_long_event_resize): Likewise.
(e_day_view_finish_resize): Likewise.
(e_day_view_key_press): Likewise.
(e_day_view_on_top_canvas_drag_data_received): Likewise.
(e_day_view_on_main_canvas_drag_data_received): Likewise.
* gui/e-week-view.c (e_week_view_key_press): Likewise.
(e_week_view_on_new_appointment): Likewise.
(e_week_view_on_delete_occurrence): Likewise.
(e_week_view_on_unrecur_appointment): Likewise.
* gui/event-editor.c (simple_recur_to_comp_object): Likewise.
(recur_to_comp_object): Likewise.
(dialog_to_comp_object): Likewise.
* gui/gnome-cal.c (gnome_calendar_new_appointment): Likewise.
svn path=/trunk/; revision=6995
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-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