[evolution-ews/gnome-2-28: 41/41] Merge branch 'master' into gnome-2-28
- From: Chenthill Palanisamy <pchen src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-ews/gnome-2-28: 41/41] Merge branch 'master' into gnome-2-28
- Date: Wed, 24 Aug 2011 08:34:41 +0000 (UTC)
commit 9ad9b6e7d83c8d05d547a6f44b81b34b92ec965a
Merge: 233b9bd c448df0
Author: Chenthill Palanisamy <pchenthill novell com>
Date: Wed Aug 24 13:56:27 2011 +0530
Merge branch 'master' into gnome-2-28
Conflicts:
src/calendar/e-cal-backend-ews.c
po/LINGUAS | 3 +
po/de.po | 297 ++++++++++++++++++++++++++++++
po/pl.po | 313 ++++++++++++++++++++++++++++++++
src/addressbook/e-book-backend-ews.c | 142 +++++++++------
src/calendar/e-cal-backend-ews-utils.c | 2 +-
src/calendar/e-cal-backend-ews.c | 188 ++++++++++++++------
src/camel/camel-ews-folder.c | 23 +++-
src/camel/camel-ews-store-summary.c | 1 +
src/camel/camel-ews-store.c | 10 +-
src/camel/camel-ews-summary.c | 15 ++
src/camel/camel-ews-utils.c | 9 +-
src/server/e-ews-connection.c | 41 ++++-
12 files changed, 916 insertions(+), 128 deletions(-)
---
diff --cc src/calendar/e-cal-backend-ews.c
index 56d33d3,a1a4367..a0c8122
--- a/src/calendar/e-cal-backend-ews.c
+++ b/src/calendar/e-cal-backend-ews.c
@@@ -214,9 -173,10 +214,10 @@@ e_cal_backend_ews_get_static_capabiliti
CAL_STATIC_CAPABILITY_NO_THISANDFUTURE ","
CAL_STATIC_CAPABILITY_NO_CONV_TO_ASSIGN_TASK ","
CAL_STATIC_CAPABILITY_NO_CONV_TO_RECUR ","
+ CAL_STATIC_CAPABILITY_NO_TASK_ASSIGNMENT ","
CAL_STATIC_CAPABILITY_SAVE_SCHEDULES);
- e_data_cal_notify_static_capabilities (cal, context, NULL, capabilities);
+ e_data_cal_notify_static_capabilities (cal, 0, capabilities);
}
static gboolean
@@@ -1076,8 -1015,14 +1077,13 @@@ typedef struct
ECalBackendEws *cbews;
EDataCal *cal;
ECalComponent *comp;
- EServerMethodContext context;
} EwsCreateData;
+ typedef struct {
+ ECalBackendEws *cbews;
+ icalcomponent *icalcomp;
+ } EwsConvertData;
+
static void add_attendees_list_to_message(ESoapMessage *msg, const gchar *listname, GSList *list) {
GSList *item;
@@@ -1337,18 -1300,26 +1359,25 @@@ ews_create_attachments_cb(GObject *obje
* this is the only way to pass attachments in meeting invite mail*/
if (e_cal_component_has_attendees (create_data->comp)) {
icalcomponent *icalcomp = e_cal_component_get_icalcomponent (create_data->comp);
- e_cal_backend_ews_modify_object ((ECalBackend *) create_data->cbews, create_data->cal, NULL, icalcomponent_as_ical_string (icalcomp), CALOBJ_MOD_ALL);
+ e_cal_backend_ews_modify_object ((ECalBackend *) create_data->cbews, NULL, icalcomponent_as_ical_string (icalcomp), CALOBJ_MOD_ALL);
}
- e_data_cal_notify_object_created (create_data->cal, EDC_ER_CODE(error), comp_uid, e_cal_component_get_as_string(create_data->comp));
} else if (create_data->cb_type == 2) {
+ const char *send_meeting_invitations;
EwsModifyData* modify_data;
modify_data = g_new0 (EwsModifyData, 1);
modify_data->cbews = g_object_ref (create_data->cbews);
modify_data->comp = create_data->comp;
modify_data->oldcomp = create_data->oldcomp;
modify_data->cal = g_object_ref (create_data->cal);
- modify_data->context = create_data->context;
modify_data->itemid = create_data->itemid;
- modify_data->changekey = create_data->changekey;
+ modify_data->changekey = change_key;
+
+ if (e_cal_component_has_attendees (create_data->comp))
+ send_meeting_invitations = "SendToAllAndSaveCopy";
+ else
+ /*In case of appointment we have to set SendMeetingInvites to SendToNone */
+ send_meeting_invitations = "SendToNone";
+
e_ews_connection_update_items_start (priv->cnc, EWS_PRIORITY_MEDIUM,
"AlwaysOverwrite",
"SendAndSaveCopy",
@@@ -1434,7 -1404,8 +1463,7 @@@ ews_create_object_cb(GObject *object, G
attach_data->cbews = g_object_ref (create_data->cbews);
attach_data->comp = g_object_ref (create_data->comp);
- attach_data->cal = create_data->cal;
+ attach_data->cal = g_object_ref (create_data->cal);
- attach_data->context = create_data->context;
attach_data->cb_type = 1;
e_cal_component_get_attachment_list (create_data->comp, &attachments);
@@@ -1469,10 -1440,12 +1498,10 @@@
e_cal_component_commit_sequence(create_data->comp);
put_component_to_store (create_data->cbews, create_data->comp);
- /* notify the backend and the application that a new object was created */
- e_cal_backend_notify_object_created (E_CAL_BACKEND(create_data->cbews), create_data->context);
-
+ /* notify the backend and the application that a new object was created. FIXME - check if its works fine - backport issue */
e_cal_component_get_uid(create_data->comp, &comp_uid);
- if (n_attach == 0)
- e_data_cal_notify_object_created (create_data->cal, EDC_ER_CODE(error), comp_uid, e_cal_component_get_as_string(create_data->comp));
+
- e_data_cal_notify_object_created (create_data->cal, create_data->context, error, comp_uid, e_cal_component_get_as_string(create_data->comp));
++ e_data_cal_notify_object_created (create_data->cal, EDC_ER_CODE(error), comp_uid, e_cal_component_get_as_string(create_data->comp));
/* place new component in our cache */
PRIV_LOCK (priv);
@@@ -1537,9 -1509,10 +1566,10 @@@ static void tzid_cb(icalparameter *para
}
static void
-e_cal_backend_ews_create_object(ECalBackend *backend, EDataCal *cal, EServerMethodContext context, const gchar *calobj)
+e_cal_backend_ews_create_object(ECalBackend *backend, EDataCal *cal, const gchar *calobj)
{
EwsCreateData *create_data;
+ EwsConvertData *convert_data;
ECalBackendEws *cbews;
ECalBackendEwsPrivate *priv;
icalcomponent_kind kind;
@@@ -1602,8 -1575,11 +1632,10 @@@
create_data->cbews = g_object_ref(cbews);
create_data->comp = comp;
create_data->cal = g_object_ref(cal);
- create_data->context = context;
-
+ convert_data = g_new0 (EwsConvertData, 1);
+ convert_data->cbews = g_object_ref (cbews);
+ convert_data->icalcomp = icalcomp;
/*In case we are creating a meeting with attendees and attachments.
* We have to preform 3 steps in order to allow attendees to receive attachments in their invite mails.
@@@ -2110,8 -2104,15 +2160,14 @@@ e_cal_backend_ews_modify_object (ECalBa
modify_data->comp = g_object_ref (comp);
modify_data->oldcomp = g_object_ref (oldcomp);
modify_data->cal = g_object_ref (cal);
- modify_data->context = context;
modify_data->itemid = itemid;
modify_data->changekey = changekey;
+
+ if (e_cal_component_has_attendees (comp))
+ send_meeting_invitations = "SendToAllAndSaveCopy";
+ else
+ /*In case of appointment we have to set SendMeetingInvites to SendToNone */
+ send_meeting_invitations = "SendToNone";
e_ews_connection_update_items_start (priv->cnc, EWS_PRIORITY_MEDIUM,
"AlwaysOverwrite",
@@@ -3334,12 -3365,19 +3411,19 @@@ e_cal_backend_ews_refresh(ECalBackend *
cbews = E_CAL_BACKEND_EWS (backend);
priv = cbews->priv;
- /* make sure we're not offline */
+ if (priv->mode == CAL_MODE_LOCAL) {
+ g_propagate_error(&error, EDC_ERROR(RepositoryOffline));
+ goto exit;
+ }
+
PRIV_LOCK(priv);
ews_start_sync(cbews);
PRIV_UNLOCK(priv);
+ g_clear_error (&error);
+ exit:
+ e_data_cal_notify_refresh(cal, context, error);
-}
+}*/
typedef struct {
ECalBackendEws *cbews;
diff --cc src/camel/camel-ews-folder.c
index b40a712,37de1e4..9772448
--- a/src/camel/camel-ews-folder.c
+++ b/src/camel/camel-ews-folder.c
@@@ -71,9 -70,11 +71,10 @@@ which needs to be better organized via
"message:BccRecipients message:IsRead message:References message:InternetMessageId " \
SUMMARY_MESSAGE_FLAGS
+ #define SUMMARY_POSTITEM_PROPS ITEM_PROPS " " SUMMARY_ITEM_FLAGS " message:From message:Sender"
-#define CAMEL_EWS_FOLDER_GET_PRIVATE(obj) \
- (G_TYPE_INSTANCE_GET_PRIVATE \
- ((obj), CAMEL_TYPE_EWS_FOLDER, CamelEwsFolderPrivate))
+#define CAMEL_EWS_FOLDER_GET_PRIVATE(obj) obj->priv
+static CamelOfflineFolderClass *parent_class = NULL;
struct _CamelEwsFolderPrivate {
GMutex *search_lock; /* for locking the search object */
diff --cc src/camel/camel-ews-summary.c
index 6a38408,501c1b4..6bb9760
--- a/src/camel/camel-ews-summary.c
+++ b/src/camel/camel-ews-summary.c
@@@ -91,10 -104,14 +102,14 @@@ static voi
camel_ews_summary_class_init (CamelEwsSummaryClass *class)
{
CamelFolderSummaryClass *folder_summary_class;
+ GObjectClass *object_class;
+
+ object_class = G_OBJECT_CLASS (class);
+ object_class->finalize = ews_summary_finalize;
+ camel_ews_summary_parent_class = CAMEL_FOLDER_SUMMARY_CLASS (camel_type_get_global_classfuncs (camel_folder_summary_get_type()));
+
folder_summary_class = CAMEL_FOLDER_SUMMARY_CLASS (class);
- folder_summary_class->message_info_size = sizeof (CamelEwsMessageInfo);
- folder_summary_class->content_info_size = sizeof (CamelEwsMessageContentInfo);
folder_summary_class->message_info_clone = ews_message_info_clone;
folder_summary_class->message_info_free = ews_message_info_free;
folder_summary_class->summary_header_load = ews_summary_header_load;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]