From 77e119bf16e342172085d6f1c61db77ca0f182bf Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 20 Oct 2020 12:28:53 +0100 Subject: [PATCH] add option to avoid Face images being saved to addrbook --- src/prefs_common.c | 4 +++- src/prefs_common.h | 3 ++- src/prefs_message.c | 13 ++++++++++++- src/textview.c | 4 ++-- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/prefs_common.c b/src/prefs_common.c index 2fe16fd06..0d4f6f080 100644 --- 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-2019 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 @@ -765,6 +765,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 index 544e9ddbc..eae0ab76d 100644 --- 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-2019 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 @@ -354,6 +354,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 index fb1447523..b8a9a2ca5 100644 --- 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-2018 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 index a76d88e2e..230639ce5 100644 --- a/src/textview.c +++ b/src/textview.c @@ -2305,8 +2305,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); } -- 2.25.1