diff options
author | Gary Ekker <gekker@novell.com> | 2004-01-13 09:59:28 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2004-01-13 09:59:28 +0800 |
commit | 449f48576b556874742934cacfbc80c041ff12fd (patch) | |
tree | 373f3fbea0dcc0c4aa8756ce56d7b085a079b6c9 /calendar/gui/calendar-commands.c | |
parent | 99f392e5f1db3f927ae93eef5ca657f5a3db7f72 (diff) | |
download | gsoc2013-evolution-449f48576b556874742934cacfbc80c041ff12fd.tar.gz gsoc2013-evolution-449f48576b556874742934cacfbc80c041ff12fd.tar.zst gsoc2013-evolution-449f48576b556874742934cacfbc80c041ff12fd.zip |
add e-pub-utils.[ch] for Free/Busy publishing
2004-01-12 Gary Ekker <gekker@novell.com>
* gui/Makefile.am: add e-pub-utils.[ch]
for Free/Busy publishing
* gui/apps_evolution_calendar.schemas.in.in: add schema for
/apps/evo/calendar/free_busy key
* gui/calendar-commands.c (publish_freebusy_cmd): change to
publish component rather than attach as email
* gui/calendar-config-keys.h: add free_busy/urls key definition
* gui/calendar-config.[ch] (calendar_config_get_free_busy): new
method for retrieving FB gconf key
(calendar_config_set_free_busy): new method for saving FB
gconf key
* gui/e-cal-view.c (on_publish): change to publish component
rather than attach as email
* gui/itip-utils.[ch] (itip_publish_begin): new method to process
e_cal_components and aggregate the data if we are publishing
for multiple calendars
(itip_publish_comp): new method to publish the ical data to an
http server via libsoup
(comp_fb_normalize): new static method to ensure rfc 2446
compliant
data before publishing icalcomponent_get_uid
(fb_sort): new static method to sort FB properties in ascending
order
* gui/dialogs/Makefile.am: add url-editor-dialog.[ch] and
url-editor-dialog.glade for configure FB publishing
* gui/dialogs/cal-prefs-dialog.[ch]
(cal_prefs_dialog_url_add_clicked):
(cal_prefs_dialog_url_edit_clicked):new method for events in FB
tab
of cal-prefs-dialog
(cal_prefs_dialog_url_remove_clicked): ditto
(cal_prefs_dialog_url_enable_clicked): ditto
(cal_prefs_dialog_url_url_list_change): ditto
(cal_prefs_dialog_url_url_list_enable_toggled): ditto
(cal_prefs_dialog_url_url_list_double_click): ditto
(show_fb_config): new method for updating dialog with FB specific
data in gconf
(update_fb_config): new method for updating gconf with FB specific
data from dialogs
(setup_changes): detect changes in url_list gtk_tree_view
(get_widgets): include new dialog widgets for FB config
(init_widgets): connect signals for new FB config widgets
* gui/dialogs/cal-prefs-dialog.glade: add new widgets for FB
config
* gui/dialogs/url-editor-dialog.[ch]: add files for FB url-editor
dialog
* gui/dialogs/url-editor-dialog.glade: ditto
* gui/e-pub-utils.[ch]: add files with FB publishing utilities
* gui/calendar-component.c (init_calendar_publishing): sets up
listeners to publish calendar, g_idle_add, and on gconf change
(init_calendar_publishing_cb): ditto
(conf_changed_callback): ditto
(impl_createControls): ditto
svn path=/trunk/; revision=24190
Diffstat (limited to 'calendar/gui/calendar-commands.c')
-rw-r--r-- | calendar/gui/calendar-commands.c | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/calendar/gui/calendar-commands.c b/calendar/gui/calendar-commands.c index 6defec9819..1ff2a3a0a8 100644 --- a/calendar/gui/calendar-commands.c +++ b/calendar/gui/calendar-commands.c @@ -60,6 +60,7 @@ #include "print.h" #include "dialogs/cal-prefs-dialog.h" #include "itip-utils.h" +#include "e-pub-utils.h" #include "evolution-shell-component-utils.h" /* Focusing information for the calendar view. We have to keep track of this @@ -319,36 +320,7 @@ delete_occurrence_cmd (BonoboUIComponent *uic, gpointer data, const gchar *path) static void publish_freebusy_cmd (BonoboUIComponent *uic, gpointer data, const gchar *path) { - GnomeCalendar *gcal; - GList *client_list, *cl; - GList *comp_list = NULL; - icaltimezone *utc; - time_t start = time (NULL), end; - - gcal = GNOME_CALENDAR (data); - - utc = icaltimezone_get_utc_timezone (); - start = time_day_begin_with_zone (start, utc); - end = time_add_week_with_zone (start, 6, utc); - - /* FIXME Should we aggregate the data? */ - client_list = e_cal_model_get_client_list (gnome_calendar_get_calendar_model (gcal)); - for (cl = client_list; cl != NULL; cl = cl->next) { - if (e_cal_get_free_busy ((ECal *) cl->data, NULL, start, end, &comp_list, NULL)) { - GList *l; - - for (l = comp_list; l; l = l->next) { - ECalComponent *comp = E_CAL_COMPONENT (l->data); - itip_send_comp (E_CAL_COMPONENT_METHOD_PUBLISH, comp, (ECal *) cl->data, NULL); - - g_object_unref (comp); - } - - g_list_free (comp_list); - } - } - - g_list_free (client_list); + e_pub_publish (TRUE); } static void |