aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/port-eds-3.5.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/port-eds-3.5.patch')
-rw-r--r--debian/patches/port-eds-3.5.patch248
1 files changed, 0 insertions, 248 deletions
diff --git a/debian/patches/port-eds-3.5.patch b/debian/patches/port-eds-3.5.patch
deleted file mode 100644
index 805855f..0000000
--- a/debian/patches/port-eds-3.5.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
-Subject: Update to evolution-data-server 3.5 API.
-
----
- src/datetime-service.c | 176 +++++++++++++++++++++++--------------------------
- 1 file changed, 84 insertions(+), 92 deletions(-)
-
-Index: b/src/datetime-service.c
-===================================================================
---- a/src/datetime-service.c
-+++ b/src/datetime-service.c
-@@ -40,11 +40,9 @@ with this program. If not, see <http://
- #include <geoclue/geoclue-master-client.h>
-
- #include <time.h>
--#include <libecal/e-cal.h>
-+#include <libecal/libecal.h>
- #include <libical/ical.h>
--#include <libecal/e-cal-time-util.h>
--#include <libedataserver/e-source.h>
--#include <libedataserverui/e-passwords.h>
-+#include <libedataserver/libedataserver.h>
- // Other users of ecal seem to also include these, not sure why they should be included by the above
- #include <libical/icaltime.h>
- #include <cairo/cairo.h>
-@@ -594,27 +592,6 @@ check_for_calendar (gpointer user_data)
- return FALSE;
- }
-
--// Authentication function
--static gchar *
--auth_func (ECal *ecal,
-- const gchar *prompt,
-- const gchar *key,
-- gpointer user_data)
--{
-- ESource *source = e_cal_get_source (ecal);
-- gchar *auth_domain = e_source_get_duped_property (source, "auth-domain");
--
-- const gchar *component_name;
-- if (auth_domain) component_name = auth_domain;
-- else component_name = "Calendar";
--
-- gchar *password = e_passwords_get_password (component_name, key);
--
-- g_free (auth_domain);
--
-- return password;
--}
--
- static gint
- compare_comp_instances (gconstpointer ga, gconstpointer gb)
- {
-@@ -649,23 +626,53 @@ comp_instance_free (struct comp_instance
- }
-
- static gboolean
--populate_appointment_instances (ECalComponent * comp,
-+populate_appointment_instances (ECalClient * client,
- time_t start,
- time_t end,
- gpointer data)
- {
-- g_debug("Appending item %p", comp);
--
-- ECalComponentVType vtype = e_cal_component_get_vtype (comp);
-- if (vtype != E_CAL_COMPONENT_EVENT && vtype != E_CAL_COMPONENT_TODO) return FALSE;
--
-- icalproperty_status status;
-- e_cal_component_get_status (comp, &status);
-- if (status == ICAL_STATUS_COMPLETED || status == ICAL_STATUS_CANCELLED) return FALSE;
-+ GSList *ecalcomps, *comp_item;
-
-- struct comp_instance *ci = comp_instance_new (comp, start, end, E_SOURCE(data));
-- comp_instances = g_list_append (comp_instances, ci);
-- return TRUE;
-+ if (e_cal_client_get_object_list_as_comps_sync (client,
-+ NULL,
-+ &ecalcomps,
-+ NULL, NULL)) {
-+
-+ for (comp_item = ecalcomps; comp_item; comp_item = g_slist_next(comp_item)) {
-+ ECalComponent *comp = comp_item->data;
-+
-+ g_debug("Appending item %p", e_cal_component_get_as_string(comp));
-+
-+ ECalComponentVType vtype = e_cal_component_get_vtype (comp);
-+ if (vtype != E_CAL_COMPONENT_EVENT && vtype != E_CAL_COMPONENT_TODO) return FALSE;
-+
-+ icalproperty_status status;
-+ e_cal_component_get_status (comp, &status);
-+ if (status == ICAL_STATUS_COMPLETED || status == ICAL_STATUS_CANCELLED) return FALSE;
-+
-+ g_object_ref(comp);
-+
-+ ECalComponentDateTime datetime;
-+ icaltimezone *appointment_zone = NULL;
-+ icaltimezone *current_zone = NULL;
-+
-+ if (vtype == E_CAL_COMPONENT_EVENT)
-+ e_cal_component_get_dtstart (comp, &datetime);
-+ else
-+ e_cal_component_get_due (comp, &datetime);
-+
-+ appointment_zone = icaltimezone_get_builtin_timezone_from_tzid(datetime.tzid);
-+ current_zone = icaltimezone_get_builtin_timezone_from_tzid(current_timezone);
-+ if (!appointment_zone || datetime.value->is_date) { // If it's today put in the current timezone?
-+ appointment_zone = current_zone;
-+ }
-+
-+ struct comp_instance *ci = comp_instance_new (comp, start, end, E_SOURCE(data));
-+ comp_instances = g_list_append (comp_instances, ci);
-+ }
-+ return TRUE;
-+ }
-+ return FALSE;
- }
-
- /* Populate the menu with todays, next 5 appointments.
-@@ -685,12 +692,12 @@ update_appointment_menu_items (gpointer
- updating_appointments = TRUE;
-
- time_t curtime = 0, t1 = 0, t2 = 0;
-- GList *l;
-- GSList *g;
-+ GList *l, *s;
- GError *gerror = NULL;
- gint i;
- gint width = 0, height = 0;
-- ESourceList * sources = NULL;
-+ ESourceRegistry * src_registry = NULL;
-+ GList * sources = NULL;
-
- // Get today & work out query times
- time(&curtime);
-@@ -730,67 +737,52 @@ update_appointment_menu_items (gpointer
- highlightdays = highlightdays + 7; // Minimum of 7 days ahead
- t2 = t1 + (time_t) (highlightdays * 24 * 60 * 60);
-
-- if (!e_cal_get_sources(&sources, E_CAL_SOURCE_TYPE_EVENT, &gerror)) {
-- g_debug("Failed to get ecal sources\n");
-- g_clear_error (&gerror);
-- return FALSE;
-- }
--
- // clear any previous comp_instances
- g_list_free_full (comp_instances, (GDestroyNotify)comp_instance_free);
- comp_instances = NULL;
-
-- GSList *cal_list = gconf_client_get_list(gconf, "/apps/evolution/calendar/display/selected_calendars", GCONF_VALUE_STRING, &gerror);
-- if (gerror) {
-- g_debug("Failed to get evolution preference for enabled calendars");
-- g_clear_error (&gerror);
-- cal_list = NULL;
-- }
--
-+ src_registry = e_source_registry_new_sync (NULL, &gerror);
-+ if (!src_registry) {
-+ g_debug("Failed to get access to source registry: %s\n", gerror->message);
-+ return FALSE;
-+ }
-+
-+ sources = e_source_registry_list_sources(src_registry, E_SOURCE_EXTENSION_CALENDAR);
-+
- // Generate instances for all sources
-- for (g = e_source_list_peek_groups (sources); g; g = g->next) {
-- ESourceGroup *group = E_SOURCE_GROUP (g->data);
-- GSList *s;
--
-- for (s = e_source_group_peek_sources (group); s; s = s->next) {
-- ESource *source = E_SOURCE (s->data);
-- g_signal_connect (G_OBJECT(source), "changed", G_CALLBACK (update_appointment_menu_items), NULL);
-- ECal *ecal = e_cal_new(source, E_CAL_SOURCE_TYPE_EVENT);
-- e_cal_set_auth_func (ecal, (ECalAuthFunc) auth_func, NULL);
--
-- icaltimezone* current_zone = icaltimezone_get_builtin_timezone(current_timezone);
-- if (!current_zone) {
-- // current_timezone may be a TZID?
-- current_zone = icaltimezone_get_builtin_timezone_from_tzid(current_timezone);
-- }
-- if (current_zone && !e_cal_set_default_timezone(ecal, current_zone, &gerror)) {
-- g_debug("Failed to set ecal default timezone %s", gerror->message);
-- g_clear_error (&gerror);
-- g_object_unref(ecal);
-- continue;
-- }
--
-- if (!e_cal_open(ecal, FALSE, &gerror)) {
-- g_debug("Failed to get ecal sources %s", gerror->message);
-- g_clear_error (&gerror);
-- g_object_unref(ecal);
-- continue;
-- }
-+ for (s = g_list_first (sources); s; s = g_list_next (s)) {
-
-- const gchar *ecal_uid = e_source_peek_uid(source);
-- g_debug("Checking ecal_uid is enabled: %s", ecal_uid);
-- const gboolean in_list = g_slist_find_custom (cal_list, ecal_uid, (GCompareFunc)g_strcmp0) != NULL;
-- if (!in_list) {
-+ ESource *source = E_SOURCE (s->data);
-+ g_signal_connect (G_OBJECT(source), "changed", G_CALLBACK (update_appointment_menu_items), NULL);
-+ ECalClient *ecal = e_cal_client_new(source, E_CAL_CLIENT_SOURCE_TYPE_EVENTS, &gerror);
-+
-+ icaltimezone* current_zone = icaltimezone_get_builtin_timezone(current_timezone);
-+ if (!current_zone) {
-+ // current_timezone may be a TZID?
-+ current_zone = icaltimezone_get_builtin_timezone_from_tzid(current_timezone);
-+ }
-+
-+ e_cal_client_set_default_timezone (ecal, current_zone);
-+
-+ g_debug("Checking if source %s is enabled", e_source_get_uid(source));
-+ if (e_source_get_enabled (source)) {
-+ g_debug("source is enabled, generating instances");
-+
-+ if (!e_client_open_sync (E_CLIENT (ecal), TRUE, NULL, &gerror)) {
-+ g_debug("Failed to open source: %s", gerror->message);
-+ g_clear_error (&gerror);
- g_object_unref(ecal);
- continue;
- }
-
-- g_debug("ecal_uid is enabled, generating instances");
-- e_cal_generate_instances (ecal, t1, t2, (ECalRecurInstanceFn) populate_appointment_instances, source);
-- g_object_unref(ecal);
-- }
-- }
-- g_slist_free_full (cal_list, g_free);
-+ e_cal_client_generate_instances (ecal, t1, t2, NULL,
-+ (ECalRecurInstanceFn) populate_appointment_instances,
-+ (gpointer) source,
-+ NULL);
-+ }
-+ g_object_unref(ecal);
-+ }
-+ g_list_free_full (sources, g_object_unref);
-
- g_debug("Number of ECalComponents returned: %d", g_list_length(comp_instances));
- GList *sorted_comp_instances = g_list_sort(comp_instances, compare_comp_instances);
-@@ -942,7 +934,7 @@ update_appointment_menu_items (gpointer
- G_CALLBACK(activate_cb), cmd, (GClosureNotify)g_free, 0);
- g_free (ad);
-
-- const gchar *color_spec = e_source_peek_color_spec(ci->source);
-+ const gchar *color_spec = e_source_selectable_get_color (e_source_get_extension (ci->source, E_SOURCE_EXTENSION_CALENDAR));
- g_debug("Colour to use: %s", color_spec);
-
- // Draw the correct icon for the appointment type and then tint it using mask fill.