add option to avoid Face images being saved to addrbook
[claws.git] / src / prefs_common.c
index 444d677a61b16262117442cb344e88adadfb550b..0d4f6f08049b27718bb4d95c3fab8d7d5ae8eaaa 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2016 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
@@ -61,7 +61,7 @@
 #include "prefswindow.h"
 #include "colorlabel.h"
 #include "passwordstore.h"
-#include "safe_fclose.h"
+#include "file-utils.h"
 
 #ifndef USE_ALT_ADDRBOOK
        #include "addrcustomattr.h"
@@ -436,8 +436,13 @@ static PrefParam param[] = {
         &prefs_common.ng_abbrev_len, P_INT,
         NULL, NULL, NULL},
 
+#ifdef ENABLE_NLS
+       {"translate_header", "TRUE", &prefs_common.trans_hdr, P_BOOL,
+        NULL, NULL, NULL},
+#else
        {"translate_header", "FALSE", &prefs_common.trans_hdr, P_BOOL,
         NULL, NULL, NULL},
+#endif
 
        /* Display: Summary View */
        {"default_sort_key", "3", &prefs_common.default_sort_key, P_ENUM,
@@ -459,8 +464,6 @@ static PrefParam param[] = {
         {"bold_unread", "TRUE", &prefs_common.bold_unread, P_BOOL,
         NULL, NULL, NULL},
 
-       {"enable_thread", "TRUE", &prefs_common.enable_thread, P_BOOL,
-        NULL, NULL, NULL},
 #ifndef GENERIC_UMPC
        {"toolbar_style", "3", &prefs_common.toolbar_style, P_ENUM,
         NULL, NULL, NULL},
@@ -509,7 +512,10 @@ static PrefParam param[] = {
        {"summary_col_show_tags", "FALSE",
         &prefs_common.summary_col_visible[S_COL_TAGS], P_BOOL, NULL, NULL, NULL},
 
-       {"summary_col_pos_mark", "0",
+       {"summary_col_lock", "FALSE", &prefs_common.summary_col_lock, P_BOOL,
+        NULL, NULL, NULL},
+
+        {"summary_col_pos_mark", "0",
          &prefs_common.summary_col_pos[S_COL_MARK], P_INT, NULL, NULL, NULL},
        {"summary_col_pos_unread", "1",
          &prefs_common.summary_col_pos[S_COL_STATUS], P_INT, NULL, NULL, NULL},
@@ -618,6 +624,18 @@ static PrefParam param[] = {
        {"folder_col_size_total", "32",
         &prefs_common.folder_col_size[F_COL_TOTAL], P_INT, NULL, NULL, NULL},
 #endif
+
+       {"folder_default_thread", "TRUE", &prefs_common.folder_default_thread, P_BOOL,
+        NULL, NULL, NULL},
+       {"folder_default_thread_collapsed", "FALSE", &prefs_common.folder_default_thread_collapsed, P_BOOL,
+        NULL, NULL, NULL},
+       {"folder_default_hide_read_threads", "FALSE", &prefs_common.folder_default_hide_read_threads, P_BOOL,
+        NULL, NULL, NULL},
+       {"folder_default_hide_read_msgs", "FALSE", &prefs_common.folder_default_hide_read_msgs, P_BOOL,
+        NULL, NULL, NULL},
+       {"folder_default_hide_del_msgs", "FALSE", &prefs_common.folder_default_hide_del_msgs, P_BOOL,
+        NULL, NULL, NULL},
+
        {"summaryview_width", "500", &prefs_common.summaryview_width, P_INT,
         NULL, NULL, NULL},
        {"summaryview_height", "244", &prefs_common.summaryview_height, P_INT,
@@ -747,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,
@@ -1004,6 +1024,8 @@ static PrefParam param[] = {
 
        {"gtk_can_change_accels", "FALSE", &prefs_common.gtk_can_change_accels, P_BOOL,
         NULL, NULL, NULL},
+       {"gtk_enable_accels", "TRUE", &prefs_common.gtk_enable_accels, P_BOOL,
+        NULL, NULL, NULL},
 
        {"color_new", "#0000b3", &prefs_common.color[COL_NEW],
         P_COLOR, NULL, NULL, NULL},
@@ -1039,11 +1061,26 @@ static PrefParam param[] = {
        {"actionswin_height", "-1", &prefs_common.actionswin_height, P_INT,
         NULL, NULL, NULL},
 
-       {"tagswin_width", "486", &prefs_common.tagswin_width, P_INT,
+       {"tagswin_width", "586", &prefs_common.tagswin_width, P_INT,
         NULL, NULL, NULL},
        {"tagswin_height", "-1", &prefs_common.tagswin_height, P_INT,
         NULL, NULL, NULL},
 
+       {"sslmanwin_width", "486", &prefs_common.sslmanwin_width, P_INT,
+        NULL, NULL, NULL},
+       {"sslmanwin_height", "-1", &prefs_common.sslmanwin_height, P_INT,
+        NULL, NULL, NULL},
+
+       {"uriopenerwin_width", "-1", &prefs_common.uriopenerwin_width, P_INT,
+        NULL, NULL, NULL},
+       {"uriopenerwin_height", "-1", &prefs_common.uriopenerwin_height, P_INT,
+        NULL, NULL, NULL},
+
+       {"foldersortwin_width", "400", &prefs_common.foldersortwin_width, P_INT,
+        NULL, NULL, NULL},
+       {"foldersortwin_height", "300", &prefs_common.foldersortwin_height, P_INT,
+        NULL, NULL, NULL},
+
        {"addressbookwin_width", "520", &prefs_common.addressbookwin_width, P_INT,
         NULL, NULL, NULL},
        {"addressbookwin_height", "-1", &prefs_common.addressbookwin_height, P_INT,
@@ -1128,6 +1165,8 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
 
        /* Hidden */
+       {"imap_scan_tree_recurs_limit", "64", &prefs_common.imap_scan_tree_recurs_limit, P_INT,
+        NULL, NULL, NULL},
        {"warn_dnd", "1", &prefs_common.warn_dnd, P_INT,
         NULL, NULL, NULL},
        {"utf8_instead_of_locale_for_broken_mail", "0", 
@@ -1289,19 +1328,19 @@ GList *prefs_common_read_history_from_dir_with_defaults(const gchar *dirname, co
        path = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, history,
                           NULL);
        }
-       if ((fp = g_fopen(path, "rb")) == NULL) {
-               if (ENOENT != errno) FILE_OP_ERROR(path, "fopen");
+       if ((fp = claws_fopen(path, "rb")) == NULL) {
+               if (ENOENT != errno) FILE_OP_ERROR(path, "claws_fopen");
                g_free(path);
                /* returns default list if set, otherwise NULL */
                return default_list;
        }
        g_free(path);
-       while (fgets(buf, sizeof(buf), fp) != NULL) {
+       while (claws_fgets(buf, sizeof(buf), fp) != NULL) {
                g_strstrip(buf);
                if (buf[0] == '\0') continue;
                tmp = add_history(tmp, buf);
        }
-       fclose(fp);
+       claws_fclose(fp);
 
        tmp = g_list_reverse(tmp);
 
@@ -1391,18 +1430,18 @@ static void prefs_common_save_history_to_dir(const gchar *dirname, const gchar *
        }
        tmp_path = g_strconcat(path, ".tmp", NULL);
 
-       if ((fp = g_fopen(tmp_path, "wb")) == NULL) {
-               FILE_OP_ERROR(tmp_path, "fopen");
+       if ((fp = claws_fopen(tmp_path, "wb")) == NULL) {
+               FILE_OP_ERROR(tmp_path, "claws_fopen");
                goto out;
        }
 
        for (cur = list; cur != NULL; cur = cur->next) {
-               TRY(fputs((gchar *)cur->data, fp) != EOF &&
-                   fputc('\n', fp) != EOF);
+               TRY(claws_fputs((gchar *)cur->data, fp) != EOF &&
+                   claws_fputc('\n', fp) != EOF);
        }
 
-       if (safe_fclose(fp) == EOF) {
-               FILE_OP_ERROR(tmp_path, "fclose");
+       if (claws_safe_fclose(fp) == EOF) {
+               FILE_OP_ERROR(tmp_path, "claws_fclose");
                fp = NULL;
                goto out;
        }
@@ -1417,7 +1456,7 @@ static void prefs_common_save_history_to_dir(const gchar *dirname, const gchar *
 
 out:
        if (fp)
-               safe_fclose(fp);
+               claws_safe_fclose(fp);
        g_free(tmp_path);
        g_free(path);
 }