rework image viewer
[claws.git] / src / prefs_common.h
index 702db3d865a9593565ccf04fb11d101e1f443187..12689763b438334915372fd8626fde803903ed33 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
@@ -35,7 +35,7 @@
 #include "prefs_msg_colors.h"
 #include "prefs_summary_open.h"
 
-#define CLAWS_CONFIG_VERSION 2
+#define CLAWS_CONFIG_VERSION 3
 
 typedef struct _PrefsCommon    PrefsCommon;
 
@@ -108,6 +108,42 @@ typedef enum
        AVATARS_ENABLE_BOTH = 3
 } EnableAvatars;
 
+typedef enum
+{
+       COL_MISSPELLED,
+       COL_QUOTE_LEVEL1,
+       COL_QUOTE_LEVEL2,
+       COL_QUOTE_LEVEL3,
+       COL_QUOTE_LEVEL1_BG,
+       COL_QUOTE_LEVEL2_BG,
+       COL_QUOTE_LEVEL3_BG,
+       COL_URI,
+       COL_TGT_FOLDER,
+       COL_SIGNATURE,
+       COL_EMPHASIS,
+       COL_DEFAULT_HEADER,
+       COL_DEFAULT_HEADER_BG,
+       COL_TAGS,
+       COL_TAGS_BG,
+       COL_QS_ACTIVE,
+       COL_QS_ACTIVE_BG,
+       COL_QS_ERROR,
+       COL_QS_ERROR_BG,
+       COL_LOG_MSG,
+       COL_LOG_WARN,
+       COL_LOG_ERROR,
+       COL_LOG_IN,
+       COL_LOG_OUT,
+       COL_LOG_STATUS_OK,
+       COL_LOG_STATUS_NOK,
+       COL_LOG_STATUS_SKIP,
+       COL_NEW,
+       COL_DIFF_ADDED,
+       COL_DIFF_DELETED,
+       COL_DIFF_HUNK,
+       COL_LAST_COLOR_INDEX
+} ColorIndex;
+
 struct _PrefsCommon
 {
        gint config_version;
@@ -184,7 +220,6 @@ struct _PrefsCommon
        gboolean enable_aspell;
        gchar *dictionary;
        gchar *alt_dictionary;
-       gulong misspelled_col;
        gboolean check_while_typing;
        gboolean recheck_when_changing_dict;
        gboolean use_alternate;
@@ -204,17 +239,20 @@ struct _PrefsCommon
        /* custom colors */
        ColorlabelPrefs custom_colorlabel[COLORLABELS];
 
+       /* program colors */
+       gulong color[COL_LAST_COLOR_INDEX];
+
        /* image viewer */
        gboolean display_img;
        gboolean resize_img;
        gboolean inline_img;
+       gboolean fit_img_height;
 
        gboolean trans_hdr;
        gint display_folder_unread;
        gint ng_abbrev_len;
 
        gboolean show_searchbar;
-       gboolean expand_thread;
        gboolean swap_from;
        gboolean use_addr_book;
        gchar *date_format;
@@ -226,12 +264,16 @@ struct _PrefsCommon
        gboolean enable_hscrollbar;
        gboolean bold_unread;
        gboolean next_on_delete;
-       gboolean enable_thread;
        gboolean thread_by_subject;
        gint thread_by_subject_max_age; /*!< Max. age of a thread which was threaded
                                         *   by subject (days) */
        FolderSortKey default_sort_key;
        FolderSortType default_sort_type;
+       gboolean folder_default_thread;
+       gboolean folder_default_thread_collapsed;
+       gboolean folder_default_hide_read_threads;
+       gboolean folder_default_hide_read_msgs;
+       gboolean folder_default_hide_del_msgs;
 
        gchar *last_opened_folder;
        gboolean goto_last_folder_on_startup;
@@ -252,6 +294,9 @@ struct _PrefsCommon
        /* Actions */
        GSList *actions_list;
 
+       /* Summary lock column headers */
+       gboolean summary_col_lock;
+
        /* Summary columns visibility, position and size */
        gboolean summary_col_visible[N_SUMMARY_COLS];
        gint summary_col_pos[N_SUMMARY_COLS];
@@ -306,28 +351,11 @@ struct _PrefsCommon
        /* Message */
        gboolean enable_color;
        gboolean enable_bgcolor;
-       gulong quote_level1_col;
-       gulong quote_level2_col;
-       gulong quote_level3_col;
-       gulong quote_level1_bgcol;
-       gulong quote_level2_bgcol;
-       gulong quote_level3_bgcol;
-       gulong uri_col;
-       gulong tgt_folder_col;
-       gulong signature_col;
-       gulong emphasis_col;
        gboolean recycle_quote_colors;
-       gulong default_header_bgcolor;
-       gulong default_header_color;
-       gulong tags_bgcolor;
-       gulong tags_color;
-       gulong qs_active_bgcolor;
-       gulong qs_active_color;
-       gulong qs_error_bgcolor;
-       gulong qs_error_color;
        gboolean display_header_pane;
        gboolean display_header;
        gboolean display_xface;
+       gboolean save_xface;
        gint line_space;
        gboolean render_html;
        gboolean invoke_plugin_on_html;
@@ -361,7 +389,7 @@ struct _PrefsCommon
        GList *addressbook_custom_attributes;
 
        /* Interface */
-       gboolean layout_mode;
+       LayoutType layout_mode;
 
        gint statusbar_update_step;
        gboolean emulate_emacs;
@@ -393,6 +421,7 @@ struct _PrefsCommon
 #endif
        int hover_timeout; /* msecs mouse hover timeout */
        gboolean ask_mark_all_read;
+       gboolean ask_override_colorlabel;
        gboolean ask_apply_per_account_filtering_rules;
        gint apply_per_account_filtering_rules;
 
@@ -412,15 +441,6 @@ struct _PrefsCommon
        gboolean enable_log_error;
        gboolean enable_log_status;
 
-       gulong log_msg_color;
-       gulong log_warn_color;
-       gulong log_error_color;
-       gulong log_in_color;
-       gulong log_out_color;
-       gulong log_status_ok_color;
-       gulong log_status_nok_color;
-       gulong log_status_skip_color;
-
        gboolean enable_filtering_debug;
        gint filtering_debug_level;
        gboolean enable_filtering_debug_inc;
@@ -440,6 +460,7 @@ struct _PrefsCommon
        gint io_timeout_secs;
 
        gboolean gtk_can_change_accels;
+       gboolean gtk_enable_accels;
        
        /* Memory cache*/
        gint cache_max_mem_usage;
@@ -454,8 +475,7 @@ struct _PrefsCommon
        gint summary_quicksearch_recurse;
        gint summary_quicksearch_dynamic;
        gint summary_quicksearch_autorun;
-       gulong color_new;
-       
+
        GList *summary_quicksearch_history;
        GList *summary_search_from_history;
        GList *summary_search_to_history;
@@ -475,8 +495,16 @@ struct _PrefsCommon
        gint templateswin_height;
        gint actionswin_width;
        gint actionswin_height;
+       gint actionsiodialog_width;
+       gint actionsiodialog_height;
        gint tagswin_width;
        gint tagswin_height;
+       gint sslmanwin_width;
+       gint sslmanwin_height;
+       gint uriopenerwin_width;
+       gint uriopenerwin_height;
+       gint foldersortwin_width;
+       gint foldersortwin_height;
        gint addressbookwin_width;
        gint addressbookwin_height;
        gint addressbookeditpersonwin_width;
@@ -511,6 +539,7 @@ struct _PrefsCommon
        gint news_subscribe_width;
        gint news_subscribe_height;
 
+    gint imap_scan_tree_recurs_limit;
        gint warn_dnd;
        gint broken_are_utf8;
        gint skip_ssl_cert_check;
@@ -544,10 +573,6 @@ struct _PrefsCommon
 
        gint nav_history_length;
 
-       gulong diff_added_color;
-       gulong diff_deleted_color;
-       gulong diff_hunk_color;
-       
        gboolean folder_search_wildcard;
        gboolean address_search_wildcard;
 
@@ -559,6 +584,10 @@ struct _PrefsCommon
        gchar *master_passphrase_salt;
        guint master_passphrase_pbkdf2_rounds;
 #endif
+
+       /* Proxy */
+       gboolean use_proxy;
+       ProxyInfo proxy_info;
 };
 
 extern PrefsCommon prefs_common;