2008-12-09 [colin] 3.6.1cvs66
* src/compose.c * src/compose.h * src/folder_item_prefs.h * src/prefs_common.c * src/prefs_common.h * src/common/defs.h Fix bug 1792, '"Save Message to" should retain list of recently selected folders' Also, make Enchant-related prefs stick even if the build doesn't enable enchant
This commit is contained in:
parent
9d8995debb
commit
eb34005e5c
9 changed files with 91 additions and 38 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
2008-12-09 [colin] 3.6.1cvs66
|
||||
|
||||
* src/compose.c
|
||||
* src/compose.h
|
||||
* src/folder_item_prefs.h
|
||||
* src/prefs_common.c
|
||||
* src/prefs_common.h
|
||||
* src/common/defs.h
|
||||
Fix bug 1792, '"Save Message to" should
|
||||
retain list of recently selected folders'
|
||||
Also, make Enchant-related prefs stick
|
||||
even if the build doesn't enable enchant
|
||||
|
||||
2008-12-09 [paul] 3.6.1cvs65
|
||||
|
||||
* src/messageview.c
|
||||
|
|
|
@ -3647,3 +3647,4 @@
|
|||
( cvs diff -u -r 1.60.2.66 -r 1.60.2.67 src/prefs_actions.c; cvs diff -u -r 1.5.2.55 -r 1.5.2.56 src/gtk/pluginwindow.c; ) > 3.6.1cvs63.patchset
|
||||
( cvs diff -u -r 1.59.2.74 -r 1.59.2.75 src/prefs_filtering.c; ) > 3.6.1cvs64.patchset
|
||||
( cvs diff -u -r 1.94.2.192 -r 1.94.2.193 src/messageview.c; ) > 3.6.1cvs65.patchset
|
||||
( cvs diff -u -r 1.382.2.488 -r 1.382.2.489 src/compose.c; cvs diff -u -r 1.50.2.51 -r 1.50.2.52 src/compose.h; cvs diff -u -r 1.2.2.19 -r 1.2.2.20 src/folder_item_prefs.h; cvs diff -u -r 1.204.2.183 -r 1.204.2.184 src/prefs_common.c; cvs diff -u -r 1.103.2.119 -r 1.103.2.120 src/prefs_common.h; cvs diff -u -r 1.9.2.46 -r 1.9.2.47 src/common/defs.h; ) > 3.6.1cvs66.patchset
|
||||
|
|
|
@ -11,7 +11,7 @@ MINOR_VERSION=6
|
|||
MICRO_VERSION=1
|
||||
INTERFACE_AGE=0
|
||||
BINARY_AGE=0
|
||||
EXTRA_VERSION=65
|
||||
EXTRA_VERSION=66
|
||||
EXTRA_RELEASE=
|
||||
EXTRA_GTK2_VERSION=
|
||||
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
#define SUMMARY_SEARCH_BODY_HISTORY "summary_searchbody_history"
|
||||
#define SUMMARY_SEARCH_ADV_CONDITION_HISTORY "summarysearch_adv_history"
|
||||
#define MESSAGE_SEARCH_HISTORY "messagesearch_history"
|
||||
#define COMPOSE_SAVE_TO_HISTORY "compose_save_to_history"
|
||||
#define ADDRESSBOOK_CUSTOM_ATTRIBUTES "attributesrc"
|
||||
#define TEMPLATE_DIR "templates"
|
||||
#define TMP_DIR "tmp"
|
||||
|
|
|
@ -886,6 +886,41 @@ Compose *compose_new_with_list( PrefsAccount *account, GList *listAddress )
|
|||
cmark); \
|
||||
}
|
||||
|
||||
static void compose_set_save_to(Compose *compose, const gchar *folderidentifier)
|
||||
{
|
||||
GtkEditable *entry;
|
||||
if (folderidentifier) {
|
||||
combobox_unset_popdown_strings(GTK_COMBO_BOX(compose->savemsg_combo));
|
||||
prefs_common.compose_save_to_history = add_history(
|
||||
prefs_common.compose_save_to_history, folderidentifier);
|
||||
combobox_set_popdown_strings(GTK_COMBO_BOX(compose->savemsg_combo),
|
||||
prefs_common.compose_save_to_history);
|
||||
}
|
||||
|
||||
entry = GTK_EDITABLE(gtk_bin_get_child(GTK_BIN(compose->savemsg_combo)));
|
||||
if (folderidentifier)
|
||||
gtk_entry_set_text(GTK_ENTRY(entry), folderidentifier);
|
||||
else
|
||||
gtk_entry_set_text(GTK_ENTRY(entry), "");
|
||||
}
|
||||
|
||||
static gchar *compose_get_save_to(Compose *compose)
|
||||
{
|
||||
GtkEditable *entry;
|
||||
gchar *result = NULL;
|
||||
entry = GTK_EDITABLE(gtk_bin_get_child(GTK_BIN(compose->savemsg_combo)));
|
||||
result = gtk_editable_get_chars(entry, 0, -1);
|
||||
|
||||
if (result) {
|
||||
combobox_unset_popdown_strings(GTK_COMBO_BOX(compose->savemsg_combo));
|
||||
prefs_common.compose_save_to_history = add_history(
|
||||
prefs_common.compose_save_to_history, result);
|
||||
combobox_set_popdown_strings(GTK_COMBO_BOX(compose->savemsg_combo),
|
||||
prefs_common.compose_save_to_history);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Compose *compose_generic_new(PrefsAccount *account, const gchar *mailto, FolderItem *item,
|
||||
GPtrArray *attach_files, GList *listAddress )
|
||||
{
|
||||
|
@ -1102,7 +1137,7 @@ Compose *compose_generic_new(PrefsAccount *account, const gchar *mailto, FolderI
|
|||
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(compose->savemsg_checkbtn), prefs_common.savemsg);
|
||||
folderidentifier = folder_item_get_identifier(item);
|
||||
gtk_entry_set_text(GTK_ENTRY(compose->savemsg_entry), folderidentifier);
|
||||
compose_set_save_to(compose, folderidentifier);
|
||||
g_free(folderidentifier);
|
||||
}
|
||||
|
||||
|
@ -1413,7 +1448,7 @@ static Compose *compose_generic_reply(MsgInfo *msginfo,
|
|||
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(compose->savemsg_checkbtn), TRUE);
|
||||
folderidentifier = folder_item_get_identifier(msginfo->folder);
|
||||
gtk_entry_set_text(GTK_ENTRY(compose->savemsg_entry), folderidentifier);
|
||||
compose_set_save_to(compose, folderidentifier);
|
||||
g_free(folderidentifier);
|
||||
}
|
||||
|
||||
|
@ -1713,7 +1748,7 @@ Compose *compose_forward(PrefsAccount *account, MsgInfo *msginfo,
|
|||
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(compose->savemsg_checkbtn), TRUE);
|
||||
folderidentifier = folder_item_get_identifier(msginfo->folder);
|
||||
gtk_entry_set_text(GTK_ENTRY(compose->savemsg_entry), folderidentifier);
|
||||
compose_set_save_to(compose, folderidentifier);
|
||||
g_free(folderidentifier);
|
||||
}
|
||||
|
||||
|
@ -2118,11 +2153,8 @@ Compose *compose_reedit(MsgInfo *msginfo, gboolean batch)
|
|||
|
||||
/* Set message save folder */
|
||||
if (!procheader_get_header_from_msginfo(msginfo, queueheader_buf, sizeof(queueheader_buf), "SCF:")) {
|
||||
gint startpos = 0;
|
||||
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(compose->savemsg_checkbtn), TRUE);
|
||||
gtk_editable_delete_text(GTK_EDITABLE(compose->savemsg_entry), 0, -1);
|
||||
gtk_editable_insert_text(GTK_EDITABLE(compose->savemsg_entry), &queueheader_buf[4], strlen(&queueheader_buf[4]), &startpos);
|
||||
compose_set_save_to(compose, &queueheader_buf[4]);
|
||||
}
|
||||
if (!procheader_get_header_from_msginfo(msginfo, queueheader_buf, sizeof(queueheader_buf), "RRCPT:")) {
|
||||
gint active = atoi(&queueheader_buf[strlen("RRCPT:")]);
|
||||
|
@ -2248,7 +2280,7 @@ Compose *compose_redirect(PrefsAccount *account, MsgInfo *msginfo,
|
|||
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(compose->savemsg_checkbtn), prefs_common.savemsg);
|
||||
folderidentifier = folder_item_get_identifier(item);
|
||||
gtk_entry_set_text(GTK_ENTRY(compose->savemsg_entry), folderidentifier);
|
||||
compose_set_save_to(compose, folderidentifier);
|
||||
g_free(folderidentifier);
|
||||
}
|
||||
|
||||
|
@ -5558,7 +5590,7 @@ static gint compose_queue_sub(Compose *compose, gint *msgnum, FolderItem **item,
|
|||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(compose->savemsg_checkbtn))) {
|
||||
gchar *savefolderid;
|
||||
|
||||
savefolderid = gtk_editable_get_chars(GTK_EDITABLE(compose->savemsg_entry), 0, -1);
|
||||
savefolderid = compose_get_save_to(compose);
|
||||
err |= (fprintf(fp, "SCF:%s\n", savefolderid) < 0);
|
||||
g_free(savefolderid);
|
||||
}
|
||||
|
@ -6444,7 +6476,7 @@ static GtkWidget *compose_create_others(Compose *compose)
|
|||
{
|
||||
GtkWidget *table;
|
||||
GtkWidget *savemsg_checkbtn;
|
||||
GtkWidget *savemsg_entry;
|
||||
GtkWidget *savemsg_combo;
|
||||
GtkWidget *savemsg_select;
|
||||
|
||||
guint rowcount = 0;
|
||||
|
@ -6467,16 +6499,23 @@ static GtkWidget *compose_create_others(Compose *compose)
|
|||
g_signal_connect(G_OBJECT(savemsg_checkbtn), "toggled",
|
||||
G_CALLBACK(compose_savemsg_checkbtn_cb), compose);
|
||||
|
||||
savemsg_entry = gtk_entry_new();
|
||||
gtk_widget_show(savemsg_entry);
|
||||
gtk_table_attach_defaults(GTK_TABLE(table), savemsg_entry, 1, 2, rowcount, rowcount + 1);
|
||||
gtk_editable_set_editable(GTK_EDITABLE(savemsg_entry), prefs_common.savemsg);
|
||||
g_signal_connect_after(G_OBJECT(savemsg_entry), "grab_focus",
|
||||
savemsg_combo = gtk_combo_box_entry_new_text();
|
||||
compose->savemsg_checkbtn = savemsg_checkbtn;
|
||||
compose->savemsg_combo = savemsg_combo;
|
||||
gtk_widget_show(savemsg_combo);
|
||||
|
||||
if (prefs_common.compose_save_to_history)
|
||||
combobox_set_popdown_strings(GTK_COMBO_BOX(savemsg_combo),
|
||||
prefs_common.compose_save_to_history);
|
||||
|
||||
gtk_table_attach(GTK_TABLE(table), savemsg_combo, 1, 2, rowcount, rowcount + 1, GTK_FILL|GTK_EXPAND, GTK_SHRINK, 0, 0);
|
||||
gtk_widget_set_sensitive(GTK_WIDGET(savemsg_combo), prefs_common.savemsg);
|
||||
g_signal_connect_after(G_OBJECT(savemsg_combo), "grab_focus",
|
||||
G_CALLBACK(compose_grab_focus_cb), compose);
|
||||
if (account_get_special_folder(compose->account, F_OUTBOX)) {
|
||||
folderidentifier = folder_item_get_identifier(account_get_special_folder
|
||||
(compose->account, F_OUTBOX));
|
||||
gtk_entry_set_text(GTK_ENTRY(savemsg_entry), folderidentifier);
|
||||
compose_set_save_to(compose, folderidentifier);
|
||||
g_free(folderidentifier);
|
||||
}
|
||||
|
||||
|
@ -6489,15 +6528,12 @@ static GtkWidget *compose_create_others(Compose *compose)
|
|||
|
||||
rowcount++;
|
||||
|
||||
compose->savemsg_checkbtn = savemsg_checkbtn;
|
||||
compose->savemsg_entry = savemsg_entry;
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
static void compose_savemsg_checkbtn_cb(GtkWidget *widget, Compose *compose)
|
||||
{
|
||||
gtk_editable_set_editable(GTK_EDITABLE(compose->savemsg_entry),
|
||||
gtk_widget_set_sensitive(GTK_WIDGET(compose->savemsg_combo),
|
||||
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(compose->savemsg_checkbtn)));
|
||||
}
|
||||
|
||||
|
@ -6511,7 +6547,7 @@ static void compose_savemsg_select_cb(GtkWidget *widget, Compose *compose)
|
|||
|
||||
path = folder_item_get_identifier(dest);
|
||||
|
||||
gtk_entry_set_text(GTK_ENTRY(compose->savemsg_entry), path);
|
||||
compose_set_save_to(compose, path);
|
||||
g_free(path);
|
||||
}
|
||||
|
||||
|
@ -8732,11 +8768,11 @@ static void account_activated(GtkComboBox *optmenu, gpointer data)
|
|||
g_signal_connect(G_OBJECT(compose->savemsg_checkbtn), "toggled",
|
||||
G_CALLBACK(compose_savemsg_checkbtn_cb), compose);
|
||||
|
||||
gtk_editable_delete_text(GTK_EDITABLE(compose->savemsg_entry), 0, -1);
|
||||
compose_set_save_to(compose, NULL);
|
||||
if (account_get_special_folder(compose->account, F_OUTBOX)) {
|
||||
folderidentifier = folder_item_get_identifier(account_get_special_folder
|
||||
(compose->account, F_OUTBOX));
|
||||
gtk_entry_set_text(GTK_ENTRY(compose->savemsg_entry), folderidentifier);
|
||||
compose_set_save_to(compose, folderidentifier);
|
||||
g_free(folderidentifier);
|
||||
}
|
||||
}
|
||||
|
@ -8925,7 +8961,7 @@ gboolean compose_draft (gpointer data, guint action)
|
|||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(compose->savemsg_checkbtn))) {
|
||||
gchar *savefolderid;
|
||||
|
||||
savefolderid = gtk_editable_get_chars(GTK_EDITABLE(compose->savemsg_entry), 0, -1);
|
||||
savefolderid = compose_get_save_to(compose);
|
||||
err |= (fprintf(fp, "SCF:%s\n", savefolderid) < 0);
|
||||
g_free(savefolderid);
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ struct _Compose
|
|||
|
||||
/* Others */
|
||||
GtkWidget *savemsg_checkbtn;
|
||||
GtkWidget *savemsg_entry;
|
||||
GtkWidget *savemsg_combo;
|
||||
|
||||
/* Headers notebook */
|
||||
GtkWidget *notebook;
|
||||
|
@ -200,12 +200,6 @@ struct _Compose
|
|||
GIOChannel *exteditor_ch;
|
||||
gint exteditor_tag;
|
||||
|
||||
#if USE_ENCHANT
|
||||
/* GNU/aspell spell checker */
|
||||
GtkAspell *gtkaspell;
|
||||
GtkWidget *aspell_options_menu;
|
||||
#endif
|
||||
|
||||
/* Priority */
|
||||
gint priority;
|
||||
|
||||
|
@ -235,6 +229,11 @@ struct _Compose
|
|||
GtkWidget *first_entry;
|
||||
|
||||
GtkUIManager *ui_manager;
|
||||
#if USE_ENCHANT
|
||||
/* GNU/aspell spell checker */
|
||||
GtkAspell *gtkaspell;
|
||||
GtkWidget *aspell_options_menu;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct _AttachInfo
|
||||
|
|
|
@ -52,12 +52,12 @@ struct _FolderItemPrefs {
|
|||
gint folder_chmod;
|
||||
gboolean enable_default_account;
|
||||
gint default_account;
|
||||
#if USE_ENCHANT
|
||||
|
||||
gboolean enable_default_dictionary;
|
||||
gchar *default_dictionary;
|
||||
gboolean enable_default_alt_dictionary;
|
||||
gchar *default_alt_dictionary;
|
||||
#endif
|
||||
|
||||
gboolean save_copy_to_folder;
|
||||
guint color;
|
||||
|
||||
|
|
|
@ -243,7 +243,7 @@ static PrefParam param[] = {
|
|||
P_BOOL, NULL, NULL, NULL},
|
||||
{"autosave_length", "50", &prefs_common.autosave_length, P_INT,
|
||||
NULL, NULL, NULL},
|
||||
#if USE_ENCHANT
|
||||
|
||||
{"enable_aspell", "TRUE", &prefs_common.enable_aspell, P_BOOL,
|
||||
NULL, NULL, NULL},
|
||||
{"dictionary", "", &prefs_common.dictionary, P_STRING,
|
||||
|
@ -260,7 +260,7 @@ static PrefParam param[] = {
|
|||
NULL, NULL, NULL},
|
||||
{"use_both_dicts", "FALSE", &prefs_common.use_both_dicts, P_BOOL,
|
||||
NULL, NULL, NULL},
|
||||
#endif
|
||||
|
||||
{"reply_with_quote", "TRUE", &prefs_common.reply_with_quote, P_BOOL,
|
||||
NULL, NULL, NULL},
|
||||
{"compose_dnd_insert_or_attach", "0", &prefs_common.compose_dnd_mode, P_ENUM,
|
||||
|
@ -1212,6 +1212,8 @@ void prefs_common_read_config(void)
|
|||
prefs_common_read_history(SUMMARY_SEARCH_ADV_CONDITION_HISTORY);
|
||||
prefs_common.message_search_history =
|
||||
prefs_common_read_history(MESSAGE_SEARCH_HISTORY);
|
||||
prefs_common.compose_save_to_history =
|
||||
prefs_common_read_history(COMPOSE_SAVE_TO_HISTORY);
|
||||
|
||||
prefs_common.addressbook_custom_attributes = addressbook_update_custom_attr_from_prefs();
|
||||
|
||||
|
@ -1308,6 +1310,8 @@ void prefs_common_write_config(void)
|
|||
prefs_common.summary_search_adv_condition_history);
|
||||
prefs_common_save_history(MESSAGE_SEARCH_HISTORY,
|
||||
prefs_common.message_search_history);
|
||||
prefs_common_save_history(COMPOSE_SAVE_TO_HISTORY,
|
||||
prefs_common.compose_save_to_history);
|
||||
|
||||
prefs_common_save_history_to_dir(ADDRBOOK_DIR,
|
||||
ADDRESSBOOK_CUSTOM_ATTRIBUTES,
|
||||
|
|
|
@ -167,7 +167,6 @@ struct _PrefsCommon
|
|||
gboolean block_cursor;
|
||||
gchar *quote_chars;
|
||||
|
||||
#if USE_ENCHANT
|
||||
gboolean enable_aspell;
|
||||
gchar *dictionary;
|
||||
gchar *alt_dictionary;
|
||||
|
@ -176,7 +175,6 @@ struct _PrefsCommon
|
|||
gboolean recheck_when_changing_dict;
|
||||
gboolean use_alternate;
|
||||
gboolean use_both_dicts;
|
||||
#endif
|
||||
|
||||
/* Display */
|
||||
/* obsolete fonts */
|
||||
|
@ -426,6 +424,7 @@ struct _PrefsCommon
|
|||
GList *summary_search_body_history;
|
||||
GList *summary_search_adv_condition_history;
|
||||
GList *message_search_history;
|
||||
GList *compose_save_to_history;
|
||||
|
||||
gint filteringwin_width;
|
||||
gint filteringwin_height;
|
||||
|
|
Loading…
Reference in a new issue