static gint compose_defer_auto_save_draft (Compose *compose);
static PrefsAccount *compose_guess_forward_account_from_msginfo (MsgInfo *msginfo);
+static void compose_close (Compose *compose);
+
static GtkItemFactoryEntry compose_popup_entries[] =
{
{N_("/_Add..."), NULL, compose_attach_cb, 0, NULL},
if (prefs_common.send_dialog_mode != SEND_DIALOG_ALWAYS) {
compose->sending = FALSE;
- gtk_widget_destroy(compose->window);
+ compose_close(compose);
/* No more compose access in the normal codepath
* after this point! */
}
folder_item_remove_msg(folder, msgnum);
folder_item_scan(folder);
if (prefs_common.send_dialog_mode == SEND_DIALOG_ALWAYS)
- gtk_widget_destroy(compose->window);
+ compose_close(compose);
} else {
alertpanel_error(_("The message was queued but could not be "
"sent.\nUse \"Send queued messages\" from "
mimetext->subtype = g_strdup("plain");
g_hash_table_insert(mimetext->typeparameters, g_strdup("charset"),
g_strdup(out_codeset));
+ /* protect trailing spaces when signing message */
+ if (action == COMPOSE_WRITE_FOR_SEND && compose->use_signing &&
+ privacy_system_can_sign(compose->privacy_system))
+ encoding = ENC_QUOTED_PRINTABLE;
if (encoding != ENC_UNKNOWN)
procmime_encode_content(mimetext, encoding);
compose_entry_append(compose, tmpl->bcc, COMPOSE_BCC);
if (replace)
- gtk_text_buffer_set_text(buffer, "\0", 1);
+ gtk_text_buffer_set_text(buffer, "", -1);
mark = gtk_text_buffer_get_insert(buffer);
gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark);
GtkTextView *text = GTK_TEXT_VIEW(compose->text);
GtkTextBuffer *buffer = gtk_text_view_get_buffer(text);
- gtk_text_buffer_set_text(buffer, "\0", 1);
+ gtk_text_buffer_set_text(buffer, "", -1);
compose_insert_file(compose, compose->exteditor_file);
compose_changed_cb(NULL, compose);
gint val;
val = compose_queue_sub(compose, NULL, NULL, TRUE);
- if (!val) gtk_widget_destroy(compose->window);
+ if (!val)
+ compose_close(compose);
}
void compose_draft (gpointer data)
}
fprintf(fp, "X-Sylpheed-Sign:%d\n", compose->use_signing);
fprintf(fp, "X-Sylpheed-Encrypt:%d\n", compose->use_encryption);
- fprintf(fp, "X-Sylpheed-Gnupg-Mode:%s\n", compose->privacy_system);
+ fprintf(fp, "X-Sylpheed-Privacy-System:%s\n", compose->privacy_system);
fprintf(fp, "\n");
if (compose_write_to_file(compose, fp, COMPOSE_WRITE_FOR_STORE) < 0) {
lock = FALSE;
if (action == COMPOSE_QUIT_EDITING)
- gtk_widget_destroy(compose->window);
+ compose_close(compose);
else {
struct stat s;
gchar *path;
}
}
- gtk_widget_destroy(compose->window);
+ compose_close(compose);
}
static void compose_address_cb(gpointer data, guint action, GtkWidget *widget)
return account;
}
+static void compose_close(Compose *compose)
+{
+ gint x, y;
+
+ g_return_if_fail(compose);
+ gtkut_widget_get_uposition(compose->window, &x, &y);
+ prefs_common.compose_x = x;
+ prefs_common.compose_y = y;
+ gtk_widget_destroy(compose->window);
+}
+
/**
* Add entry field for each address in list.
* \param compose E-Mail composition object.