talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 92c1a195b5543b33d39cd46a0de539e10ee27e57
parent b2651d9e36557197e9af66f761db72d3475ac9f4
Author: Paul <paul@claws-mail.org>
Date:   Mon,  4 Jul 2016 11:02:58 +0100

make 'next_on_delete' hidden pref apply after trashing or moving a msg in addition to deleting a msg

fixes bug #3600.
document this hidden pref also

Diffstat:
Mmanual/advanced.xml | 11++++++++++-
Msrc/summaryview.c | 8++++----
2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/manual/advanced.xml b/manual/advanced.xml @@ -752,7 +752,16 @@ View as is used in the Message List. Default is '0', turned off. </para> </listitem> - </varlistentry> + </varlistentry> + <varlistentry> + <term><literal>next_on_delete</literal></term> + <listitem> + <para> + '0' or '1'. Controls the message selection after deleting, moving, or + trashing a message. Default is '0', select previous message. + </para> + </listitem> + </varlistentry> <varlistentry> <term><literal>outgoing_fallback_to_ascii</literal></term> <listitem> diff --git a/src/summaryview.c b/src/summaryview.c @@ -4594,11 +4594,11 @@ void summary_move_selected_to(SummaryView *summaryview, FolderItem *to_folder) GtkCMCTreeNode *node = NULL; if (summaryview->sort_type == SORT_ASCENDING) { node = summary_find_next_msg(summaryview, sel_last); - if (!node) + if (!node || prefs_common.next_on_delete == FALSE) node = summary_find_prev_msg(summaryview, sel_last); } else { node = summary_find_prev_msg(summaryview, sel_last); - if (!node) + if (!node || prefs_common.next_on_delete == FALSE) node = summary_find_next_msg(summaryview, sel_last); } summary_select_node(summaryview, node, summaryview->display_msg, TRUE); @@ -4964,11 +4964,11 @@ gboolean summary_execute(SummaryView *summaryview) summary_unselect_all(summaryview); if (summaryview->sort_type == SORT_ASCENDING) { new_selected = summary_find_next_msg(summaryview, node); - if (!new_selected) + if (!new_selected || prefs_common.next_on_delete == FALSE) new_selected = summary_find_prev_msg(summaryview, node); } else { new_selected = summary_find_prev_msg(summaryview, node); - if (!new_selected) + if (!new_selected || prefs_common.next_on_delete == FALSE) new_selected = summary_find_next_msg(summaryview, node); } }