[balsa] Save send type in draft message



commit ae430897ce57a2559caa131b5d5fac12a82376a7
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Tue Jul 21 09:50:28 2009 -0400

    Save send type in draft message

 ChangeLog            |   13 +-
 configure            |21519 --------------------------------------------------
 src/sendmsg-window.c |   22 +-
 src/sendmsg-window.h |    1 +
 4 files changed, 22 insertions(+), 21533 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 968097d..fb2a303 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,15 @@
-2009-07-20  Peter Bloomfield  <peter t43 bellsouth net>
+2009-07-21  Peter Bloomfield
+
+	Save send type in draft message
+
+	* src/sendmsg-window.h: new member is_continue.
+	* src/sendmsg-window.c (delete_handler), (guess_identity),
+	(sendmsg_window_new), (sendmsg_window_continue),
+	(message_postpone): use it instead of SEND_CONTINUE.
+	(sendmsg_window_set_title), (set_entry_to_subject),
+	(replace_identity_signature): we no longer use SEND_CONTINUE.
+
+2009-07-20  Peter Bloomfield
 
 	* configure.in: make silent rules by default.
 
diff --git a/src/sendmsg-window.c b/src/sendmsg-window.c
index e826773..ad75079 100644
--- a/src/sendmsg-window.c
+++ b/src/sendmsg-window.c
@@ -930,7 +930,7 @@ delete_handler(BalsaSendmsg * bsmsg)
                 return TRUE;
         break;
     case GTK_RESPONSE_NO:
-        if (bsmsg->type != SEND_CONTINUE)
+        if (!bsmsg->is_continue)
             sw_delete_draft(bsmsg);
         break;
     default:
@@ -1295,7 +1295,6 @@ replace_identity_signature(BalsaSendmsg* bsmsg, LibBalsaIdentity* new_ident,
     
     switch (bsmsg->type) {
     case SEND_NORMAL:
-    case SEND_CONTINUE:
     default:
         insert_signature = TRUE;
         break;
@@ -4020,11 +4019,6 @@ set_entry_to_subject(GtkEntry* entry, LibBalsaMessageBody *part,
     case SEND_FORWARD_INLINE:
         newsubject = generate_forwarded_subject(subject, headers, ident);
 	break;
-    case SEND_CONTINUE:
-	if (subject)
-	    gtk_entry_set_text(entry, subject);
-	g_free(subject);
-	return;
     default:
 	return; /* or g_assert_never_reached() ? */
     }
@@ -4232,7 +4226,7 @@ guess_identity(BalsaSendmsg* bsmsg, LibBalsaMessage * message)
     if (!message  || !message->headers || !balsa_app.identities)
         return FALSE; /* use default */
 
-    if (bsmsg->type == SEND_CONTINUE)
+    if (bsmsg->is_continue)
         return guess_identity_from_list(bsmsg, message->headers->from,
                                         FALSE);
 
@@ -4499,6 +4493,7 @@ sendmsg_window_new()
     gtk_widget_show_all(window);
 
     bsmsg->type = SEND_NORMAL;
+    bsmsg->is_continue = FALSE;
 #if !HAVE_GTKSPELL
     bsmsg->spell_checker = NULL;
 #endif                          /* HAVE_GTKSPELL */
@@ -4940,7 +4935,7 @@ sendmsg_window_continue(LibBalsaMailbox * mailbox, guint msgno)
     GList *list, *refs = NULL;
 
     g_assert(message);
-    bsmsg->type = SEND_CONTINUE;
+    bsmsg->is_continue = TRUE;
     bsm_prepare_for_setup(message);
     bsmsg->draft_message = message;
     set_identity(bsmsg, message);
@@ -4988,6 +4983,9 @@ sendmsg_window_continue(LibBalsaMailbox * mailbox, guint msgno)
     if ((postpone_hdr =
          libbalsa_message_get_user_header(message, "X-Balsa-MP-Alt")))
         sw_set_active(bsmsg, "SendMPAlt", !strcmp(postpone_hdr, "yes"));
+    if ((postpone_hdr =
+         libbalsa_message_get_user_header(message, "X-Balsa-Send-Type")))
+        bsmsg->type = atoi(postpone_hdr);
 
     for (list = message->references; list; list = list->next)
         refs = g_list_prepend(refs, g_strdup(list->data));
@@ -5988,6 +5986,8 @@ message_postpone(BalsaSendmsg * bsmsg)
     g_ptr_array_add(headers, g_strdup(bsmsg->flow ? "Flowed" : "Fixed"));
     g_ptr_array_add(headers, g_strdup("X-Balsa-MP-Alt"));
     g_ptr_array_add(headers, g_strdup(bsmsg->send_mp_alt ? "yes" : "no"));
+    g_ptr_array_add(headers, g_strdup("X-Balsa-Send-Type"));
+    g_ptr_array_add(headers, g_strdup_printf("%d", bsmsg->type));
     g_ptr_array_add(headers, NULL);
 
     if ((bsmsg->type == SEND_REPLY || bsmsg->type == SEND_REPLY_ALL ||
@@ -6850,10 +6850,6 @@ sendmsg_window_set_title(BalsaSendmsg * bsmsg)
         title_format = _("Forward message to %s: %s");
         break;
 
-    case SEND_CONTINUE:
-        title_format = _("Continue message to %s: %s");
-        break;
-
     default:
         title_format = _("New message to %s: %s");
         break;
diff --git a/src/sendmsg-window.h b/src/sendmsg-window.h
index 782f025..0872d04 100644
--- a/src/sendmsg-window.h
+++ b/src/sendmsg-window.h
@@ -72,6 +72,7 @@ extern "C" {
 	LibBalsaMessage *parent_message; /* to which we're replying     */
 	LibBalsaMessage *draft_message;  /* where the message was saved */
 	SendType type;
+        gboolean is_continue;
 	/* language selection related data */
 	const gchar *spell_check_lang;
 	GtkWidget *current_language_menu;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]