X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-tny-send-queue.c;h=357aa3ea5c62c35f9a9550d34d58eb619fea5f62;hp=0677d6439efbe0b31f42fd1438af425a00b5f016;hb=71ee02905c83ab1eb1f0b4236384cdcc9ed2c8a3;hpb=32b626bbca8c8423c46cc9c07e3d24b84295e452 diff --git a/src/modest-tny-send-queue.c b/src/modest-tny-send-queue.c index 0677d64..357aa3e 100644 --- a/src/modest-tny-send-queue.c +++ b/src/modest-tny-send-queue.c @@ -48,12 +48,28 @@ static void modest_tny_send_queue_finalize (GObject *obj); static void modest_tny_send_queue_instance_init (GTypeInstance *instance, gpointer g_class); /* Signal handlers */ -static void _on_msg_start_sending (TnySendQueue *self, TnyHeader *header, TnyMsg *msg, int done, int total, gpointer user_data); -static void _on_msg_has_been_sent (TnySendQueue *self, TnyHeader *header, TnyMsg *msg, int done, int total, gpointer user_data); -static void _on_msg_error_happened (TnySendQueue *self, TnyHeader *header, TnyMsg *msg, GError *err, gpointer user_data); - -static TnyFolder*modest_tny_send_queue_get_outbox (TnySendQueue *self); -static TnyFolder*modest_tny_send_queue_get_sentbox (TnySendQueue *self); +static void _on_msg_start_sending (TnySendQueue *self, + TnyHeader *header, + TnyMsg *msg, + int done, + int total, + gpointer user_data); + +static void _on_msg_has_been_sent (TnySendQueue *self, + TnyHeader *header, + TnyMsg *msg, + int done, + int total, + gpointer user_data); + +static void _on_msg_error_happened (TnySendQueue *self, + TnyHeader *header, + TnyMsg *msg, + GError *err, + gpointer user_data); + +static TnyFolder* modest_tny_send_queue_get_outbox (TnySendQueue *self); +static TnyFolder* modest_tny_send_queue_get_sentbox (TnySendQueue *self); /* list my signals */ enum { @@ -148,9 +164,8 @@ modest_tny_send_queue_cancel (TnySendQueue *self, gboolean remove, GError **err) iter = tny_list_create_iterator (headers); while (!tny_iterator_is_done (iter)) { header = TNY_HEADER (tny_iterator_get_current (iter)); - if (header) { - tny_header_unset_flags (header, TNY_HEADER_FLAG_PRIORITY); - tny_header_set_flags (header, TNY_HEADER_FLAG_SUSPENDED_PRIORITY); + if (header) { + tny_header_set_flag (header, TNY_HEADER_FLAG_SUSPENDED); tny_iterator_next (iter); g_object_unref (header); } @@ -219,10 +234,10 @@ modest_tny_send_queue_add (ModestTnySendQueue *self, TnyMsg *msg, GError **err) g_return_if_fail (TNY_IS_CAMEL_MSG(msg)); tny_camel_send_queue_add_async (TNY_CAMEL_SEND_QUEUE(self), - msg, - _on_added_to_outbox, - NULL, - NULL); + msg, + _on_added_to_outbox, + NULL, + NULL); } @@ -234,7 +249,7 @@ _add_message (ModestTnySendQueue *self, TnyHeader *header) SendInfo *info = NULL; GList* existing = NULL; gchar* msg_uid = NULL; - ModestTnySendQueueStatus status = MODEST_TNY_SEND_QUEUE_UNKNONW; + ModestTnySendQueueStatus status = MODEST_TNY_SEND_QUEUE_UNKNOWN; gboolean editing = FALSE; g_return_if_fail (TNY_IS_SEND_QUEUE(self)); @@ -245,12 +260,10 @@ _add_message (ModestTnySendQueue *self, TnyHeader *header) msg_uid = modest_tny_send_queue_get_msg_id (header); status = modest_tny_send_queue_get_msg_status (self, msg_uid); switch (status) { - case MODEST_TNY_SEND_QUEUE_UNKNONW: + case MODEST_TNY_SEND_QUEUE_UNKNOWN: case MODEST_TNY_SEND_QUEUE_SUSPENDED: case MODEST_TNY_SEND_QUEUE_FAILED: - if (status != MODEST_TNY_SEND_QUEUE_SUSPENDED) - tny_header_unset_flags (header, TNY_HEADER_FLAG_PRIORITY); - + /* Check if it already exists on queue */ existing = modest_tny_send_queue_lookup_info (MODEST_TNY_SEND_QUEUE(self), msg_uid); if(existing != NULL) @@ -493,31 +506,22 @@ modest_tny_send_queue_get_msg_status (ModestTnySendQueue *self, const gchar *msg { GList *item; item = modest_tny_send_queue_lookup_info (self, msg_id); - if(item == NULL) return MODEST_TNY_SEND_QUEUE_UNKNONW; + if(item == NULL) return MODEST_TNY_SEND_QUEUE_UNKNOWN; return ((SendInfo*)item->data)->status; } gchar * modest_tny_send_queue_get_msg_id (TnyHeader *header) { - const gchar *uid = NULL; gchar* msg_uid = NULL; - gchar **tmp = NULL; + const gchar *subject; + time_t date_received; /* Get message uid */ - uid = tny_header_get_uid (header); - if (uid) - tmp = g_strsplit (uid, "__", 2); - - if (tmp) { - if (tmp[1] != NULL) - msg_uid = g_strconcat (tmp[0], "_", NULL); - else - msg_uid = g_strdup(tmp[0]); - - /* free */ - g_strfreev(tmp); - } + subject = tny_header_get_subject (header); + date_received = tny_header_get_date_received (header); + + msg_uid = g_strdup_printf ("%s %d", subject, (int) date_received); return msg_uid; } @@ -567,20 +571,19 @@ _on_msg_has_been_sent (TnySendQueue *self, gpointer user_data) { ModestTnySendQueuePrivate *priv; - GList *item; gchar *msg_id = NULL; - + GList *item; priv = MODEST_TNY_SEND_QUEUE_GET_PRIVATE (self); /* Get message uid */ msg_id = modest_tny_send_queue_get_msg_id (header); - + + tny_header_set_flag (header, TNY_HEADER_FLAG_SEEN); + /* Get status info */ item = modest_tny_send_queue_lookup_info (MODEST_TNY_SEND_QUEUE (self), msg_id); - if (!item) - g_warning ("%s: item should not be NULL", __FUNCTION__); - else { - + if (item) { + /* Remove status info */ modest_tny_send_queue_info_free (item->data); g_queue_delete_link (priv->queue, item);