[Commits] [SCM] claws branch, master, updated. 3.17.0-156-g411656d

claws at claws-mail.org claws at claws-mail.org
Fri Nov 9 12:09:11 CET 2018


The branch, master has been updated
       via  411656df3122636a5ba0abc3952d678ace69de5a (commit)
      from  6eba2085ac98ff8e39eefbd046314954be2673cd (commit)

Summary of changes:
 src/folder.c          |    7 +-
 src/prefs_common.c    |   14 +++-
 src/prefs_common.h    |    7 +-
 src/prefs_other.c     |   12 +++
 src/prefs_summaries.c |  219 ++++++++++++++++++++++++++++++-------------------
 5 files changed, 167 insertions(+), 92 deletions(-)


- Log -----------------------------------------------------------------
commit 411656df3122636a5ba0abc3952d678ace69de5a
Author: Paul <paul at claws-mail.org>
Date:   Fri Nov 9 11:09:06 2018 +0000

    rework Display/Summaries
    
    spilt the page into 3 notebook pages.
    rearrange some options.
    add some options for new folder defaults

diff --git a/src/folder.c b/src/folder.c
index abe8072..ea240d3 100644
--- a/src/folder.c
+++ b/src/folder.c
@@ -379,8 +379,11 @@ FolderItem *folder_item_new(Folder *folder, const gchar *name, const gchar *path
 	item->no_sub = FALSE;
 	item->no_select = FALSE;
 	item->collapsed = FALSE;
-	item->thread_collapsed = FALSE;
-	item->threaded  = TRUE;
+	item->thread_collapsed = prefs_common.folder_default_thread_collapsed;
+	item->threaded  = prefs_common.folder_default_thread;
+	item->hide_read_threads = prefs_common.folder_default_hide_read_threads;
+	item->hide_read_msgs = prefs_common.folder_default_hide_read_msgs;
+	item->hide_del_msgs = prefs_common.folder_default_hide_del_msgs;
 	item->ret_rcpt  = FALSE;
 	item->opened    = FALSE;
 	item->node = g_node_new(item);
diff --git a/src/prefs_common.c b/src/prefs_common.c
index bdca614..a305c72 100644
--- a/src/prefs_common.c
+++ b/src/prefs_common.c
@@ -459,8 +459,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},
@@ -618,6 +616,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,
diff --git a/src/prefs_common.h b/src/prefs_common.h
index d53db9a..f2ad141 100644
--- a/src/prefs_common.h
+++ b/src/prefs_common.h
@@ -252,7 +252,6 @@ struct _PrefsCommon
 	gint ng_abbrev_len;
 
 	gboolean show_searchbar;
-	gboolean expand_thread;
 	gboolean swap_from;
 	gboolean use_addr_book;
 	gchar *date_format;
@@ -264,12 +263,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;
diff --git a/src/prefs_other.c b/src/prefs_other.c
index 56ef885..9bd90e2 100644
--- a/src/prefs_other.c
+++ b/src/prefs_other.c
@@ -65,6 +65,7 @@ typedef struct _OtherPage
 	GtkWidget *checkbtn_real_time_sync;
 	GtkWidget *flush_metadata_faster_radiobtn;
 	GtkWidget *flush_metadata_safer_radiobtn;
+	GtkWidget *checkbtn_transhdr;
 #ifndef PASSWORD_CRYPTO_OLD
 	GtkWidget *checkbtn_use_passphrase;
 #endif
@@ -461,6 +462,7 @@ static void prefs_other_create_widget(PrefsPage *_page, GtkWindow *window,
 	GtkAdjustment *spinbtn_iotimeout_adj;
 
 	GtkWidget *vbox2;
+	GtkWidget *checkbtn_transhdr;
 	GtkWidget *checkbtn_askonclean;
 	GtkWidget *checkbtn_askonfilter;
 	GtkWidget *checkbtn_use_shred;
@@ -575,6 +577,11 @@ static void prefs_other_create_widget(PrefsPage *_page, GtkWindow *window,
 	gtk_widget_show (vbox2);
 	gtk_box_pack_start (GTK_BOX (vbox1), vbox2, FALSE, FALSE, 0);
 
+	PACK_CHECK_BUTTON(vbox2, checkbtn_transhdr,
+			   _("Translate header names"));
+	CLAWS_SET_TIP(checkbtn_transhdr,
+			     _("The display of standard headers (such as 'From:', 'Subject:') "
+			     "will be translated into your language."));
 	PACK_CHECK_BUTTON (vbox2, checkbtn_askonclean, 
 			   _("Ask before emptying trash"));
 	PACK_CHECK_BUTTON (vbox2, checkbtn_askonfilter,
@@ -639,6 +646,8 @@ static void prefs_other_create_widget(PrefsPage *_page, GtkWindow *window,
 	gtk_spin_button_set_value(GTK_SPIN_BUTTON(spinbtn_iotimeout),
 		prefs_common.io_timeout_secs);
 
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_transhdr),
+		prefs_common.trans_hdr);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_askonfilter), 
 		prefs_common.ask_apply_per_account_filtering_rules);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_use_shred), 
@@ -659,6 +668,7 @@ static void prefs_other_create_widget(PrefsPage *_page, GtkWindow *window,
 	prefs_other->checkbtn_askonclean = checkbtn_askonclean;
 	prefs_other->checkbtn_warnqueued = checkbtn_warnqueued;
 	prefs_other->spinbtn_iotimeout = spinbtn_iotimeout;
+	prefs_other->checkbtn_transhdr = checkbtn_transhdr;
 	prefs_other->checkbtn_gtk_can_change_accels = checkbtn_gtk_can_change_accels;
 	prefs_other->checkbtn_askonfilter = checkbtn_askonfilter;
 	prefs_other->checkbtn_use_shred = checkbtn_use_shred;
@@ -694,6 +704,8 @@ static void prefs_other_save(PrefsPage *_page)
 #ifdef HAVE_LIBETPAN
 	imap_main_set_timeout(prefs_common.io_timeout_secs);
 #endif
+	prefs_common.trans_hdr = gtk_toggle_button_get_active(
+			GTK_TOGGLE_BUTTON(page->checkbtn_transhdr));
 	prefs_common.ask_apply_per_account_filtering_rules = 
 		gtk_toggle_button_get_active(
 			GTK_TOGGLE_BUTTON(page->checkbtn_askonfilter)); 
diff --git a/src/prefs_summaries.c b/src/prefs_summaries.c
index 6509077..8aabaaa 100644
--- a/src/prefs_summaries.c
+++ b/src/prefs_summaries.c
@@ -1,6 +1,6 @@
 /*
  * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2005-2015 Colin Leroy and The Claws Mail Team
+ * Copyright (C) 2005-2018 Colin Leroy and The Claws Mail Team
  *
  * 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
@@ -54,7 +54,6 @@ typedef struct _SummariesPage
 
 	GtkWidget *window;
 
-	GtkWidget *checkbtn_transhdr;
 	GtkWidget *optmenu_folder_unread;
 	GtkWidget *spinbtn_ng_abbrev_len;
 	GtkWidget *checkbtn_useaddrbook;
@@ -78,6 +77,11 @@ typedef struct _SummariesPage
   	GtkWidget *optmenu_sort_key;
   	GtkWidget *optmenu_sort_type;
 	GtkWidget *optmenu_nextunreadmsgdialog;
+	GtkWidget *checkbtn_folder_default_thread;
+	GtkWidget *checkbtn_folder_default_thread_collapsed;
+	GtkWidget *checkbtn_folder_default_hide_read_threads;
+	GtkWidget *checkbtn_folder_default_hide_read_msgs;
+	GtkWidget *checkbtn_folder_default_hide_del_msgs;
 
 } SummariesPage;
 
@@ -319,9 +323,10 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 {
 	SummariesPage *prefs_summaries = (SummariesPage *) _page;
 	
-	GtkWidget *checkbtn_transhdr;
+	GtkWidget *notebook;
 	GtkWidget *hbox0, *hbox1, *hbox2;
 	GtkWidget *vbox1, *vbox2, *vbox3, *vbox4;
+	GtkWidget *frame_new_folders;
 	GtkWidget *optmenu_folder_unread;
 	GtkWidget *label_ng_abbrev;
 	GtkWidget *spinbtn_ng_abbrev_len;
@@ -350,23 +355,29 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 	GtkListStore *menu;
 	GtkTreeIter iter;
  	GtkWidget *optmenu_nextunreadmsgdialog;
-	GtkWidget *folderview_frame;
-	GtkWidget *summaryview_frame;
 	GtkWidget *button_edit_actions;
 	GtkWidget *radio_mark_as_read_on_select;
 	GtkWidget *radio_mark_as_read_on_new_win;
 	GtkWidget *optmenu_sort_key;
 	GtkWidget *optmenu_sort_type;
+	GtkWidget *checkbtn_folder_default_thread;
+	GtkWidget *checkbtn_folder_default_thread_collapsed;
+	GtkWidget *checkbtn_folder_default_hide_read_threads;
+	GtkWidget *checkbtn_folder_default_hide_read_msgs;
+	GtkWidget *checkbtn_folder_default_hide_del_msgs;
+
+	notebook = gtk_notebook_new();
+	gtk_widget_show(notebook);
 
 	vbox1 = gtk_vbox_new (FALSE, VSPACING);
 	gtk_widget_show (vbox1);
 	gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
+	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox1,
+				 gtk_label_new(_("Folder list")));
 	
-	vbox2 = gtkut_get_options_frame(vbox1, &folderview_frame, _("Folder list"));
-
 	hbox0 = gtk_hbox_new (FALSE, 8);
 	gtk_widget_show (hbox0);
-	gtk_box_pack_start(GTK_BOX (vbox2), hbox0, FALSE, FALSE, 0);
+	gtk_box_pack_start(GTK_BOX (vbox1), hbox0, FALSE, FALSE, 0);
 
 	label = gtk_label_new (_("Display message count next to folder name"));
 	gtk_widget_show (label);
@@ -385,10 +396,10 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 
 	hbox1 = gtk_hbox_new (FALSE, 8);
 	gtk_widget_show (hbox1);
-	gtk_box_pack_start(GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0);
+	gtk_box_pack_start(GTK_BOX (vbox1), hbox1, FALSE, FALSE, 0);
 
 	PACK_CHECK_BUTTON
-		(vbox2, checkbtn_reopen_last_folder,
+		(vbox1, checkbtn_reopen_last_folder,
 		 _("Open last opened folder at start-up"));
 
 	label_ng_abbrev = gtk_label_new
@@ -411,7 +422,7 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 
 	hbox_dispitem = gtk_hbox_new (FALSE, 8);
 	gtk_widget_show (hbox_dispitem);
-	gtk_box_pack_start(GTK_BOX(vbox2), hbox_dispitem, FALSE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX(vbox1), hbox_dispitem, FALSE, TRUE, 0);
 
 	label = gtk_label_new(_("Displayed columns"));
 	gtk_widget_show(label);
@@ -423,63 +434,16 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 			  G_CALLBACK (prefs_folder_column_open),
 			  NULL);
 
-	vbox2 = gtkut_get_options_frame(vbox1, &summaryview_frame, _("Message list"));
-
-	hbox1 = gtk_hbox_new(FALSE, 10);
-	gtk_widget_show(hbox1);
-	gtk_box_pack_start(GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0);
-
-	label = gtk_label_new(_("Sort new folders by"));
-	gtk_widget_show(label);
-	gtk_box_pack_start(GTK_BOX(hbox1), label, FALSE, FALSE, 0);
-
-	optmenu_sort_key = gtkut_sc_combobox_create(NULL, FALSE);
-	menu = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(optmenu_sort_key)));
-	gtk_widget_show(optmenu_sort_key);
-
-	COMBOBOX_ADD(menu, _("Number"), SORT_BY_NUMBER);
-	COMBOBOX_ADD(menu, _("Size"), SORT_BY_SIZE);
-	COMBOBOX_ADD(menu, _("Date"), SORT_BY_DATE);
-	COMBOBOX_ADD(menu, _("Thread date"), SORT_BY_THREAD_DATE);
-	COMBOBOX_ADD(menu, _("From"), SORT_BY_FROM);
-	COMBOBOX_ADD(menu, _("To"), SORT_BY_TO);
-	COMBOBOX_ADD(menu, _("Subject"), SORT_BY_SUBJECT);
-	COMBOBOX_ADD(menu, _("Color label"), SORT_BY_LABEL);
-	COMBOBOX_ADD(menu, _("Tag"), SORT_BY_TAGS);
-	COMBOBOX_ADD(menu, _("Mark"), SORT_BY_MARK);
-	COMBOBOX_ADD(menu, _("Status"), SORT_BY_STATUS);
-	COMBOBOX_ADD(menu, _("Attachment"), SORT_BY_MIME);
-	COMBOBOX_ADD(menu, _("Score"), SORT_BY_SCORE);
-	COMBOBOX_ADD(menu, _("Locked"), SORT_BY_LOCKED);
-	COMBOBOX_ADD(menu, _("Don't sort"), SORT_BY_NONE);
-
-	gtk_box_pack_start(GTK_BOX(hbox1), optmenu_sort_key, FALSE, FALSE, 0);
-
-	optmenu_sort_type = gtkut_sc_combobox_create(NULL, FALSE);
-	menu = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(optmenu_sort_type)));
-	gtk_widget_show(optmenu_sort_type);
-
-	COMBOBOX_ADD(menu, _("Ascending"), SORT_ASCENDING);
-	COMBOBOX_ADD(menu, _("Descending"), SORT_DESCENDING);
-
-	gtk_box_pack_start(GTK_BOX(hbox1), optmenu_sort_type, FALSE, FALSE, 0);
-
-	hbox1 = gtk_hbox_new (FALSE, 10);
-	gtk_widget_show (hbox1);
-	gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, TRUE, 0);
-
-	button_edit_actions = gtk_button_new_with_label(_("Set default selection when entering a folder"));
-	gtk_widget_show (button_edit_actions);
-	gtk_box_pack_start (GTK_BOX (hbox1), button_edit_actions,
-			  FALSE, TRUE, 0);
-	g_signal_connect (G_OBJECT (button_edit_actions), "clicked",
-			  G_CALLBACK (prefs_summary_open_open),
-			  NULL);
+	vbox1 = gtk_vbox_new (FALSE, VSPACING);
+	gtk_widget_show (vbox1);
+	gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
+	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox1,
+				 gtk_label_new(_("Message list")));
 
 	/* Next Unread Message Dialog */
 	hbox1 = gtk_hbox_new (FALSE, 10);
 	gtk_widget_show (hbox1);
-	gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0);	
+	gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, FALSE, 0);	
 
 	label = gtk_label_new (_("Show \"no unread (or new) message\" dialog"));
 	gtk_widget_show (label);
@@ -497,7 +461,7 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 	gtk_box_pack_start(GTK_BOX(hbox1), optmenu_nextunreadmsgdialog, FALSE, FALSE, 0);
 
 	/* Open message on select policy */
-	vbox4 = gtkut_get_options_frame(vbox2, NULL, _("Open message when selected"));
+	vbox4 = gtkut_get_options_frame(vbox1, NULL, _("Open message when selected"));
 
 	PACK_CHECK_BUTTON(vbox4, checkbtn_always_show_msg,
 			_("Always"));
@@ -513,17 +477,17 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 			_("When using directional keys"));
 
 	PACK_CHECK_BUTTON
-		(vbox2, checkbtn_threadsubj,
+		(vbox1, checkbtn_threadsubj,
 		 _("Thread using subject in addition to standard headers"));
 
 	PACK_CHECK_BUTTON
-		(vbox2, checkbtn_immedexec,
+		(vbox1, checkbtn_immedexec,
 		 _("Execute immediately when moving or deleting messages"));
 	CLAWS_SET_TIP(checkbtn_immedexec,
 			     _("Defers moving, copying and deleting of messages"
 		   	       " until you choose 'Tools/Execute'"));
 
-	vbox3 = gtkut_get_options_frame(vbox2, NULL, _("Mark message as read"));
+	vbox3 = gtkut_get_options_frame(vbox1, NULL, _("Mark message as read"));
 
 	radio_mark_as_read_on_select = gtk_radio_button_new_with_label(NULL,
 			_("when selected, after"));
@@ -549,18 +513,18 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 	gtk_box_pack_start (GTK_BOX (vbox3), radio_mark_as_read_on_new_win,
 			FALSE, FALSE, 0);
 	gtk_widget_show_all(vbox3);
-                                                                                             
+
 	PACK_CHECK_BUTTON
-		(vbox2, checkbtn_useaddrbook,
+		(vbox1, checkbtn_useaddrbook,
 		 _("Display sender using address book"));
 		 
 	PACK_CHECK_BUTTON
-		(vbox2, checkbtn_show_tooltips,
+		(vbox1, checkbtn_show_tooltips,
 		 _("Show tooltips"));
 
 	hbox2 = gtk_hbox_new (FALSE, 8);
 	gtk_widget_show (hbox2);
-	gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, TRUE, 0);
+	gtk_box_pack_start (GTK_BOX (vbox1), hbox2, FALSE, TRUE, 0);
 
 	label_datefmt = gtk_label_new (_("Date format"));
 	gtk_widget_show (label_datefmt);
@@ -585,7 +549,7 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 			     
 	hbox_dispitem = gtk_hbox_new (FALSE, 8);
 	gtk_widget_show (hbox_dispitem);
-	gtk_box_pack_start(GTK_BOX(vbox2), hbox_dispitem, FALSE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX(vbox1), hbox_dispitem, FALSE, TRUE, 0);
 	
 	label = gtk_label_new(_("Displayed columns"));
 	gtk_widget_show(label);
@@ -603,18 +567,86 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 	PACK_CHECK_BUTTON
 		(vbox1, checkbtn_ask_override_colorlabel,
 		 _("Confirm when changing color labels"));
-	PACK_CHECK_BUTTON
-		(vbox1, checkbtn_transhdr,
-		 _("Translate header names"));
-	CLAWS_SET_TIP(checkbtn_transhdr,
-			     _("The display of standard headers (such as 'From:', 'Subject:') "
-			     "will be translated into your language."));
 	
 	hbox2 = gtk_hbox_new (FALSE, 8);
 	gtk_widget_show (hbox2);
 	gtk_box_pack_start (GTK_BOX (vbox1), hbox2, FALSE, FALSE, 0);
 
-	prefs_summaries->checkbtn_transhdr = checkbtn_transhdr;
+	vbox1 = gtk_vbox_new (FALSE, VSPACING);
+	gtk_widget_show (vbox1);
+	gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
+	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox1,
+				 gtk_label_new(_("Defaults")));
+
+	hbox1 = gtk_hbox_new (FALSE, 10);
+	gtk_widget_show (hbox1);
+	gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, TRUE, 0);
+
+	button_edit_actions = gtk_button_new_with_label(_("Set selection when entering a folder"));
+	gtk_widget_show (button_edit_actions);
+	gtk_box_pack_start (GTK_BOX (hbox1), button_edit_actions,
+			  FALSE, TRUE, 0);
+	g_signal_connect (G_OBJECT (button_edit_actions), "clicked",
+			  G_CALLBACK (prefs_summary_open_open),
+			  NULL);
+
+	vbox2 = gtkut_get_options_frame(vbox1, &frame_new_folders, _("New folders"));
+
+	hbox1 = gtk_hbox_new(FALSE, 10);
+	gtk_widget_show(hbox1);
+	gtk_box_pack_start(GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0);
+
+	label = gtk_label_new(_("Sort by"));
+	gtk_widget_show(label);
+	gtk_box_pack_start(GTK_BOX(hbox1), label, FALSE, FALSE, 0);
+
+	optmenu_sort_key = gtkut_sc_combobox_create(NULL, FALSE);
+	menu = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(optmenu_sort_key)));
+	gtk_widget_show(optmenu_sort_key);
+
+	COMBOBOX_ADD(menu, _("Number"), SORT_BY_NUMBER);
+	COMBOBOX_ADD(menu, _("Size"), SORT_BY_SIZE);
+	COMBOBOX_ADD(menu, _("Date"), SORT_BY_DATE);
+	COMBOBOX_ADD(menu, _("Thread date"), SORT_BY_THREAD_DATE);
+	COMBOBOX_ADD(menu, _("From"), SORT_BY_FROM);
+	COMBOBOX_ADD(menu, _("To"), SORT_BY_TO);
+	COMBOBOX_ADD(menu, _("Subject"), SORT_BY_SUBJECT);
+	COMBOBOX_ADD(menu, _("Color label"), SORT_BY_LABEL);
+	COMBOBOX_ADD(menu, _("Tag"), SORT_BY_TAGS);
+	COMBOBOX_ADD(menu, _("Mark"), SORT_BY_MARK);
+	COMBOBOX_ADD(menu, _("Status"), SORT_BY_STATUS);
+	COMBOBOX_ADD(menu, _("Attachment"), SORT_BY_MIME);
+	COMBOBOX_ADD(menu, _("Score"), SORT_BY_SCORE);
+	COMBOBOX_ADD(menu, _("Locked"), SORT_BY_LOCKED);
+	COMBOBOX_ADD(menu, _("Don't sort"), SORT_BY_NONE);
+
+	gtk_box_pack_start(GTK_BOX(hbox1), optmenu_sort_key, FALSE, FALSE, 0);
+
+	optmenu_sort_type = gtkut_sc_combobox_create(NULL, FALSE);
+	menu = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(optmenu_sort_type)));
+	gtk_widget_show(optmenu_sort_type);
+
+	COMBOBOX_ADD(menu, _("Ascending"), SORT_ASCENDING);
+	COMBOBOX_ADD(menu, _("Descending"), SORT_DESCENDING);
+
+	gtk_box_pack_start(GTK_BOX(hbox1), optmenu_sort_type, FALSE, FALSE, 0);
+
+	PACK_CHECK_BUTTON
+		(vbox2, checkbtn_folder_default_thread,
+		 _("Enable threads"));
+	PACK_CHECK_BUTTON
+		(vbox2, checkbtn_folder_default_thread_collapsed,
+		 _("Collapse threads"));
+	PACK_CHECK_BUTTON
+		(vbox2, checkbtn_folder_default_hide_read_threads,
+		 _("Hide read threads"));
+	PACK_CHECK_BUTTON
+		(vbox2, checkbtn_folder_default_hide_read_msgs,
+		 _("Hide read messages"));
+	PACK_CHECK_BUTTON
+		(vbox2, checkbtn_folder_default_hide_del_msgs,
+		 _("Hide deleted messages"));
+
 	prefs_summaries->optmenu_folder_unread = optmenu_folder_unread;
 	prefs_summaries->spinbtn_ng_abbrev_len = spinbtn_ng_abbrev_len;
 	prefs_summaries->checkbtn_useaddrbook = checkbtn_useaddrbook;
@@ -639,6 +671,12 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 	prefs_summaries->optmenu_sort_type = optmenu_sort_type;
 	prefs_summaries->optmenu_nextunreadmsgdialog = optmenu_nextunreadmsgdialog;
 
+	prefs_summaries->checkbtn_folder_default_thread = checkbtn_folder_default_thread;
+	prefs_summaries->checkbtn_folder_default_thread_collapsed = checkbtn_folder_default_thread_collapsed;
+	prefs_summaries->checkbtn_folder_default_hide_read_threads = checkbtn_folder_default_hide_read_threads;
+	prefs_summaries->checkbtn_folder_default_hide_read_msgs = checkbtn_folder_default_hide_read_msgs;
+	prefs_summaries->checkbtn_folder_default_hide_del_msgs = checkbtn_folder_default_hide_del_msgs;
+
 	prefs_summaries->page.widget = vbox1;
 	g_signal_connect(G_OBJECT(checkbtn_always_show_msg), "toggled",
 			G_CALLBACK(always_show_msg_toggled), prefs_summaries);
@@ -649,8 +687,6 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 
 	prefs_summaries->window			= GTK_WIDGET(window);
 	
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_transhdr),
-			prefs_common.trans_hdr);
 	combobox_select_by_data(GTK_COMBO_BOX(optmenu_folder_unread),
 			prefs_common.display_folder_unread);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_useaddrbook),
@@ -697,16 +733,27 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
 
 	combobox_select_by_data(GTK_COMBO_BOX(optmenu_nextunreadmsgdialog),
 			prefs_common.next_unread_msg_dialog);
+
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_folder_default_thread),
+			prefs_common.folder_default_thread);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_folder_default_thread_collapsed),
+			prefs_common.folder_default_thread_collapsed);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_folder_default_hide_read_threads),
+			prefs_common.folder_default_hide_read_threads);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_folder_default_hide_read_msgs),
+			prefs_common.folder_default_hide_read_msgs);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_folder_default_hide_del_msgs),
+			prefs_common.folder_default_hide_del_msgs);
+
+	gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 0);
+		
+	prefs_summaries->page.widget = notebook;
 }
 
 static void prefs_summaries_save(PrefsPage *_page)
 {
 	SummariesPage *page = (SummariesPage *) _page;
 
-	prefs_common.trans_hdr = gtk_toggle_button_get_active(
-			GTK_TOGGLE_BUTTON(page->checkbtn_transhdr));
-
-
 	prefs_common.display_folder_unread = combobox_get_active_data(
 			GTK_COMBO_BOX(page->optmenu_folder_unread));
 

-----------------------------------------------------------------------


hooks/post-receive
-- 
Claws Mail


More information about the Commits mailing list