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-02 Federico Mena Quintero <federico@ximian.com>
* gui/dialogs/alarm-options.[ch]: New files with the alarm options
dialog; this configures the repeat/duration properties and the
options specific to each alarm action type.
* gui/dialogs/alarm-page.c (AlarmPagePrivate): Added the alarm
options button. Also, keep an alarm structure which we are
editing and an alarm options dialog.
(init_widgets): Connect to the options button.
(add_clicked_cb): Clone the component we are editing instead of
creating a new one so that we preserve the data from the alarm
options dialog.
(button_options_clicked_cb): Pop up the alarm options dialog.
* cal-util/cal-component.c (cal_component_alarm_new): Doh,
initialize the other fields in the new alarm.
svn path=/trunk/; revision=10731
2001-07-02 JP Rosevear <jpr@ximian.com>
* gui/calendar-commands.c (publish_freebusy_cmd): publish
free/busy information for the currently viewed time range
svn path=/trunk/; revision=10723
2001-07-02 Christopher James Lahey <clahey@ximian.com>
* configure.in: Made evolution depend on bonobo-conf 0.2.
From calendar/ChangeLog:
2001-07-02 Christopher James Lahey <clahey@ximian.com>
* gui/Makefile.am (INCLUDES): Added $(BONOBO_CONF_CFLAGS).
(evolution_calendar_LDADD): Added $(BONOBO_CONF_LIBS).
From composer/ChangeLog:
2001-07-02 Christopher James Lahey <clahey@ximian.com>
* Makefile.am (INCLUDES): Added $(BONOBO_CONF_CFLAGS).
From shell/ChangeLog:
2001-07-02 Christopher James Lahey <clahey@ximian.com>
* Makefile.am (INCLUDES): Added $(BONOBO_CONF_CFLAGS).
(evolution_LDADD): Added $(BONOBO_CONF_LIBS).
svn path=/trunk/; revision=10718
2001-07-02 Federico Mena Quintero <federico@ximian.com>
Support for ATTACH, DESCRIPTION properties in alarm components.
* cal-util/cal-component.c (scan_alarm_property): Deal with
ATTACH, DESCRIPTION properties.
(cal_component_alarm_get_attach): New function. Libical is
actually bogus; supposedly icalattachtype structures are
refcounted but the property functions return them by value.
(cal_copmonent_alarm_set_attach): New function.
(cal_component_alarm_get_description): New function.
(cal_component_alarm_set_description): New function.
svn path=/trunk/; revision=10714
2001-07-02 Federico Mena Quintero <federico@ximian.com>
Support for repeat/duration properties in alarm components.
* cal-util/cal-component.h (CalAlarmRepeat): New structure that
pairs the repeat/duration values of an alarm component, which must
be set both together or not set at all.
* cal-util/cal-component.c (CalComponentAlarm): Added fields for
the repeat and duration properties.
(scan_alarm_property): Scan the DURATION and REPEAT properties.
(make_alarm): Nullify/initialize all the fields in the alarm.
(cal_component_alarm_get_repeat): New function.
(cal_component_alarm_set_repeat): New function.
* gui/dialogs/alarm-page.glade: Changed the label of display
alarms from "Show a dialog" to "Display a message".
svn path=/trunk/; revision=10706
2001-07-02 JP Rosevear <jpr@ximian.com>
* gui/dialogs/task-details-page.c
(task_details_page_fill_widgets): fill in delegated from field
svn path=/trunk/; revision=10701
2001-07-02 Rodrigo Moya <rodrigo@ximian.com>
* gui/dialogs/task-page.c (categories_clicked_cb):
* gui/dialogs/event-page.c (categories_clicked_cb): use the new
self-contained e_categories_config_open_dialog_for_entry() function
* gui/e-week-view-event-item.c (e_week_view_item_draw_icons):
* gui/e-day-view-top-item.c (e_day_view_reshape_long_event):
(e_day_view_reshape_day_event): ditto
* gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event):
use e_categories_config_get_icon_for() to retrieve the icon
associated with each category
svn path=/trunk/; revision=10699
2001-07-02 JP Rosevear <jpr@ximian.com>
* gui/e-itip-control.c (send_freebusy): implement
* cal-util/cal-component.c (set_attendee_list): add the delto
property rather than the delfrom property twice
* gui/dialogs/task-editor.c (task_editor_edit_comp): show
delegation info if appropriate
(delegate_task_cmd): delegate command
(cancel_task_cmd): cancel command
(refresh_task_cmd): refresh command
* gui/dialogs/task-details-page.c: Load new widgets
(task_details_page_show_delegation): show/hide delegation info widgets
* gui/dialogs/task-details-page.h: new proto
* gui/dialogs/event-editor.c (event_editor_edit_comp): free
attendee list when finished
* gui/dialogs/comp-editor.c (setup_widgets): explicitly show the
widgets, update pixmaps after the verbs have been added
(comp_editor_focus): don't do a show all
svn path=/trunk/; revision=10697
2001-06-30 Federico Mena Quintero <federico@ximian.com>
Fixes bug #1406.
* gui/calendar-config.c (config_read): Handle the options for the
task list colors.
(calendar_config_write): Ditto.
(calendar_config_get_tasks_due_today_color): New function.
(calendar_config_set_tasks_due_today_color): New function.
(calendar_config_get_tasks_overdue_color): New function.
(calendar_config_set_tasks_overdue_color): New function.
(calendar_config_configure_e_calendar_table): Use
e_table_model_changed() for the colors.
* gui/dialogs/cal-prefs-dialog.glade: Updated the options for the
task list and alarms.
* gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config):
Update the task list settings.
(cal_prefs_dialog_update_config): Ditto.
* gui/calendar-model.c (get_color): Deal with tasks for today as
well as overdue tasks. Make it cleaner, even though we have to
duplicate a chunk of is_overdue().
* gui/calendar-commands.c (preferences_cmd): Renamed from
properties_cmd().
svn path=/trunk/; revision=10648
2001-07-01 Rodrigo Moya <rodrigo@ximian.com>
* gui/e-day-view.c (e_day_view_*_clipboard): fixed clibpoard
command activation from the menu entries. CTRL-C and CTRL-X don't
work though, since it seems the key presses are being captured by
the text item
gui/e-week-view.c (e_week_view_*_clipboard): ditto
svn path=/trunk/; revision=10641
2001-06-30 Federico Mena Quintero <federico@ximian.com>
* gui/e-week-view-event-item.c
(e_week_view_event_item_button_press): Only set the
pressed_event_num and pressed_span_num if button 1 was pressed.
Fix up return values a bit. This fixes bug #3780.
svn path=/trunk/; revision=10637
2001-06-30 Federico Mena Quintero <federico@ximian.com>
* gui/gnome-cal.c
(gnome_calendar_on_date_navigator_selection_changed): Doh, the
call for the day view was supposed to be
gnome_calendar_set_view(), not set_view(). Fixes bug #3779.
svn path=/trunk/; revision=10636
2001-06-30 Rodrigo Moya <rodrigo@ximian.com>
* gui/tasks-control.c (tasks_control_cut_cmd): call
e_calendar_table_cut_clipboard with the correct object
(tasks_control_copy_cmd): ditto
(sensitize_commands): sensitize clipboard commands based on the
number of selected tasks
svn path=/trunk/; revision=10631
2001-06-28 Rodrigo Moya <rodrigo@ximian.com>
* gui/e-calendar-table.[ch] (e_calendar_table_cut_clipboard),
(e_calendar_table_copy_clipboard),
(e_calendar_table_paste_clipboard): new functions for allowing the
execution of clipboard-related commands
* gui/tasks-control.c (tasks_control_cut_cmd),
(tasks_control_copy_cmd), (tasks_control_paste_cmd): added
callbacks for the new clipboard-related menu entries
svn path=/trunk/; revision=10560
`external_uri_schemas' attribute. Update the EvolutionShellComponent
GTK+ wrapper accordingly. Update all the components to pass a NULL
`external_uri_schemas' list when initializing themselves as
EvolutionShellComponents.
svn path=/trunk/; revision=10548
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-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-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-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
2001-06-24 Federico Mena Quintero <federico@ximian.com>
* gui/alarm-notify/alarm-notify.c: Converted to use BonoboXObject.
* gui/gnome-cal.c (gnome_calendar_open): Ask the alarm
notification service to add the calendar and tasks URIs.
(add_alarms): New function.
* gui/alarm-notify/notify-main.c (main): Doh, fixed typo in the
OAFIID.
(main): Initialize and shut down gnome-vfs.
* gui/Makefile.am (IDLS): Added evolution-calendar.idl, sigh.
(evolution_calendar_SOURCES): Added the files generated from the IDL.
* gui/alarm-notify/alarm-queue.c (alarm_trigger_cb): New function
used when an alarm is triggered.
* gui/dialogs/Makefile.am: Removed the alarm-notify-dialog files;
they are now in gui/alarm-notify.
* gui/alarm-notify/Makefile.am: Added the alarm-notify-dialog
files.
* pcs/cal.c (cal_forget_password): This was incorrectly named
cal_client_forget_password(); renamed it.
* gui/main.c (main): Initialize and shut down gnome-vfs.
svn path=/trunk/; revision=10453
2001-06-23 Federico Mena Quintero <federico@ximian.com>
* gui/e-calendar-table.c (task_compare_cb): New function to
compare tasks like the Pilot task list.
* cal-util/cal-component.h (CalComponentField): Added a
semi-hackish CAL_COMPONENT_FIELD_COMPONENT. In the ETable model,
it is intended to return a pointer to the component itself.
* gui/calendar-model.c (calendar_model_value_at): Return the
component itself for CAL_COMPONENT_FIELD_COMPONENT. Be more
paranoid about invalid columns.
(calendar_model_set_value_at): Be more paranoid about invalid
columns.
(calendar_model_duplicate_value): Ref the component field.
(calendar_model_initialize_value): Deal with the component field.
(calendar_model_value_is_empty): Likewise.
(calendar_model_value_to_string): Likewise.
svn path=/trunk/; revision=10447
2001-06-22 Rodrigo Moya <rodrigo@ximian.com>
* pcs/cal.[ch] (cal_get_password): new function for the backends to
be able to call the getPassword method on the associated
WombatClient
(cal_forget_password): ditto for the forgetPassword method
svn path=/trunk/; revision=10396
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-21 JP Rosevear <jpr@ximian.com>
* gui/main.c (main): update to new call
* gui/e-itip-control.[hc]: break the widget bits out on their own
into a proper object, basic stuff seems to be working again
* gui/itip-control-factory.c: put the control specific bits here
from e-itip-control.c
* gui/itip-control-factory.h: new header
svn path=/trunk/; revision=10389
2001-06-21 Rodrigo Moya <rodrigo@ximian.com>
* cal-client/cal-client.[ch]:
(cal_client_init): create a WombatClient when creating a CalClient
object, so that we can receive authentication notifications from
the wombat
(cal_client_destroy): destroy the WombatClient object when dying
(cal_client_set_auth_func): new function to set the authentication
function to be called when a password is required by the calendar
server (through the WombatClient object)
(cal_client_get_free_busy): new function for calling the new IDL
method Cal::getFreeBusy
* gui/alarm-notify/Makefile.am: add libwombat to LDADD
* gui/Makefile.am: add libwombat to LDADD
svn path=/trunk/; revision=10366
2001-06-20 Dave Camp <dave@ximian.com>
* Evolution-Composer.idl: Changed attachData to accept a sequence of
chars rather than a string.
* evolution-composer.c (impl_Composer_attach_data): Changed the 'data'
argument to a GNOME_Evolution_Composer_AttachmentData, and pass
data->_buffer and data->_length to camel_mime_part_set_content().
2001-06-20 Dave Camp <dave@ximian.com>
* gui/itip-utils.c (itip_send_comp): Changed attach_data
to be a GNOME_Evolution_Composer_AttachmentData rather than a
CORBA_char*.
2001-06-20 Dave Camp <dave@ximian.com>
* backend/ebook/e-card.c (e_card_list_send): Changed attach_data
to be a GNOME_Evolution_Composer_AttachmentData rather than a
CORBA_char*.
svn path=/trunk/; revision=10343
2001-06-20 JP Rosevear <jpr@ximian.com>
* gui/dialogs/comp-editor.c (print_cmd): print menu command
(print_preview_cmd): ditto for print preview
(print_setup_cmd): ditto for print setup
(comp_editor_set_cal_client): listen for updated and removed
signals
(obj_updated_cb): if the item changes else where, query the user
for the course of action
(obj_removed_cb): ditto for removal
* gui/print.c (print_setup): rudimentary page setup support
(print_comp): rudimentary individual event/task printing support
* gui/print.h: new protos
* gui/dialogs/changed-comp.[hc]: dialog to query the user about
what to do when a item is changed elsewhere
* gui/dialogs/Makefile.am: build new files
* gui/dialogs/send-comp.c (send_component_dialog): remove useless
assignment
svn path=/trunk/; revision=10338
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-06-20 Damon Chaplin <damon@ximian.com>
* gui/calendar-config.[hc]:
* gui/gnome-cal.[hc]:
* gui/tasks-control.c (tasks_control_activate):
* gui/calendar-commands.c (calendar_control_activate): moved the
function to check for a default timezone to calendar-config.c, and
also used it in the tasks control.
* gui/dialogs/e-timezone-dialog.h: #include <gtk/gtkwidget.h> fix.
svn path=/trunk/; revision=10325
2001-06-20 Damon Chaplin <damon@ximian.com>
* gui/calendar-commands.c (calendar_control_activate):
* gui/gnome-cal.[hc]: added code to show the timezone dialog if the
user hasn't set a default timezone yet.
* gui/dialogs/e-timezone-dialog.c (e_timezone_dialog_add_timezones):
set the "None" item string before adding it to the combo, to stop the
combo putting "None" in the entry initially.
svn path=/trunk/; revision=10324
2001-06-19 Damon Chaplin <damon@ximian.com>
* gui/dialogs/event-page.c: if the timezones of the start and end of
the event are the same, then if the start timezone is changed we
change the end timezone as well, since that is what most users will
want.
svn path=/trunk/; revision=10323
2001-06-19 Damon Chaplin <damon@ximian.com>
* pcs/cal.c:
* idl/evolution-calendar.idl:
* cal-client/cal-client.[hc]: removed stuff to get builtin timezone
info from the server.
svn path=/trunk/; revision=10322
2001-06-19 Damon Chaplin <damon@ximian.com>
* gui/dialogs/cal-prefs-dialog.c: added a 'Time zone' setting. Also
rearranged a little, adding a new 'General' page, since we had too
many settings on the 'Calendar' page.
* gui/e-timezone-entry.[hc]:
* gui/dialogs/e-timezone-dialog.[hc]:
* gui/dialogs/comp-editor.c:
* gui/dialogs/comp-editor-page.[hc]:
* gui/dialogs/event-page.c:
* gui/dialogs/task-details-page.c:
* gui/dialogs/task-page.c: removed CalClient stuff. The timezone dialog
now uses the timezone data directly from the client's libical library.
svn path=/trunk/; revision=10321
2001-06-19 JP Rosevear <jpr@ximian.com>
* gui/control-factory.c (control_factory_init): add auto exit unref
* gui/component-factory.c (destroy_cb): destroy our selves if we
have no more shells
(component_factory_init): add auto exit unref
svn path=/trunk/; revision=10312