2005-10-06 [colin] 1.9.15cvs16
[claws.git] / src / prefs_common.c
index f7186c40a5035788b213834919def9d46589315f..0c806fc2ca8f58e778c1792f395bd2ca04eef1a4 100644 (file)
@@ -14,7 +14,7 @@
  *
  * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #ifdef HAVE_CONFIG_H
 #include "prefs_common.h"
 #include "prefs_display_header.h"
 #include "prefs_summary_column.h"
+#include "prefs_folder_column.h"
 #include "mainwindow.h"
 #include "summaryview.h"
+#include "folderview.h"
 #include "messageview.h"
 #include "manage_window.h"
 #include "inc.h"
@@ -105,6 +107,8 @@ static PrefParam param[] = {
        /* Send */
        {"save_message", "TRUE", &prefs_common.savemsg, P_BOOL,
         NULL, NULL, NULL},
+       {"confirm_send_queued_messages", "FALSE", &prefs_common.confirm_send_queued_messages,
+        P_BOOL, NULL, NULL, NULL},
        {"send_dialog_mode", "0", &prefs_common.send_dialog_mode, P_ENUM,
         NULL, NULL, NULL},
 
@@ -131,6 +135,8 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"linewrap_quotation", "TRUE", &prefs_common.linewrap_quote, P_BOOL,
         NULL, NULL, NULL},
+       {"linewrap_pastes", "TRUE", &prefs_common.linewrap_pastes, P_BOOL,
+        NULL, NULL, NULL},
        {"linewrap_auto", "TRUE", &prefs_common.autowrap, P_BOOL,
         NULL, NULL, NULL},
        {"linewrap_before_sending", "FALSE", &prefs_common.linewrap_at_send, P_BOOL, 
@@ -211,9 +217,7 @@ static PrefParam param[] = {
         &prefs_common.textfont,                P_STRING, NULL, NULL, NULL},
        {"small_font_gtk2",     "Sans 9",
          &prefs_common.smallfont,              P_STRING, NULL, NULL, NULL},
-       {"bold_font_gtk2",      "Sans Bold 9",
-         &prefs_common.boldfont,               P_STRING, NULL, NULL, NULL},
-       {"normal_font_gtk2",    "Sans 9", 
+       {"normal_font_gtk2",    "Sans 9",
          &prefs_common.normalfont,             P_STRING, NULL, NULL, NULL},
 
        /* image viewer */
@@ -235,36 +239,27 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
 
        /* Display: Summary View */
-       {"enable_swap_from", "FALSE", &prefs_common.swap_from, P_BOOL,
-        NULL, NULL, NULL},
-       {"use_address_book", "TRUE", &prefs_common.use_addr_book, P_BOOL,
+       {"use_address_book", "FALSE", &prefs_common.use_addr_book, P_BOOL,
         NULL, NULL, NULL},
        {"thread_by_subject", "TRUE", &prefs_common.thread_by_subject, P_BOOL,
         NULL, NULL, NULL},
        {"date_format", "%y/%m/%d(%a) %H:%M", &prefs_common.date_format,
         P_STRING, NULL, NULL, NULL},
 
-       {"enable_rules_hint", "TRUE", &prefs_common.enable_rules_hint, P_BOOL,
-        NULL, NULL, NULL},
-       {"enable_hscrollbar", "TRUE", &prefs_common.enable_hscrollbar, P_BOOL,
-        NULL, NULL, NULL},
        {"bold_unread", "TRUE", &prefs_common.bold_unread, P_BOOL,
         NULL, NULL, NULL},
-       {"thread_by_subject_max_age", "10", &prefs_common.thread_by_subject_max_age,
-       P_INT, NULL, NULL, NULL },
 
        {"enable_thread", "TRUE", &prefs_common.enable_thread, P_BOOL,
         NULL, NULL, NULL},
        {"toolbar_style", "3", &prefs_common.toolbar_style, P_ENUM,
         NULL, NULL, NULL},
+       {"toolbar_detachable", "TRUE", &prefs_common.toolbar_detachable, P_BOOL,
+        NULL, NULL, NULL},
        {"show_statusbar", "TRUE", &prefs_common.show_statusbar, P_BOOL,
         NULL, NULL, NULL},
        {"show_searchbar", "TRUE", &prefs_common.show_searchbar, P_BOOL,
         NULL, NULL, NULL},
 
-       {"folderview_vscrollbar_policy", "0",
-        &prefs_common.folderview_vscrollbar_policy, P_ENUM,
-        NULL, NULL, NULL},
 
        {"summary_col_show_mark", "TRUE",
         &prefs_common.summary_col_visible[S_COL_MARK], P_BOOL, NULL, NULL, NULL},
@@ -276,6 +271,8 @@ static PrefParam param[] = {
         &prefs_common.summary_col_visible[S_COL_SUBJECT], P_BOOL, NULL, NULL, NULL},
        {"summary_col_show_from", "TRUE",
         &prefs_common.summary_col_visible[S_COL_FROM], P_BOOL, NULL, NULL, NULL},
+       {"summary_col_show_to", "FALSE",
+        &prefs_common.summary_col_visible[S_COL_TO], P_BOOL, NULL, NULL, NULL},
        {"summary_col_show_date", "TRUE",
         &prefs_common.summary_col_visible[S_COL_DATE], P_BOOL, NULL, NULL, NULL},
        {"summary_col_show_size", "TRUE",
@@ -307,6 +304,8 @@ static PrefParam param[] = {
         &prefs_common.summary_col_pos[S_COL_SCORE], P_INT, NULL, NULL, NULL},
        {"summary_col_pos_locked", "9",
         &prefs_common.summary_col_pos[S_COL_LOCKED], P_INT, NULL, NULL, NULL},
+       {"summary_col_pos_to", "10",
+         &prefs_common.summary_col_pos[S_COL_TO], P_INT, NULL, NULL, NULL},
 
        {"summary_col_size_mark", "10",
         &prefs_common.summary_col_size[S_COL_MARK], P_INT, NULL, NULL, NULL},
@@ -318,6 +317,8 @@ static PrefParam param[] = {
         &prefs_common.summary_col_size[S_COL_SUBJECT], P_INT, NULL, NULL, NULL},
        {"summary_col_size_from", "120",
         &prefs_common.summary_col_size[S_COL_FROM], P_INT, NULL, NULL, NULL},
+       {"summary_col_size_to", "120",
+        &prefs_common.summary_col_size[S_COL_TO], P_INT, NULL, NULL, NULL},
        {"summary_col_size_date", "118",
         &prefs_common.summary_col_size[S_COL_DATE], P_INT, NULL, NULL, NULL},
        {"summary_col_size_size", "45",
@@ -341,14 +342,32 @@ static PrefParam param[] = {
        {"folderview_visible", "TRUE", &prefs_common.folderview_visible, P_BOOL,
         NULL, NULL, NULL},
 
-       {"folder_col_folder", "150", &prefs_common.folder_col_folder, P_INT,
-        NULL, NULL, NULL},
-       {"folder_col_new", "32", &prefs_common.folder_col_new, P_INT,
-        NULL, NULL, NULL},
-       {"folder_col_unread", "32", &prefs_common.folder_col_unread, P_INT,
-        NULL, NULL, NULL},
-       {"folder_col_total", "32", &prefs_common.folder_col_total, P_INT,
-        NULL, NULL, NULL},
+       {"folder_col_show_folder", "TRUE",
+        &prefs_common.folder_col_visible[F_COL_FOLDER], P_BOOL, NULL, NULL, NULL},
+       {"folder_col_show_new", "TRUE",
+        &prefs_common.folder_col_visible[F_COL_NEW], P_BOOL, NULL, NULL, NULL},
+       {"folder_col_show_unread", "TRUE",
+        &prefs_common.folder_col_visible[F_COL_UNREAD], P_BOOL, NULL, NULL, NULL},
+       {"folder_col_show_total", "TRUE",
+        &prefs_common.folder_col_visible[F_COL_TOTAL], P_BOOL, NULL, NULL, NULL},
+
+       {"folder_col_pos_folder", "0",
+        &prefs_common.folder_col_pos[F_COL_FOLDER], P_INT, NULL, NULL, NULL},
+       {"folder_col_pos_new", "1",
+        &prefs_common.folder_col_pos[F_COL_NEW], P_INT, NULL, NULL, NULL},
+       {"folder_col_pos_unread", "2",
+        &prefs_common.folder_col_pos[F_COL_UNREAD], P_INT, NULL, NULL, NULL},
+       {"folder_col_pos_total", "3",
+        &prefs_common.folder_col_pos[F_COL_TOTAL], P_INT, NULL, NULL, NULL},
+
+       {"folder_col_size_folder", "150",
+        &prefs_common.folder_col_size[F_COL_FOLDER], P_INT, NULL, NULL, NULL},
+       {"folder_col_size_new", "32",
+        &prefs_common.folder_col_size[F_COL_NEW], P_INT, NULL, NULL, NULL},
+       {"folder_col_size_unread", "32",
+        &prefs_common.folder_col_size[F_COL_UNREAD], P_INT, NULL, NULL, NULL},
+       {"folder_col_size_total", "32",
+        &prefs_common.folder_col_size[F_COL_TOTAL], P_INT, NULL, NULL, NULL},
 
        {"summaryview_width", "600", &prefs_common.summaryview_width, P_INT,
         NULL, NULL, NULL},
@@ -425,9 +444,6 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"render_html", "TRUE", &prefs_common.render_html, P_BOOL,
         NULL, NULL, NULL},
-       {"textview_cursor_visible", "FALSE",
-        &prefs_common.textview_cursor_visible, P_BOOL,
-        NULL, NULL, NULL},
        {"line_space", "2", &prefs_common.line_space, P_INT,
         NULL, NULL, NULL},
 
@@ -448,9 +464,9 @@ static PrefParam param[] = {
         &prefs_common.attach_save_dir, P_STRING, NULL, NULL, NULL},
 
        /* MIME viewer */
-       {"mime_image_viewer", "display '%s'",
+       {"mime_image_viewer", DEFAULT_IMAGE_VIEWER_CMD,
         &prefs_common.mime_image_viewer, P_STRING, NULL, NULL, NULL},
-       {"mime_audio_player", "play '%s'",
+       {"mime_audio_player", DEFAULT_AUDIO_PLAYER_CMD,
         &prefs_common.mime_audio_player, P_STRING, NULL, NULL, NULL},
        {"mime_open_command", "gedit '%s'",
         &prefs_common.mime_open_cmd, P_STRING, NULL, NULL, NULL},
@@ -466,8 +482,8 @@ static PrefParam param[] = {
        {"always_show_message_when_selected", "FALSE",
         &prefs_common.always_show_msg,
         P_BOOL, NULL, NULL, NULL},
-       {"open_unread_on_enter", "FALSE", &prefs_common.open_unread_on_enter,
-        P_BOOL, NULL, NULL, NULL},
+       {"select_on_entry", NULL, &prefs_common.select_on_entry,
+        P_ENUM, NULL, NULL, NULL},
        {"mark_as_read_on_new_window", "FALSE",
         &prefs_common.mark_as_read_on_new_window,
         P_BOOL, NULL, NULL, NULL},
@@ -485,9 +501,9 @@ static PrefParam param[] = {
         &prefs_common.pixmap_theme_path, P_STRING,
         NULL, NULL, NULL},
 
-       {"hover_timeout", "500", &prefs_common.hover_timeout, P_INT,
+       {"ask_mark_all_read", "TRUE", &prefs_common.ask_mark_all_read, P_BOOL,
         NULL, NULL, NULL},
-       
+
        /* Other */
        {"uri_open_command", DEFAULT_BROWSER_CMD,
         &prefs_common.uri_cmd, P_STRING, NULL, NULL, NULL},
@@ -510,8 +526,6 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"summary_quicksearch_type", "0", &prefs_common.summary_quicksearch_type, P_INT,
         NULL, NULL, NULL},
-       {"summary_quicksearch_sticky", "1", &prefs_common.summary_quicksearch_sticky, P_INT,
-        NULL, NULL, NULL},
        {"summary_quicksearch_recurse", "1", &prefs_common.summary_quicksearch_recurse, P_INT,
         NULL, NULL, NULL},
 
@@ -526,11 +540,6 @@ static PrefParam param[] = {
        {"log_length", "500", &prefs_common.loglength, P_INT,
         NULL, NULL, NULL},
 
-       {"cache_max_mem_usage", "4096", &prefs_common.cache_max_mem_usage, P_INT,
-        NULL, NULL, NULL},
-       {"cache_min_keep_time", "15", &prefs_common.cache_min_keep_time, P_INT,
-        NULL, NULL, NULL},
-
        {"color_new", "179", &prefs_common.color_new, P_COLOR,
         NULL, NULL, NULL},
 
@@ -538,8 +547,37 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"filteringwin_height", "-1", &prefs_common.filteringwin_height, P_INT,
         NULL, NULL, NULL},
+
+       /* Hidden */
        {"warn_dnd", "1", &prefs_common.warn_dnd, P_INT,
         NULL, NULL, NULL},
+       {"utf8_instead_of_locale_for_broken_mail", "0", 
+        &prefs_common.broken_are_utf8, P_INT,
+        NULL, NULL, NULL},
+       {"enable_swap_from", "FALSE", &prefs_common.swap_from, P_BOOL,
+        NULL, NULL, NULL},
+       {"enable_rules_hint", "TRUE", &prefs_common.enable_rules_hint, P_BOOL,
+        NULL, NULL, NULL},
+       {"enable_hscrollbar", "TRUE", &prefs_common.enable_hscrollbar, P_BOOL,
+        NULL, NULL, NULL},
+       {"folderview_vscrollbar_policy", "0",
+        &prefs_common.folderview_vscrollbar_policy, P_ENUM,
+        NULL, NULL, NULL},
+       {"textview_cursor_visible", "FALSE",
+        &prefs_common.textview_cursor_visible, P_BOOL,
+        NULL, NULL, NULL},
+       {"hover_timeout", "500", &prefs_common.hover_timeout, P_INT,
+        NULL, NULL, NULL},
+       {"cache_max_mem_usage", "4096", &prefs_common.cache_max_mem_usage, P_INT,
+        NULL, NULL, NULL},
+       {"cache_min_keep_time", "15", &prefs_common.cache_min_keep_time, P_INT,
+        NULL, NULL, NULL},
+       {"thread_by_subject_max_age", "10", &prefs_common.thread_by_subject_max_age,
+       P_INT, NULL, NULL, NULL },
+       {"summary_quicksearch_sticky", "1", &prefs_common.summary_quicksearch_sticky, P_INT,
+        NULL, NULL, NULL},
+       {"statusbar_update_step", "10", &prefs_common.statusbar_update_step, P_INT,
+        NULL, NULL, NULL},
 
        {NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
 };
@@ -561,7 +599,7 @@ GList *prefs_common_read_history(const gchar *history)
 
        path = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, history,
                           NULL);
-       if ((fp = fopen(path, "rb")) == NULL) {
+       if ((fp = g_fopen(path, "rb")) == NULL) {
                if (ENOENT != errno) FILE_OP_ERROR(path, "fopen");
                g_free(path);
                return NULL;
@@ -604,7 +642,7 @@ void prefs_common_save_history(const gchar *history, GList *list)
 
        path = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, history,
                           NULL);
-       if ((fp = fopen(path, "wb")) == NULL) {
+       if ((fp = g_fopen(path, "wb")) == NULL) {
                FILE_OP_ERROR(path, "fopen");
                g_free(path);
                return;