diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2010-07-30 04:14:01 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2010-07-30 04:14:01 +0000 |
commit | abe2df52d008cd7a7ba90020320f5387b2e2d3c5 (patch) | |
tree | b908f4c466c86af46944ee3bd14679b31671c311 /src | |
parent | c972afdc150cb400a90bc518ac1500e57a4bcd60 (diff) |
added new account option 'Put signature before quote (not recommended)'.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2645 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r-- | src/compose.c | 23 | ||||
-rw-r--r-- | src/prefs_account_dialog.c | 11 |
2 files changed, 30 insertions, 4 deletions
diff --git a/src/compose.c b/src/compose.c index c132ff96..771adb4d 100644 --- a/src/compose.c +++ b/src/compose.c @@ -881,6 +881,16 @@ void compose_reply(MsgInfo *msginfo, FolderItem *item, ComposeMode mode, if (item) compose_entries_set_from_item(compose, item, COMPOSE_REPLY); + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(compose->text)); + + if (account->sig_before_quote && prefs_common.auto_sig) { + GtkTextMark *mark; + compose_insert_sig(compose, TRUE, FALSE, FALSE); + mark = gtk_text_buffer_get_insert(buffer); + gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark); + gtk_text_buffer_insert(buffer, &iter, "\n", 1); + } + if (quote) { gchar *qmark; gchar *quote_str; @@ -895,13 +905,12 @@ void compose_reply(MsgInfo *msginfo, FolderItem *item, ComposeMode mode, qmark, body); } - if (prefs_common.auto_sig) + if (!account->sig_before_quote && prefs_common.auto_sig) compose_insert_sig(compose, TRUE, FALSE, FALSE); if (quote && prefs_common.linewrap_quote) compose_wrap_all(compose); - buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(compose->text)); gtk_text_buffer_get_start_iter(buffer, &iter); gtk_text_buffer_place_cursor(buffer, &iter); @@ -991,6 +1000,14 @@ void compose_forward(GSList *mlist, FolderItem *item, gboolean as_attach, text = GTK_TEXT_VIEW(compose->text); buffer = gtk_text_view_get_buffer(text); + if (account->sig_before_quote && prefs_common.auto_sig) { + GtkTextMark *mark; + compose_insert_sig(compose, TRUE, FALSE, FALSE); + mark = gtk_text_buffer_get_insert(buffer); + gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark); + gtk_text_buffer_insert(buffer, &iter, "\n", 1); + } + for (cur = mlist; cur != NULL; cur = cur->next) { msginfo = (MsgInfo *)cur->data; @@ -1040,7 +1057,7 @@ void compose_forward(GSList *mlist, FolderItem *item, gboolean as_attach, } } - if (prefs_common.auto_sig) + if (!account->sig_before_quote && prefs_common.auto_sig) compose_insert_sig(compose, TRUE, FALSE, FALSE); if (prefs_common.linewrap_quote) diff --git a/src/prefs_account_dialog.c b/src/prefs_account_dialog.c index a9d9dac1..1358bf8f 100644 --- a/src/prefs_account_dialog.c +++ b/src/prefs_account_dialog.c @@ -1,6 +1,6 @@ /* * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client - * Copyright (C) 1999-2007 Hiroyuki Yamamoto + * Copyright (C) 1999-2010 Hiroyuki Yamamoto * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -124,6 +124,7 @@ static struct Compose { GtkWidget *sig_text; GtkTextBuffer *sig_buffer; GtkWidget *sigpath_entry; + GtkWidget *sig_before_quote_chkbtn; GtkWidget *autocc_chkbtn; GtkWidget *autocc_entry; @@ -306,6 +307,8 @@ static PrefsUIData ui_data[] = { prefs_set_data_from_entry, prefs_set_entry}, {"signature_text", &compose.sig_text, prefs_set_data_from_text, prefs_set_text}, + {"signature_before_quote", &compose.sig_before_quote_chkbtn, + prefs_set_data_from_toggle, prefs_set_toggle}, {"set_autocc", &compose.autocc_chkbtn, prefs_set_data_from_toggle, prefs_set_toggle}, {"auto_cc", &compose.autocc_entry, @@ -1233,6 +1236,7 @@ static void prefs_account_compose_create(void) GtkWidget *sigfile_radiobtn; GtkWidget *sigcmd_radiobtn; GtkWidget *sigpath_entry; + GtkWidget *sig_before_quote_chkbtn; GtkWidget *frame; GtkWidget *table; GtkWidget *autocc_chkbtn; @@ -1300,6 +1304,9 @@ static void prefs_account_compose_create(void) gtk_widget_show (sigpath_entry); gtk_box_pack_start (GTK_BOX (sig_vbox), sigpath_entry, TRUE, TRUE, 0); + PACK_CHECK_BUTTON (sig_vbox, sig_before_quote_chkbtn, + _("Put signature before quote (not recommended)")); + SET_TOGGLE_SENSITIVITY (sig_radiobtn, sig_text); SET_TOGGLE_SENSITIVITY (sigfile_radiobtn, sigpath_entry); SET_TOGGLE_SENSITIVITY (sigcmd_radiobtn, sigpath_entry); @@ -1364,6 +1371,8 @@ static void prefs_account_compose_create(void) compose.sig_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(sig_text)); + compose.sig_before_quote_chkbtn = sig_before_quote_chkbtn; + compose.autocc_chkbtn = autocc_chkbtn; compose.autocc_entry = autocc_entry; compose.autobcc_chkbtn = autobcc_chkbtn; |