2008-02-18 [colin] 3.3.0cvs16
[claws.git] / src / prefs_common.h
index 3823270a49fafab64c45d6aedbc615f8ead7571f..a3f4cc4197244fdb224233a7aa7eae124911d9be 100644 (file)
@@ -4,7 +4,7 @@
  *
  * 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
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
@@ -13,8 +13,8 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * 
  */
 
 #ifndef __PREFS_COMMON_H__
@@ -33,6 +33,7 @@
 #include "textview.h"
 #include "procmime.h"
 #include "prefs_msg_colors.h"
+#include "prefs_summary_open.h"
 
 typedef struct _PrefsCommon    PrefsCommon;
 
@@ -55,12 +56,6 @@ typedef enum {
        CTE_8BIT
 } TransferEncodingMethod;
 
-typedef enum {
-       SEND_DIALOG_ALWAYS,
-       /* SEND_DIALOG_ACTIVE would be irrelevant */
-       SEND_DIALOG_NEVER
-} SendDialogMode;
-
 typedef enum
 {
 /* U = unread, N = new, M = marked */
@@ -70,9 +65,22 @@ typedef enum
        SELECTONENTRY_NUM,
        SELECTONENTRY_NMU,
        SELECTONENTRY_MNU,
-       SELECTONENTRY_MUN
+       SELECTONENTRY_MUN,
+       SELECTONENTRY_LAST
 } SelectOnEntry;
 
+typedef enum
+{
+       ACTION_UNSET = 0, /* for backward compatibility */
+       ACTION_MARKED,
+       ACTION_NEW,
+       ACTION_UNREAD,
+       ACTION_LAST_OPENED,
+       ACTION_LAST_LIST,
+       ACTION_NOTHING,
+       ACTION_FIRST_LIST
+} EntryAction;
+
 typedef enum
 {
        NEXTUNREADMSGDIALOG_ALWAYS,
@@ -82,6 +90,9 @@ typedef enum
 
 struct _PrefsCommon
 {
+#ifdef MAEMO
+       gchar *data_root;
+#endif
        /* Receive */
        gboolean use_extinc;
        gchar *extinc_cmd;
@@ -93,6 +104,11 @@ struct _PrefsCommon
        gboolean newmail_notify_auto;
        gboolean newmail_notify_manu;
        gchar   *newmail_notify_cmd;
+#ifdef MAEMO
+       gboolean maemo_show_led;
+       gboolean maemo_play_sound;
+       gboolean maemo_show_banner;
+#endif
        RecvDialogMode recv_dialog_mode;
        gint receivewin_width;
        gint receivewin_height;
@@ -102,7 +118,7 @@ struct _PrefsCommon
        /* Send */
        gboolean savemsg;
        gboolean confirm_send_queued_messages;
-       SendDialogMode send_dialog_mode;
+       gboolean send_dialog_invisible;
        gint sendwin_width;
        gint sendwin_height;
        gchar *outgoing_charset;
@@ -165,10 +181,13 @@ struct _PrefsCommon
        /* new fonts */
        gchar *widgetfont;
        gchar *textfont;
-        gchar *printfont;
+       gchar *printfont;
+       gchar *boldfont;
        gchar *normalfont;
        gchar *smallfont;
        gchar *titlefont;
+       gboolean use_different_print_font;
+       gboolean derive_from_normal_font;
 
        /* custom colors */
        ColorlabelPrefs custom_colorlabel[COLORLABELS];
@@ -199,9 +218,13 @@ struct _PrefsCommon
        gint thread_by_subject_max_age; /*!< Max. age of a thread which was threaded
                                         *   by subject (days) */
 
+       gchar *last_opened_folder;
+       gboolean goto_last_folder_on_startup;
+
        ToolbarStyle toolbar_style;
        gboolean toolbar_detachable;
        gboolean show_statusbar;
+       gboolean show_col_headers;
 
        gint folderview_vscrollbar_policy;
 
@@ -247,6 +270,7 @@ struct _PrefsCommon
        gint mainwin_y;
        gint mainwin_width;
        gint mainwin_height;
+       gint mainwin_maximised;
 
        gint msgwin_width;
        gint msgwin_height;
@@ -271,6 +295,7 @@ struct _PrefsCommon
        gulong uri_col;
        gulong tgt_folder_col;
        gulong signature_col;
+       gulong emphasis_col;
        gboolean recycle_quote_colors;
        gboolean display_header_pane;
        gboolean display_header;
@@ -285,7 +310,6 @@ struct _PrefsCommon
        gboolean respect_flowed_format;
 
        gboolean show_other_header;
-       gboolean use_different_print_font;
        GSList *disphdr_list;
 
        gboolean attach_desc;
@@ -312,6 +336,7 @@ struct _PrefsCommon
        gboolean addressbook_use_editaddress_dialog;
        gint addressbook_hpaned_pos;
        gint addressbook_vpaned_pos;
+       GList *addressbook_custom_attributes;
 
        /* Interface */
        gboolean layout_mode;
@@ -323,6 +348,10 @@ struct _PrefsCommon
        gboolean mark_as_read_delay;
        gboolean immediate_exec;
        SelectOnEntry select_on_entry;
+       gboolean show_tooltips;
+
+       EntryAction summary_select_prio[SUMMARY_OPEN_ACTIONS-1];
+
        NextUnreadMsgDialogShow next_unread_msg_dialog;
        gboolean add_address_by_click;
        gchar *pixmap_theme_path;
@@ -335,9 +364,14 @@ struct _PrefsCommon
        gchar *uri_cmd;
        gchar *print_cmd;
        gchar *ext_editor_cmd;
+       gboolean cmds_use_system_default;
 
-    gboolean cliplog;
-    guint loglength;
+       gboolean cliplog;
+       guint loglength;
+       gboolean enable_log_standard;
+       gboolean enable_log_warning;
+       gboolean enable_log_error;
+       gboolean enable_log_status;
 
        gulong log_msg_color;
        gulong log_warn_color;
@@ -400,6 +434,8 @@ struct _PrefsCommon
        gint templateswin_height;
        gint actionswin_width;
        gint actionswin_height;
+       gint tagswin_width;
+       gint tagswin_height;
        gint addressbookwin_width;
        gint addressbookwin_height;
        gint addressbookeditpersonwin_width;
@@ -432,18 +468,32 @@ struct _PrefsCommon
        gint broken_are_utf8;
        gint skip_ssl_cert_check;
        gint live_dangerously;
+       gint save_parts_readwrite;
        gint never_send_retrcpt;
        gint hide_quotes;
        gboolean unsafe_ssl_certs;
        gboolean real_time_sync;
+       
+       gchar *print_paper_type;
+       gint print_paper_orientation;
+       gint print_use_color;
+       gint print_use_collate;
+       gint print_use_reverse;
+       gint print_use_duplex;
+       gint print_imgs;
+       gint print_previewwin_width;
+       gint print_previewwin_height;
+       
+       gboolean use_networkmanager;
 };
 
 extern PrefsCommon prefs_common;
 
+GList *prefs_common_read_history_from_dir_with_defaults(const gchar *dirname, const gchar *history,
+                                                                                                                         GList *default_list);
 void prefs_common_read_config  (void);
 void prefs_common_write_config (void);
 void prefs_common_open         (void);
-PrefsCommon *prefs_common_get  (void);
 void pref_get_unescaped_pref(gchar *out, const gchar *in);
 void pref_get_escaped_pref(gchar *out, const gchar *in);
 void pref_set_textview_from_pref(GtkTextView *textview, const gchar *txt);
@@ -451,5 +501,6 @@ void pref_set_entry_from_pref(GtkEntry *entry, const gchar *txt);
 gchar *pref_get_pref_from_textview(GtkTextView *textview);
 gchar *pref_get_pref_from_entry(GtkEntry *entry);
 const gchar *prefs_common_translated_header_name(const gchar *header_name);
-
+const gchar *prefs_common_get_uri_cmd(void);
+const gchar *prefs_common_get_ext_editor_cmd(void);
 #endif /* __PREFS_COMMON_H__ */