commit 12b1aaa3fd29432c36df8ce5a2a624363dfd355f
parent 991a58f03b5f1ae092c0594a80f3e13cc3a3bbfa
Author: paul <paul@claws-mail.org>
Date: Tue, 20 Oct 2020 12:30:24 +0100
add option to avoid Face images being saved to addrbook
Diffstat:
4 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/src/prefs_common.c b/src/prefs_common.c
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2020 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2020 the Claws Mail team and 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
@@ -763,6 +763,8 @@ static PrefParam param[] = {
NULL, NULL, NULL},
{"display_xface", "TRUE", &prefs_common.display_xface,
P_BOOL, NULL, NULL, NULL},
+ {"save_xface", "TRUE", &prefs_common.save_xface,
+ P_BOOL, NULL, NULL, NULL},
{"render_html", "TRUE", &prefs_common.render_html, P_BOOL,
NULL, NULL, NULL},
{"invoke_plugin_on_html", "FALSE", &prefs_common.invoke_plugin_on_html, P_BOOL,
diff --git a/src/prefs_common.h b/src/prefs_common.h
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-20 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2020 the Claws Mail team and 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
@@ -353,6 +353,7 @@ struct _PrefsCommon
gboolean display_header_pane;
gboolean display_header;
gboolean display_xface;
+ gboolean save_xface;
gint line_space;
gboolean render_html;
gboolean invoke_plugin_on_html;
diff --git a/src/prefs_message.c b/src/prefs_message.c
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2005-2019 Colin Leroy and The Claws Mail Team
+ * Copyright (C) 2005-2020 the Claws Mail Team and Colin Leroy
*
* 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
@@ -49,6 +49,7 @@ typedef struct _MessagePage
GtkWidget *checkbtn_disphdrpane;
GtkWidget *checkbtn_disphdr;
GtkWidget *checkbtn_dispxface;
+ GtkWidget *checkbtn_savexface;
GtkWidget *checkbtn_html;
GtkWidget *checkbtn_html_plugin;
@@ -84,6 +85,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
GtkWidget *checkbtn_disphdrpane;
GtkWidget *checkbtn_disphdr;
GtkWidget *checkbtn_dispxface;
+ GtkWidget *checkbtn_savexface;
GtkWidget *button_edit_disphdr;
GtkWidget *checkbtn_html;
@@ -124,9 +126,13 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
#if HAVE_LIBCOMPFACE
PACK_CHECK_BUTTON(vbox2, checkbtn_dispxface,
_("Display (X-)Face in message view"));
+ PACK_CHECK_BUTTON(vbox2, checkbtn_savexface,
+ _("Save (X-)Face in address book if possible"));
#else
PACK_CHECK_BUTTON(vbox2, checkbtn_dispxface,
_("Display Face in message view"));
+ PACK_CHECK_BUTTON(vbox2, checkbtn_savexface,
+ _("Save Face in address book if possible"));
#endif
gtk_widget_set_sensitive(checkbtn_dispxface,
@@ -258,6 +264,8 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_dispxface),
prefs_common.display_xface);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_savexface),
+ prefs_common.save_xface);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_disphdr),
prefs_common.display_header);
@@ -285,6 +293,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
prefs_message->window = GTK_WIDGET(window);
prefs_message->checkbtn_disphdrpane = checkbtn_disphdrpane;
prefs_message->checkbtn_dispxface = checkbtn_dispxface;
+ prefs_message->checkbtn_savexface = checkbtn_savexface;
prefs_message->checkbtn_disphdr = checkbtn_disphdr;
prefs_message->checkbtn_html = checkbtn_html;
prefs_message->checkbtn_html_plugin = checkbtn_html_plugin;
@@ -308,6 +317,8 @@ static void prefs_message_save(PrefsPage *_page)
GTK_TOGGLE_BUTTON(page->checkbtn_disphdrpane));
prefs_common.display_xface = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_dispxface));
+ prefs_common.save_xface = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(page->checkbtn_savexface));
prefs_common.display_header = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_disphdr));
prefs_common.render_html = gtk_toggle_button_get_active(
diff --git a/src/textview.c b/src/textview.c
@@ -2269,8 +2269,8 @@ static void textview_show_header(TextView *textview, GPtrArray *headers)
}
textview_show_avatar(textview);
-
- textview_save_contact_pic(textview);
+ if (prefs_common.save_xface)
+ textview_save_contact_pic(textview);
textview_show_contact_pic(textview);
}