talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 8c10a3ae90fc1384ba7a6d74acba52867769ed2e
parent d898db5d4d6a6b247f651bc37dd591afff707871
Author: Tristan Chabredier <wwp@claws-mail.org>
Date:   Sat, 29 Mar 2008 16:17:20 +0000

2008-03-29 [wwp]	3.3.1cvs45

	* src/prefs_account.c
	* src/prefs_common.c
	* src/prefs_folder_item.c
	* src/prefs_quote.c
	* src/quote_fmt.c
	* src/quote_fmt.h
		Fix compose template formats (in global preferences)
		being translated under specific conditions.
		Add a button to restore factory defaults for current
		language.

Diffstat:
MChangeLog | 13+++++++++++++
MPATCHSETS | 1+
Mconfigure.ac | 2+-
Msrc/prefs_account.c | 6+++---
Msrc/prefs_common.c | 23++++-------------------
Msrc/prefs_folder_item.c | 6+++---
Msrc/prefs_quote.c | 66+++++++++++++++++++++++++++++++++++++++++++++++++++---------------
Msrc/quote_fmt.c | 37++++++++++++++++++++++++++++++++++---
Msrc/quote_fmt.h | 12+++++++++---
9 files changed, 119 insertions(+), 47 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,16 @@ +2008-03-29 [wwp] 3.3.1cvs45 + + * src/prefs_account.c + * src/prefs_common.c + * src/prefs_folder_item.c + * src/prefs_quote.c + * src/quote_fmt.c + * src/quote_fmt.h + Fix compose template formats (in global preferences) + being translated under specific conditions. + Add a button to restore factory defaults for current + language. + 2008-03-27 [colin] 3.3.1cvs44 * src/common/prefs.c diff --git a/PATCHSETS b/PATCHSETS @@ -3279,3 +3279,4 @@ ( cvs diff -u -r 1.60.2.112 -r 1.60.2.113 src/addressbook.c; ) > 3.3.1cvs42.patchset ( cvs diff -u -r 1.60.2.113 -r 1.60.2.114 src/addressbook.c; ) > 3.3.1cvs43.patchset ( cvs diff -u -r 1.5.2.10 -r 1.5.2.11 src/common/prefs.c; cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/common/xmlprops.c; ) > 3.3.1cvs44.patchset +( cvs diff -u -r 1.105.2.129 -r 1.105.2.130 src/prefs_account.c; cvs diff -u -r 1.204.2.162 -r 1.204.2.163 src/prefs_common.c; cvs diff -u -r 1.52.2.61 -r 1.52.2.62 src/prefs_folder_item.c; cvs diff -u -r 1.1.2.28 -r 1.1.2.29 src/prefs_quote.c; cvs diff -u -r 1.8.2.32 -r 1.8.2.33 src/quote_fmt.c; cvs diff -u -r 1.5.12.17 -r 1.5.12.18 src/quote_fmt.h; ) > 3.3.1cvs45.patchset diff --git a/configure.ac b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=3 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=44 +EXTRA_VERSION=45 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/prefs_account.c b/src/prefs_account.c @@ -2050,7 +2050,7 @@ static void templates_create_widget_func(PrefsPage * _page, NULL, &page->compose_subject_format, &page->compose_body_format, - FALSE); + FALSE, NULL); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox2, gtk_label_new(_("Compose"))); /* reply format */ @@ -2065,7 +2065,7 @@ static void templates_create_widget_func(PrefsPage * _page, NULL, &page->reply_quotemark, &page->reply_body_format, - FALSE); + FALSE, NULL); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox2, gtk_label_new(_("Reply"))); /* forward format */ @@ -2080,7 +2080,7 @@ static void templates_create_widget_func(PrefsPage * _page, NULL, &page->forward_quotemark, &page->forward_body_format, - FALSE); + FALSE, NULL); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox2, gtk_label_new(_("Forward"))); quotefmt_add_info_button(window, vbox); diff --git a/src/prefs_common.c b/src/prefs_common.c @@ -226,7 +226,7 @@ static PrefParam param[] = { NULL, NULL, NULL}, {"compose_subject_format", "", &prefs_common.compose_subject_format, P_STRING, NULL, NULL, NULL}, - {"compose_body_format", N_("Hello,\\n"), + {"compose_body_format", NULL, &prefs_common.compose_body_format, P_STRING, NULL, NULL, NULL}, {"linewrap_length", "72", &prefs_common.linewrap_len, P_INT, @@ -293,16 +293,13 @@ static PrefParam param[] = { /* Quote */ {"reply_quote_mark", "> ", &prefs_common.quotemark, P_STRING, NULL, NULL, NULL}, - {"reply_quote_format", N_("On %d\\n%f wrote:\\n\\n%q"), + {"reply_quote_format", NULL, &prefs_common.quotefmt, P_STRING, NULL, NULL, NULL}, {"forward_quote_mark", "> ", &prefs_common.fw_quotemark, P_STRING, NULL, NULL, NULL}, - {"forward_quote_format", - N_("\\n\\nBegin forwarded message:\\n\\n" - "?d{Date: %d\\n}?f{From: %f\\n}?t{To: %t\\n}?c{Cc: %c\\n}" - "?n{Newsgroups: %n\\n}?s{Subject: %s\\n}\\n\\n%M"), - &prefs_common.fw_quotefmt, P_STRING, NULL, NULL, NULL}, + {"forward_quote_format", NULL, &prefs_common.fw_quotefmt, P_STRING, + NULL, NULL, NULL}, {"quote_chars", ">", &prefs_common.quote_chars, P_STRING, NULL, NULL, NULL}, @@ -1172,22 +1169,10 @@ void prefs_common_read_config(void) g_free(rcpath); - tmp = g_strdup(gettext(prefs_common.quotefmt)); - g_free(prefs_common.quotefmt); - prefs_common.quotefmt = tmp; - - tmp = g_strdup(gettext(prefs_common.fw_quotefmt)); - g_free(prefs_common.fw_quotefmt); - prefs_common.fw_quotefmt = tmp; - tmp = g_strdup(gettext(prefs_common.date_format)); g_free(prefs_common.date_format); prefs_common.date_format = tmp; - tmp = g_strdup(gettext(prefs_common.compose_body_format)); - g_free(prefs_common.compose_body_format); - prefs_common.compose_body_format = tmp; - prefs_common.mime_open_cmd_history = prefs_common_read_history(COMMAND_HISTORY); prefs_common.summary_quicksearch_history = diff --git a/src/prefs_folder_item.c b/src/prefs_folder_item.c @@ -1180,7 +1180,7 @@ static void prefs_folder_item_templates_create_widget_func(PrefsPage * page_, &page->compose_override_from_format, &page->compose_subject_format, &page->compose_body_format, - FALSE); + FALSE, FALSE); address_completion_register_entry(GTK_ENTRY(page->compose_override_from_format), TRUE); @@ -1201,7 +1201,7 @@ static void prefs_folder_item_templates_create_widget_func(PrefsPage * page_, &page->reply_override_from_format, &page->reply_quotemark, &page->reply_body_format, - FALSE); + FALSE, FALSE); address_completion_register_entry(GTK_ENTRY(page->reply_override_from_format), TRUE); @@ -1222,7 +1222,7 @@ static void prefs_folder_item_templates_create_widget_func(PrefsPage * page_, &page->forward_override_from_format, &page->forward_quotemark, &page->forward_body_format, - FALSE); + FALSE, FALSE); address_completion_register_entry(GTK_ENTRY(page->forward_override_from_format), TRUE); diff --git a/src/prefs_quote.c b/src/prefs_quote.c @@ -58,6 +58,34 @@ typedef struct _QuotePage GtkWidget *btn_quotedesc; } QuotePage; +QuotePage *prefs_quote; + +static void prefs_quote_set_default_new_msg_fmt(void) +{ + g_return_if_fail(prefs_quote->text_format != NULL); + + pref_set_textview_from_pref(GTK_TEXT_VIEW(prefs_quote->text_format), + _("Hello,\\n")); +} + +static void prefs_quote_set_default_reply_fmt(void) +{ + g_return_if_fail(prefs_quote->text_quotefmt != NULL); + + pref_set_textview_from_pref(GTK_TEXT_VIEW(prefs_quote->text_quotefmt), + _("On %d\\n%f wrote:\\n\\n%q")); +} + +static void prefs_quote_set_default_forward_fmt(void) +{ + g_return_if_fail(prefs_quote->text_fw_quotefmt != NULL); + + pref_set_textview_from_pref(GTK_TEXT_VIEW(prefs_quote->text_fw_quotefmt), + _("\\n\\nBegin forwarded message:\\n\\n" + "?d{Date: %d\\n}?f{From: %f\\n}?t{To: %t\\n}?c{Cc: %c\\n}" + "?n{Newsgroups: %n\\n}?s{Subject: %s\\n}\\n\\n%M")); +} + static void prefs_quote_create_widget(PrefsPage *_page, GtkWindow *window, gpointer data) { @@ -87,7 +115,7 @@ static void prefs_quote_create_widget(PrefsPage *_page, GtkWindow *window, NULL, &prefs_quote->entry_subject, &prefs_quote->text_format, - FALSE); + FALSE, prefs_quote_set_default_new_msg_fmt); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox2, gtk_label_new(_("Compose"))); /* reply */ @@ -102,7 +130,7 @@ static void prefs_quote_create_widget(PrefsPage *_page, GtkWindow *window, NULL, &prefs_quote->entry_quotemark, &prefs_quote->text_quotefmt, - FALSE); + FALSE, prefs_quote_set_default_reply_fmt); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox2, gtk_label_new(_("Reply"))); /* forward */ @@ -117,27 +145,37 @@ static void prefs_quote_create_widget(PrefsPage *_page, GtkWindow *window, NULL, &prefs_quote->entry_fw_quotemark, &prefs_quote->text_fw_quotefmt, - FALSE); + FALSE, prefs_quote_set_default_forward_fmt); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox2, gtk_label_new(_("Forward"))); /* info button */ - quotefmt_add_info_button(window, vbox); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(prefs_quote->checkbtn_compose_with_format), + prefs_common.compose_with_format); + pref_set_entry_from_pref(GTK_ENTRY(prefs_quote->entry_subject), + prefs_common.compose_subject_format); + if (prefs_common.compose_body_format) + pref_set_textview_from_pref(GTK_TEXT_VIEW(prefs_quote->text_format), + prefs_common.compose_body_format); + else + prefs_quote_set_default_new_msg_fmt(); + gtk_entry_set_text(GTK_ENTRY(prefs_quote->entry_quotemark), prefs_common.quotemark?prefs_common.quotemark:""); - pref_set_textview_from_pref(GTK_TEXT_VIEW(prefs_quote->text_quotefmt), - prefs_common.quotefmt); + if (prefs_common.quotefmt) + pref_set_textview_from_pref(GTK_TEXT_VIEW(prefs_quote->text_quotefmt), + prefs_common.quotefmt); + else + prefs_quote_set_default_reply_fmt(); - pref_set_textview_from_pref(GTK_TEXT_VIEW(prefs_quote->text_fw_quotefmt), - prefs_common.fw_quotefmt); gtk_entry_set_text(GTK_ENTRY(prefs_quote->entry_fw_quotemark), prefs_common.fw_quotemark?prefs_common.fw_quotemark:""); - - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(prefs_quote->checkbtn_compose_with_format), - prefs_common.compose_with_format); - pref_set_entry_from_pref(GTK_ENTRY(prefs_quote->entry_subject), prefs_common.compose_subject_format); - pref_set_textview_from_pref(GTK_TEXT_VIEW(prefs_quote->text_format), prefs_common.compose_body_format); + if (prefs_common.fw_quotefmt) + pref_set_textview_from_pref(GTK_TEXT_VIEW(prefs_quote->text_fw_quotefmt), + prefs_common.fw_quotefmt); + else + prefs_quote_set_default_forward_fmt(); prefs_quote->window = GTK_WIDGET(window); prefs_quote->page.widget = vbox; @@ -194,8 +232,6 @@ static void prefs_quote_destroy_widget(PrefsPage *_page) { } -QuotePage *prefs_quote; - void prefs_quote_init(void) { QuotePage *page; diff --git a/src/quote_fmt.c b/src/quote_fmt.c @@ -120,7 +120,8 @@ void quotefmt_create_new_msg_fmt_widgets(GtkWindow *parent_window, GtkWidget **override_from_format, GtkWidget **edit_subject_format, GtkWidget **edit_body_format, - gboolean add_info_button) + gboolean add_info_button, + void(*set_defaults_func)(void)) { GtkWidget *checkbtn_use_format = NULL; GtkWidget *vbox_format; @@ -219,6 +220,8 @@ void quotefmt_create_new_msg_fmt_widgets(GtkWindow *parent_window, if (add_info_button) quotefmt_add_info_button(parent_window, vbox_format); + if (set_defaults_func) + quotefmt_add_defaults_button(parent_window, vbox_format, set_defaults_func); if (checkbtn_compose_with_format) *checkbtn_compose_with_format = checkbtn_use_format; @@ -234,7 +237,8 @@ void quotefmt_create_reply_fmt_widgets(GtkWindow *parent_window, GtkWidget **override_from_format, GtkWidget **edit_reply_quotemark, GtkWidget **edit_reply_format, - gboolean add_info_button) + gboolean add_info_button, + void(*set_defaults_func)(void)) { GtkWidget *checkbtn_use_format = NULL; GtkWidget *vbox_quote; @@ -338,6 +342,8 @@ void quotefmt_create_reply_fmt_widgets(GtkWindow *parent_window, if (add_info_button) quotefmt_add_info_button(parent_window, vbox_quote); + if (set_defaults_func) + quotefmt_add_defaults_button(parent_window, vbox_quote, set_defaults_func); if (checkbtn_reply_with_format) *checkbtn_reply_with_format = checkbtn_use_format; @@ -353,7 +359,8 @@ void quotefmt_create_forward_fmt_widgets(GtkWindow *parent_window, GtkWidget **override_from_format, GtkWidget **edit_fw_quotemark, GtkWidget **edit_fw_format, - gboolean add_info_button) + gboolean add_info_button, + void(*set_defaults_func)(void)) { GtkWidget *checkbtn_use_format = NULL; GtkWidget *vbox_quote; @@ -459,6 +466,8 @@ void quotefmt_create_forward_fmt_widgets(GtkWindow *parent_window, if (add_info_button) quotefmt_add_info_button(parent_window, vbox_quote); + if (set_defaults_func) + quotefmt_add_defaults_button(parent_window, vbox_quote, set_defaults_func); if (checkbtn_forward_with_format) *checkbtn_forward_with_format = checkbtn_use_format; @@ -490,6 +499,28 @@ void quotefmt_add_info_button(GtkWindow *parent_window, GtkWidget *parent_box) G_CALLBACK(quote_fmt_quote_description), GTK_WIDGET(parent_window)); } +void quotefmt_add_defaults_button(GtkWindow *parent_window, + GtkWidget *parent_box, + void(*set_defaults_func)(void)) +{ + GtkWidget *hbox_formatdesc; + GtkWidget *btn_formatdesc; + + g_return_if_fail(set_defaults_func != NULL); + + hbox_formatdesc = gtk_hbox_new (FALSE, 32); + gtk_widget_show (hbox_formatdesc); + gtk_box_pack_start (GTK_BOX (parent_box), hbox_formatdesc, FALSE, FALSE, + VBOX_BORDER); + + btn_formatdesc = gtk_button_new_with_mnemonic (_("Defaults")); + gtk_button_set_image (GTK_BUTTON(btn_formatdesc), + gtk_image_new_from_stock(GTK_STOCK_UNDO, GTK_ICON_SIZE_BUTTON)); + gtk_widget_show (btn_formatdesc); + gtk_box_pack_start (GTK_BOX (hbox_formatdesc), btn_formatdesc, FALSE, FALSE, 0); + g_signal_connect(G_OBJECT(btn_formatdesc), "clicked", + G_CALLBACK(set_defaults_func), GTK_WIDGET(parent_window)); +} void quotefmt_check_new_msg_formats(gboolean use_format, gchar *override_from_fmt, diff --git a/src/quote_fmt.h b/src/quote_fmt.h @@ -36,22 +36,28 @@ void quotefmt_create_new_msg_fmt_widgets(GtkWindow *parent_window, GtkWidget **override_from_format, GtkWidget **edit_subject_format, GtkWidget **edit_body_format, - gboolean add_info_button); + gboolean add_info_button, + void(*set_defaults_func)(void)); void quotefmt_create_reply_fmt_widgets(GtkWindow *parent_window, GtkWidget *parent_box, GtkWidget **checkbtn_reply_with_format, GtkWidget **override_from_format, GtkWidget **edit_reply_quotemark, GtkWidget **edit_reply_format, - gboolean add_info_button); + gboolean add_info_button, + void(*set_defaults_func)(void)); void quotefmt_create_forward_fmt_widgets(GtkWindow *parent_window, GtkWidget *parent_box, GtkWidget **checkbtn_forward_with_format, GtkWidget **override_from_format, GtkWidget **edit_fw_quotemark, GtkWidget **edit_fw_format, - gboolean add_info_button); + gboolean add_info_button, + void(*set_defaults_func)(void)); void quotefmt_add_info_button(GtkWindow *parent_window, GtkWidget *parent_box); +void quotefmt_add_defaults_button(GtkWindow *parent_window, + GtkWidget *parent_box, + void(*set_defaults_func)(void)); void quotefmt_check_new_msg_formats(gboolean use_format, gchar *override_from_fmt,