diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-07-15 06:25:17 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-07-15 06:25:17 +0000 |
commit | ec370ab724dc9d6dc11550c29323d039dc8fe2e0 (patch) | |
tree | 2967942c1117df457797a63a8e2bc57c397fab0b | |
parent | efd58f003e08eb948ad552aa5e4868c6fb66f5ad (diff) |
select correct row after execution on summary when sorting is enabled.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@434 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.ja | 5 | ||||
-rw-r--r-- | src/summaryview.c | 12 |
3 files changed, 20 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2005-07-15 + + * src/summaryview.c: summary_modify_threads(): select correct row + when sorting is enabled. + 2005-07-14 * version 2.0.0beta6 diff --git a/ChangeLog.ja b/ChangeLog.ja index 2bb2bdca..a3dfb23a 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,8 @@ +2005-07-15 + + * src/summaryview.c: summary_modify_threads(): ソートが有効になって + いる場合に正しい行を選択するようにした。 + 2005-07-14 * version 2.0.0beta6 diff --git a/src/summaryview.c b/src/summaryview.c index 23c6e0ad..e0661ea3 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -3556,8 +3556,9 @@ static void summary_modify_node(SummaryView *summaryview, GtkTreeIter *iter, static void summary_modify_threads(SummaryView *summaryview) { GtkTreeModel *model = GTK_TREE_MODEL(summaryview->store); - GtkTreeIter iter, next, selected; + GtkTreeIter iter, next, selected, new_selected; GtkTreeIter *selected_p = NULL; + GtkTreePath *prev_path = NULL; gboolean valid, has_selection; summary_lock(summaryview); @@ -3570,6 +3571,8 @@ static void summary_modify_threads(SummaryView *summaryview) has_selection = gtkut_tree_row_reference_get_iter (model, summaryview->selected, &selected); if (has_selection) { + prev_path = gtk_tree_row_reference_get_path + (summaryview->selected); if (summary_find_nearest_msg(summaryview, &next, &selected)) { selected = next; selected_p = &selected; @@ -3593,8 +3596,13 @@ static void summary_modify_threads(SummaryView *summaryview) summary_selection_list_free(summaryview); if (has_selection && - !gtk_tree_row_reference_valid(summaryview->selected)) + !gtk_tree_row_reference_valid(summaryview->selected)) { + if (prev_path && + gtk_tree_model_get_iter(model, &new_selected, prev_path)) + selected = new_selected; summary_select_row(summaryview, &selected, FALSE, FALSE); + } + gtk_tree_path_free(prev_path); debug_print("done.\n"); |