commit 0ee16468e9bfc1accabe0034251a9a5d7a53d481
parent 11cdedccf39449396462b62ad48b55be01bd055d
Author: Oliver Lowe <o@olowe.co>
Date: Sun, 31 Aug 2025 11:42:00 +1000
Delete compose, reply etc. templates per folder item
Write mail like a human
Diffstat:
6 files changed, 13 insertions(+), 563 deletions(-)
diff --git a/src/compose.c b/src/compose.c
@@ -864,36 +864,7 @@ Compose *compose_generic_new(PrefsAccount *account, const gchar *mailto, FolderI
if (mailto_from) {
gtk_entry_set_text(GTK_ENTRY(compose->from_name), mailto_from);
g_free(mailto_from);
- } else
- /* override from name according to folder properties */
- if (item && item->prefs &&
- item->prefs->compose_with_format &&
- item->prefs->compose_override_from_format &&
- *item->prefs->compose_override_from_format != '\0') {
-
- gchar *tmp = NULL;
- gchar *buf = NULL;
-
- dummyinfo = compose_msginfo_new_from_compose(compose);
-
- /* decode \-escape sequences in the internal representation of the quote format */
- tmp = g_malloc(strlen(item->prefs->compose_override_from_format)+1);
- pref_get_unescaped_pref(tmp, item->prefs->compose_override_from_format);
- quote_fmt_init(dummyinfo, NULL, NULL, FALSE, compose->account, FALSE);
- quote_fmt_scan_string(tmp);
- quote_fmt_parse();
-
- buf = quote_fmt_get_buffer();
- if (buf == NULL)
- alertpanel_error(_("New message From format error."));
- else
- gtk_entry_set_text(GTK_ENTRY(compose->from_name), buf);
- quote_fmt_reset_vartable();
- quote_fmtlex_destroy();
-
- g_free(tmp);
- }
-
+ }
compose->replyinfo = NULL;
compose->fwdinfo = NULL;
@@ -915,10 +886,7 @@ Compose *compose_generic_new(PrefsAccount *account, const gchar *mailto, FolderI
compose_add_field_list( compose, listAddress );
- if (item && item->prefs && item->prefs->compose_with_format) {
- subject_format = item->prefs->compose_subject_format;
- body_format = item->prefs->compose_body_format;
- } else if (account->compose_with_format) {
+ if (account->compose_with_format) {
subject_format = account->compose_subject_format;
body_format = account->compose_body_format;
} else if (prefs_common.compose_with_format) {
@@ -1401,35 +1369,6 @@ static Compose *compose_generic_reply(MsgInfo *msginfo,
return NULL;
}
- /* override from name according to folder properties */
- if (msginfo->folder && msginfo->folder->prefs &&
- msginfo->folder->prefs->reply_with_format &&
- msginfo->folder->prefs->reply_override_from_format &&
- *msginfo->folder->prefs->reply_override_from_format != '\0') {
-
- gchar *tmp = NULL;
- gchar *buf = NULL;
-
- /* decode \-escape sequences in the internal representation of the quote format */
- tmp = g_malloc(strlen(msginfo->folder->prefs->reply_override_from_format)+1);
- pref_get_unescaped_pref(tmp, msginfo->folder->prefs->reply_override_from_format);
-
-
- quote_fmt_init(compose->replyinfo, NULL, NULL, FALSE, compose->account, FALSE);
- quote_fmt_scan_string(tmp);
- quote_fmt_parse();
-
- buf = quote_fmt_get_buffer();
- if (buf == NULL)
- alertpanel_error(_("The \"From\" field of the \"Reply\" template contains an invalid email address."));
- else
- gtk_entry_set_text(GTK_ENTRY(compose->from_name), buf);
- quote_fmt_reset_vartable();
- quote_fmtlex_destroy();
-
- g_free(tmp);
- }
-
textview = (GTK_TEXT_VIEW(compose->text));
textbuf = gtk_text_view_get_buffer(textview);
compose_create_tags(textview, compose);
@@ -1442,18 +1381,11 @@ static Compose *compose_generic_reply(MsgInfo *msginfo,
(if enabled) or fallback to the global reply format, which is always
enabled (even if empty). */
quote = TRUE;
- if (msginfo->folder && msginfo->folder->prefs &&
- msginfo->folder->prefs->reply_with_format) {
- body_fmt = msginfo->folder->prefs->reply_body_format;
-
- } else if (account->reply_with_format) {
+ body_fmt = "";
+ if (account->reply_with_format) {
body_fmt = account->reply_body_format;
-
- } else {
- if (prefs_common.quotefmt && *prefs_common.quotefmt)
- body_fmt = gettext(prefs_common.quotefmt);
- else
- body_fmt = "";
+ } else if (prefs_common.quotefmt && *prefs_common.quotefmt) {
+ body_fmt = gettext(prefs_common.quotefmt);
}
}
@@ -1574,41 +1506,6 @@ Compose *compose_forward(PrefsAccount *account, MsgInfo *msginfo,
g_free(buf2);
}
- /* override from name according to folder properties */
- if (msginfo->folder && msginfo->folder->prefs &&
- msginfo->folder->prefs->forward_with_format &&
- msginfo->folder->prefs->forward_override_from_format &&
- *msginfo->folder->prefs->forward_override_from_format != '\0') {
-
- gchar *tmp = NULL;
- gchar *buf = NULL;
- MsgInfo *full_msginfo = NULL;
-
- if (!as_attach)
- full_msginfo = procmsg_msginfo_get_full_info(msginfo);
- if (!full_msginfo)
- full_msginfo = procmsg_msginfo_copy(msginfo);
-
- /* decode \-escape sequences in the internal representation of the quote format */
- tmp = g_malloc(strlen(msginfo->folder->prefs->forward_override_from_format)+1);
- pref_get_unescaped_pref(tmp, msginfo->folder->prefs->forward_override_from_format);
-
- quote_fmt_init(full_msginfo, NULL, NULL, FALSE, compose->account, FALSE);
- quote_fmt_scan_string(tmp);
- quote_fmt_parse();
-
- buf = quote_fmt_get_buffer();
- if (buf == NULL)
- alertpanel_error(_("The \"From\" field of the \"Forward\" template contains an invalid email address."));
- else
- gtk_entry_set_text(GTK_ENTRY(compose->from_name), buf);
- quote_fmt_reset_vartable();
- quote_fmtlex_destroy();
-
- g_free(tmp);
- procmsg_msginfo_free(&full_msginfo);
- }
-
textview = GTK_TEXT_VIEW(compose->text);
textbuf = gtk_text_view_get_buffer(textview);
compose_create_tags(textview, compose);
@@ -1626,29 +1523,17 @@ Compose *compose_forward(PrefsAccount *account, MsgInfo *msginfo,
g_free(msgfile);
} else {
- const gchar *body_fmt = NULL;
MsgInfo *full_msginfo;
full_msginfo = procmsg_msginfo_get_full_info(msginfo);
if (!full_msginfo)
full_msginfo = procmsg_msginfo_copy(msginfo);
- /*
- * use the forward format of folder (if enabled), or the account's one
- * (if enabled) or fallback to the global forward format, which is always
- * enabled (even if empty).
- */
- if (msginfo->folder && msginfo->folder->prefs &&
- msginfo->folder->prefs->forward_with_format) {
- body_fmt = msginfo->folder->prefs->forward_body_format;
-
- } else if (account->forward_with_format) {
+ gchar *body_fmt = "";
+ if (account->forward_with_format) {
body_fmt = account->forward_body_format;
- } else {
- if (prefs_common.fw_quotefmt && *prefs_common.fw_quotefmt)
- body_fmt = gettext(prefs_common.fw_quotefmt);
- else
- body_fmt = "";
+ } else if (prefs_common.fw_quotefmt && *prefs_common.fw_quotefmt) {
+ body_fmt = gettext(prefs_common.fw_quotefmt);
}
compose_quote_fmt(compose, full_msginfo,
@@ -1761,37 +1646,6 @@ static Compose *compose_forward_multiple(PrefsAccount *account, GSList *msginfo_
compose->updating = TRUE;
- /* override from name according to folder properties */
- if (msginfo_list->data) {
- MsgInfo *msginfo = msginfo_list->data;
-
- if (msginfo->folder && msginfo->folder->prefs &&
- msginfo->folder->prefs->forward_with_format &&
- msginfo->folder->prefs->forward_override_from_format &&
- *msginfo->folder->prefs->forward_override_from_format != '\0') {
-
- gchar *tmp = NULL;
- gchar *buf = NULL;
-
- /* decode \-escape sequences in the internal representation of the quote format */
- tmp = g_malloc(strlen(msginfo->folder->prefs->forward_override_from_format)+1);
- pref_get_unescaped_pref(tmp, msginfo->folder->prefs->forward_override_from_format);
- quote_fmt_init(msginfo, NULL, NULL, FALSE, compose->account, FALSE);
- quote_fmt_scan_string(tmp);
- quote_fmt_parse();
-
- buf = quote_fmt_get_buffer();
- if (buf == NULL)
- alertpanel_error(_("The \"From\" field of the \"Forward\" template contains an invalid email address."));
- else
- gtk_entry_set_text(GTK_ENTRY(compose->from_name), buf);
- quote_fmt_reset_vartable();
- quote_fmtlex_destroy();
-
- g_free(tmp);
- }
- }
-
textview = GTK_TEXT_VIEW(compose->text);
textbuf = gtk_text_view_get_buffer(textview);
compose_create_tags(textview, compose);
@@ -3844,7 +3698,6 @@ static gchar * compose_get_itemized_chars(GtkTextBuffer *buffer,
{
GtkTextIter iter = *start;
gunichar wc;
- gint len = 0;
GString *item_chars = g_string_new("");
if (gtk_text_iter_ends_line(&iter)) {
@@ -3853,7 +3706,6 @@ static gchar * compose_get_itemized_chars(GtkTextBuffer *buffer,
}
while (1) {
- len++;
wc = gtk_text_iter_get_char(&iter);
if (!g_unichar_isspace(wc))
break;
@@ -4137,7 +3989,6 @@ static gboolean compose_beautify_paragraph(Compose *compose, GtkTextIter *par_it
gboolean modified = force;
gboolean removed = FALSE;
gboolean modified_before_remove = FALSE;
- gint lines = 0;
gboolean start = TRUE;
gint itemized_len = 0, rem_item_len = 0;
gchar *itemized_chars = NULL;
@@ -4336,7 +4187,6 @@ static gboolean compose_beautify_paragraph(Compose *compose, GtkTextIter *par_it
} else {
/* move iter to next line start */
iter = break_pos;
- lines++;
}
colorize:
@@ -4701,7 +4551,6 @@ static void compose_select_account(Compose *compose, PrefsAccount *account,
gboolean compose_check_for_valid_recipient(Compose *compose) {
gchar *recipient_headers_mail[] = {"To:", "Cc:", "Bcc:", NULL};
- gchar *recipient_headers_news[] = {"Newsgroups:", NULL};
gboolean recipient_found = FALSE;
GSList *list;
gchar **strptr;
@@ -10855,15 +10704,6 @@ void compose_reply_from_messageview(MessageView *msgview, GSList *msginfo_list,
}
}
-void compose_check_for_email_account(Compose *compose)
-{
- PrefsAccount *ac = NULL, *curr = NULL;
- GList *list;
-
- if (!compose)
- return;
-}
-
void compose_reply_to_address(MessageView *msgview, MsgInfo *msginfo,
const gchar *address)
{
@@ -10874,7 +10714,6 @@ void compose_reply_to_address(MessageView *msgview, MsgInfo *msginfo,
msginfo_list = g_slist_prepend(msginfo_list, msginfo);
compose = compose_reply_mode(COMPOSE_REPLY_TO_ADDRESS, msginfo_list, body);
- compose_check_for_email_account(compose);
compose_set_folder_prefs(compose, msginfo->folder, FALSE);
compose_entry_append(compose, address, COMPOSE_TO, PREF_NONE);
compose_reply_set_subject(compose, msginfo);
diff --git a/src/compose.h b/src/compose.h
@@ -339,7 +339,6 @@ void compose_close_toolbar (Compose *compose);
void compose_clear_exit_drafts (void);
void compose_reopen_exit_drafts (void);
void compose_attach_from_list (Compose *compose, GList *file_list, gboolean free_data);
-void compose_check_for_email_account(Compose *compose);
void compose_use_signing(Compose *compose, gboolean use_signing);
void compose_use_encryption(Compose *compose, gboolean use_encryption);
diff --git a/src/folder_item_prefs.c b/src/folder_item_prefs.c
@@ -98,26 +98,6 @@ static PrefParam param[] = {
{"skip_on_goto_unread_or_new", "FALSE", &tmp_prefs.skip_on_goto_unread_or_new, P_BOOL,
NULL, NULL, NULL},
- {"compose_with_format", "FALSE", &tmp_prefs.compose_with_format, P_BOOL,
- NULL, NULL, NULL},
- {"compose_override_from_format", NULL, &tmp_prefs.compose_override_from_format, P_STRING,
- NULL, NULL, NULL},
- {"compose_subject_format", NULL, &tmp_prefs.compose_subject_format, P_STRING,
- NULL, NULL, NULL},
- {"compose_body_format", NULL, &tmp_prefs.compose_body_format, P_STRING,
- NULL, NULL, NULL},
- {"reply_with_format", "FALSE", &tmp_prefs.reply_with_format, P_BOOL,
- NULL, NULL, NULL},
- {"reply_override_from_format", NULL, &tmp_prefs.reply_override_from_format, P_STRING,
- NULL, NULL, NULL},
- {"reply_body_format", NULL, &tmp_prefs.reply_body_format, P_STRING,
- NULL, NULL, NULL},
- {"forward_with_format", "FALSE", &tmp_prefs.forward_with_format, P_BOOL,
- NULL, NULL, NULL},
- {"forward_override_from_format", NULL, &tmp_prefs.forward_override_from_format, P_STRING,
- NULL, NULL, NULL},
- {"forward_body_format", NULL, &tmp_prefs.forward_body_format, P_STRING,
- NULL, NULL, NULL},
{"config_version", "-1", &tmp_prefs.config_version, P_INT,
NULL, NULL, NULL},
{NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
@@ -213,17 +193,6 @@ static FolderItemPrefs *folder_item_prefs_clear(FolderItemPrefs *prefs)
prefs->render_html = HTML_RENDER_DEFAULT;
prefs->promote_html_part = HTML_PROMOTE_DEFAULT;
prefs->skip_on_goto_unread_or_new = FALSE;
-
- prefs->compose_with_format = FALSE;
- prefs->compose_subject_format = NULL;
- prefs->compose_body_format = NULL;
- prefs->compose_override_from_format = NULL;
- prefs->reply_with_format = FALSE;
- prefs->reply_body_format = NULL;
- prefs->reply_override_from_format = NULL;
- prefs->forward_with_format = FALSE;
- prefs->forward_body_format = NULL;
- prefs->forward_override_from_format = NULL;
return prefs;
}
@@ -244,13 +213,6 @@ void folder_item_prefs_free(FolderItemPrefs * prefs)
g_free(prefs->default_cc);
g_free(prefs->default_bcc);
g_free(prefs->default_replyto);
- g_free(prefs->compose_subject_format);
- g_free(prefs->compose_body_format);
- g_free(prefs->compose_override_from_format);
- g_free(prefs->reply_body_format);
- g_free(prefs->reply_override_from_format);
- g_free(prefs->forward_body_format);
- g_free(prefs->forward_override_from_format);
g_free(prefs);
}
@@ -301,17 +263,6 @@ void folder_item_prefs_copy_prefs(FolderItem * src, FolderItem * dest)
tmp_prefs.save_copy_to_folder = src->prefs->save_copy_to_folder;
tmp_prefs.color = src->prefs->color;
- tmp_prefs.compose_with_format = src->prefs->compose_with_format;
- tmp_prefs.compose_subject_format = g_strdup(src->prefs->compose_subject_format);
- tmp_prefs.compose_body_format = g_strdup(src->prefs->compose_body_format);
- tmp_prefs.compose_override_from_format = g_strdup(src->prefs->compose_override_from_format);
- tmp_prefs.reply_with_format = src->prefs->reply_with_format;
- tmp_prefs.reply_body_format = g_strdup(src->prefs->reply_body_format);
- tmp_prefs.reply_override_from_format = g_strdup(src->prefs->reply_override_from_format);
- tmp_prefs.forward_with_format = src->prefs->forward_with_format;
- tmp_prefs.forward_body_format = g_strdup(src->prefs->forward_body_format);
- tmp_prefs.forward_override_from_format = g_strdup(src->prefs->forward_override_from_format);
-
*dest->prefs = tmp_prefs;
folder_item_prefs_save_config(dest);
prefs_matcher_write_config();
diff --git a/src/folder_item_prefs.h b/src/folder_item_prefs.h
@@ -84,17 +84,6 @@ struct _FolderItemPrefs {
SignOrEncryptType always_encrypt;
gboolean save_copy_to_folder;
GdkRGBA color;
-
- gboolean compose_with_format;
- gchar *compose_override_from_format;
- gchar *compose_subject_format;
- gchar *compose_body_format;
- gboolean reply_with_format;
- gchar *reply_override_from_format;
- gchar *reply_body_format;
- gboolean forward_with_format;
- gchar *forward_override_from_format;
- gchar *forward_body_format;
};
void folder_item_prefs_read_config(FolderItem * item);
diff --git a/src/prefs_folder_item.c b/src/prefs_folder_item.c
@@ -57,7 +57,6 @@
typedef struct _FolderItemGeneralPage FolderItemGeneralPage;
typedef struct _FolderItemComposePage FolderItemComposePage;
-typedef struct _FolderItemTemplatesPage FolderItemTemplatesPage;
static gboolean can_save = TRUE;
struct _FolderItemGeneralPage
@@ -145,39 +144,11 @@ struct _FolderItemComposePage
GtkWidget *always_encrypt_rec_checkbtn;
};
-struct _FolderItemTemplatesPage
-{
- PrefsPage page;
-
- FolderItem *item;
-
- GtkWidget *window;
- GtkWidget *table;
- GtkWidget *checkbtn_compose_with_format;
- GtkWidget *compose_override_from_format;
- GtkWidget *compose_subject_format;
- GtkWidget *compose_body_format;
- GtkWidget *checkbtn_reply_with_format;
- GtkWidget *reply_override_from_format;
- GtkWidget *reply_body_format;
- GtkWidget *checkbtn_forward_with_format;
- GtkWidget *forward_override_from_format;
- GtkWidget *forward_body_format;
-
- /* apply to sub folders */
- GtkWidget *new_msg_format_rec_checkbtn;
- GtkWidget *reply_format_rec_checkbtn;
- GtkWidget *forward_format_rec_checkbtn;
-};
-
-
static void general_save_folder_prefs(FolderItem *folder, FolderItemGeneralPage *page);
static void compose_save_folder_prefs(FolderItem *folder, FolderItemComposePage *page);
-static void templates_save_folder_prefs(FolderItem *folder, FolderItemTemplatesPage *page);
static gboolean general_save_recurse_func(GNode *node, gpointer data);
static gboolean compose_save_recurse_func(GNode *node, gpointer data);
-static gboolean templates_save_recurse_func(GNode *node, gpointer data);
static void clean_cache_cb(GtkWidget *widget, gpointer data);
static void folder_regexp_test_cb(GtkWidget *widget, gpointer data);
@@ -1423,264 +1394,6 @@ static void prefs_folder_item_compose_save_func(PrefsPage *page_)
}
-static void prefs_folder_item_templates_create_widget_func(PrefsPage * page_,
- GtkWindow * window,
- gpointer data)
-{
- FolderItemTemplatesPage *page = (FolderItemTemplatesPage *) page_;
- FolderItem *item = (FolderItem *) data;
-
- GtkWidget *notebook;
- GtkWidget *vbox;
- GtkWidget *page_vbox;
- GtkWidget *no_save_warning;
- GtkWidget *new_msg_format_rec_checkbtn;
- GtkWidget *reply_format_rec_checkbtn;
- GtkWidget *forward_format_rec_checkbtn;
- GtkWidget *hbox;
- GtkWidget *vbox_format;
-
- page->item = item;
-
- page_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
- gtk_container_set_border_width (GTK_CONTAINER (page_vbox), VBOX_BORDER);
- gtk_widget_show (page_vbox);
-
- if (!can_save) {
- no_save_warning = prefs_folder_no_save_warning_create_widget();
- gtk_box_pack_start(GTK_BOX(page_vbox),
- no_save_warning, FALSE, FALSE, 0);
- }
-
- /* Notebook */
- notebook = gtk_notebook_new();
- gtk_widget_show(notebook);
- gtk_box_pack_start(GTK_BOX(page_vbox), notebook, TRUE, TRUE, 4);
-
- /* compose format */
- vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, VSPACING);
- gtk_widget_show (vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), VBOX_BORDER);
-
- quotefmt_create_new_msg_fmt_widgets(
- window,
- vbox,
- &page->checkbtn_compose_with_format,
- &page->compose_override_from_format,
- &page->compose_subject_format,
- &page->compose_body_format,
- FALSE, FALSE);
- address_completion_register_entry(GTK_ENTRY(page->compose_override_from_format),
- TRUE);
-
- vbox_format = gtk_widget_get_parent(
- gtk_widget_get_parent(page->compose_body_format));
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_end (GTK_BOX(vbox_format), hbox, FALSE, FALSE, 0);
- quotefmt_add_info_button(window, hbox);
-
- new_msg_format_rec_checkbtn = gtk_check_button_new_with_label(
- _("Apply to subfolders"));
- gtk_box_pack_end (GTK_BOX(hbox), new_msg_format_rec_checkbtn, FALSE, FALSE, 0);
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, gtk_label_new(C_("Templates", "New")));
-
- /* reply format */
- vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, VSPACING);
- gtk_widget_show (vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), VBOX_BORDER);
-
- quotefmt_create_reply_fmt_widgets(
- window,
- vbox,
- &page->checkbtn_reply_with_format,
- &page->reply_override_from_format,
- &page->reply_body_format,
- FALSE, FALSE);
- address_completion_register_entry(GTK_ENTRY(page->reply_override_from_format),
- TRUE);
-
- vbox_format = gtk_widget_get_parent(
- gtk_widget_get_parent(page->reply_body_format));
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_end (GTK_BOX(vbox_format), hbox, FALSE, FALSE, 0);
- quotefmt_add_info_button(window, hbox);
-
- reply_format_rec_checkbtn = gtk_check_button_new_with_label(
- _("Apply to subfolders"));
- gtk_box_pack_end (GTK_BOX(hbox), reply_format_rec_checkbtn, FALSE, FALSE, 0);
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, gtk_label_new(C_("Templates", "Reply")));
-
- /* forward format */
- vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, VSPACING);
- gtk_widget_show (vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), VBOX_BORDER);
-
- quotefmt_create_forward_fmt_widgets(
- window,
- vbox,
- &page->checkbtn_forward_with_format,
- &page->forward_override_from_format,
- &page->forward_body_format,
- FALSE, FALSE);
- address_completion_register_entry(GTK_ENTRY(page->forward_override_from_format),
- TRUE);
-
- vbox_format = gtk_widget_get_parent(
- gtk_widget_get_parent(page->forward_body_format));
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_end (GTK_BOX(vbox_format), hbox, FALSE, FALSE, 0);
- quotefmt_add_info_button(window, hbox);
-
- forward_format_rec_checkbtn = gtk_check_button_new_with_label(
- _("Apply to subfolders"));
- gtk_box_pack_end (GTK_BOX(hbox), forward_format_rec_checkbtn, FALSE, FALSE, 0);
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, gtk_label_new(C_("Templates", "Forward")));
-
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(page->checkbtn_compose_with_format),
- item->prefs->compose_with_format);
- pref_set_entry_from_pref(GTK_ENTRY(page->compose_override_from_format),
- item->prefs->compose_override_from_format);
- pref_set_entry_from_pref(GTK_ENTRY(page->compose_subject_format),
- item->prefs->compose_subject_format);
- pref_set_textview_from_pref(GTK_TEXT_VIEW(page->compose_body_format),
- item->prefs->compose_body_format);
-
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(page->checkbtn_reply_with_format),
- item->prefs->reply_with_format);
- pref_set_entry_from_pref(GTK_ENTRY(page->reply_override_from_format),
- item->prefs->reply_override_from_format);
- pref_set_textview_from_pref(GTK_TEXT_VIEW(page->reply_body_format),
- item->prefs->reply_body_format);
-
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(page->checkbtn_forward_with_format),
- item->prefs->forward_with_format);
- pref_set_entry_from_pref(GTK_ENTRY(page->forward_override_from_format),
- item->prefs->forward_override_from_format);
- pref_set_textview_from_pref(GTK_TEXT_VIEW(page->forward_body_format),
- item->prefs->forward_body_format);
-
- gtk_widget_show_all(page_vbox);
-
- page->window = GTK_WIDGET(window);
-
- page->new_msg_format_rec_checkbtn = new_msg_format_rec_checkbtn;
- page->reply_format_rec_checkbtn = reply_format_rec_checkbtn;
- page->forward_format_rec_checkbtn = forward_format_rec_checkbtn;
-
- page->page.widget = page_vbox;
-}
-
-static void prefs_folder_item_templates_destroy_widget_func(PrefsPage *page_)
-{
- FolderItemTemplatesPage *page = (FolderItemTemplatesPage *) page_;
-
- if (page->compose_override_from_format)
- address_completion_unregister_entry(GTK_ENTRY(page->compose_override_from_format));
- if (page->reply_override_from_format)
- address_completion_unregister_entry(GTK_ENTRY(page->reply_override_from_format));
- if (page->forward_override_from_format)
- address_completion_unregister_entry(GTK_ENTRY(page->forward_override_from_format));
-}
-
-/** \brief Save the prefs in page to folder.
- *
- * If the folder is not the one specified in page->item, then only those properties
- * that have the relevant 'apply to sub folders' button checked are saved
- */
-static void templates_save_folder_prefs(FolderItem *folder, FolderItemTemplatesPage *page)
-{
- FolderItemPrefs *prefs = folder->prefs;
- gboolean all = FALSE;
-
- if (folder->path == NULL)
- return;
-
- if (page->item == folder)
- all = TRUE;
-
- cm_return_if_fail(prefs != NULL);
-
- /* save and check formats */
-
- if (all || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->new_msg_format_rec_checkbtn))) {
-
- prefs->compose_with_format =
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->checkbtn_compose_with_format));
- prefs->compose_override_from_format = pref_get_pref_from_entry(
- GTK_ENTRY(page->compose_override_from_format));
- prefs->compose_subject_format = pref_get_pref_from_entry(
- GTK_ENTRY(page->compose_subject_format));
- prefs->compose_body_format = pref_get_pref_from_textview(
- GTK_TEXT_VIEW(page->compose_body_format));
- quotefmt_check_new_msg_formats(prefs->compose_with_format,
- prefs->compose_override_from_format,
- prefs->compose_subject_format,
- prefs->compose_body_format);
- }
-
- if (all || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->reply_format_rec_checkbtn))) {
- prefs->reply_with_format =
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->checkbtn_reply_with_format));
- prefs->reply_override_from_format = pref_get_pref_from_entry(
- GTK_ENTRY(page->reply_override_from_format));
- prefs->reply_body_format = pref_get_pref_from_textview(
- GTK_TEXT_VIEW(page->reply_body_format));
- quotefmt_check_reply_formats(prefs->reply_with_format,
- prefs->reply_override_from_format,
- prefs->reply_body_format);
- }
-
- if (all || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->forward_format_rec_checkbtn))) {
- prefs->forward_with_format =
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->checkbtn_forward_with_format));
- prefs->forward_override_from_format = pref_get_pref_from_entry(
- GTK_ENTRY(page->forward_override_from_format));
- prefs->forward_body_format = pref_get_pref_from_textview(
- GTK_TEXT_VIEW(page->forward_body_format));
- quotefmt_check_forward_formats(prefs->forward_with_format,
- prefs->forward_override_from_format,
- prefs->forward_body_format);
- }
-
- folder_item_prefs_save_config(folder);
-}
-
-static gboolean templates_save_recurse_func(GNode *node, gpointer data)
-{
- FolderItem *item = (FolderItem *) node->data;
- FolderItemTemplatesPage *page = (FolderItemTemplatesPage *) data;
-
- cm_return_val_if_fail(item != NULL, TRUE);
- cm_return_val_if_fail(page != NULL, TRUE);
-
- templates_save_folder_prefs(item, page);
-
- /* optimise by not continuing if none of the 'apply to sub folders'
- check boxes are selected - and optimise the checking by only doing
- it once */
- if ((node == page->item->node) &&
- !(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->new_msg_format_rec_checkbtn)) ||
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->reply_format_rec_checkbtn)) ||
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->forward_format_rec_checkbtn))))
- return TRUE;
- else
- return FALSE;
-
- return FALSE;
-}
-
-static void prefs_folder_item_templates_save_func(PrefsPage *page_)
-{
- FolderItemTemplatesPage *page = (FolderItemTemplatesPage *) page_;
-
- g_node_traverse(page->item->node, G_PRE_ORDER, G_TRAVERSE_ALL,
- -1, templates_save_recurse_func, page);
-
-}
-
static void clean_cache_cb(GtkWidget *widget, gpointer data)
{
FolderItemGeneralPage *page = (FolderItemGeneralPage *) data;
@@ -1832,22 +1545,6 @@ static void register_compose_page(void)
prefs_folder_item_register_page((PrefsPage *) &folder_item_compose_page, NULL);
}
-static void register_templates_page(void)
-{
- static gchar *pfi_templates_path[2];
- static FolderItemTemplatesPage folder_item_templates_page;
-
- pfi_templates_path[0] = _("Templates");
- pfi_templates_path[1] = NULL;
-
- folder_item_templates_page.page.path = pfi_templates_path;
- folder_item_templates_page.page.create_widget = prefs_folder_item_templates_create_widget_func;
- folder_item_templates_page.page.destroy_widget = prefs_folder_item_templates_destroy_widget_func;
- folder_item_templates_page.page.save_page = prefs_folder_item_templates_save_func;
-
- prefs_folder_item_register_page((PrefsPage *) &folder_item_templates_page, NULL);
-}
-
static GSList *prefs_pages = NULL;
static void prefs_folder_item_address_completion_start(PrefsWindow *window)
@@ -1868,7 +1565,6 @@ void prefs_folder_item_open(FolderItem *item)
if (prefs_pages == NULL) {
register_general_page();
register_compose_page();
- register_templates_page();
}
if (item->path) {
diff --git a/src/textview.c b/src/textview.c
@@ -2196,21 +2196,16 @@ static gboolean textview_uri_button_pressed(GtkTextTag *tag, GObject *obj,
} else {
PrefsAccount *account = NULL;
FolderItem *folder_item = NULL;
- Compose *compose;
if (textview->messageview && textview->messageview->msginfo &&
textview->messageview->msginfo->folder) {
-
-
folder_item = textview->messageview->msginfo->folder;
if (folder_item->prefs && folder_item->prefs->enable_default_account)
account = account_find_from_id(folder_item->prefs->default_account);
if (!account)
account = account_find_from_item(folder_item);
}
- compose = compose_new_with_folderitem(account,
- folder_item, uri->uri + 7);
- compose_check_for_email_account(compose);
+ compose_new_with_folderitem(account, folder_item, uri->uri + 7);
}
return TRUE;
} else if (g_ascii_strncasecmp(uri->uri, "file:", 5)) {
@@ -2432,28 +2427,9 @@ static void reply_to_uri_cb (GtkAction *action, TextView *textview)
textview->messageview->msginfo, uri->uri+7);
}
-static void mail_to_uri_cb (GtkAction *action, TextView *textview)
+static void mail_to_uri_cb(GtkAction *action, TextView *textview)
{
- PrefsAccount *account = NULL;
- Compose *compose;
- ClickableText *uri = g_object_get_data(G_OBJECT(textview->mail_popup_menu),
- "menu_button");
- if (uri == NULL)
- return;
-
- if (textview->messageview && textview->messageview->msginfo &&
- textview->messageview->msginfo->folder) {
- FolderItem *folder_item;
-
- folder_item = textview->messageview->msginfo->folder;
- if (folder_item->prefs && folder_item->prefs->enable_default_account)
- account = account_find_from_id(folder_item->prefs->default_account);
-
- compose = compose_new_with_folderitem(account, folder_item, uri->uri+7);
- } else {
- compose = compose_new(account, uri->uri + 7, NULL);
- }
- compose_check_for_email_account(compose);
+ fprintf(stderr, "TODO(otl): no-op mail_to_uri_cb called, delete me\n");
}
static void copy_mail_to_uri_cb (GtkAction *action, TextView *textview)