[evolution-ews/gnome-2-28: 41/41] Merge branch 'master' into gnome-2-28



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]