diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-05-20 08:08:40 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-05-20 08:08:40 +0000 |
commit | 712d73a94ee8c8fd79141c1019d082a056a6bb29 (patch) | |
tree | 3d91a411904cc112d62c319e884cd8e9e70f3838 /src | |
parent | 68828e3070d088dc7cf30cfa9ffc8b3ffb5f7bfd (diff) |
fixed the selection state of summary on refresh.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@274 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r-- | src/summaryview.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/summaryview.c b/src/summaryview.c index 58493898..91fc8e32 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -537,6 +537,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean update_cache) { GtkTreeView *treeview = GTK_TREE_VIEW(summaryview->treeview); + GtkTreeModel *model = GTK_TREE_MODEL(summaryview->store); GtkTreeIter iter; GSList *mlist = NULL; gchar *buf; @@ -647,11 +648,19 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, if (is_refresh) { if (summary_find_msg_by_msgnum(summaryview, displayed_msgnum, - &iter)) - summary_select_row(summaryview, &iter, FALSE, TRUE); - else + &iter)) { + GtkTreePath *path; + + path = gtk_tree_model_get_path(model, &iter); + gtk_tree_row_reference_free(summaryview->displayed); + summaryview->displayed = + gtk_tree_row_reference_new(model, path); + gtk_tree_path_free(path); + } else messageview_clear(summaryview->messageview); + summary_select_by_msgnum(summaryview, selected_msgnum); + if (!summaryview->selected) { /* no selected message - select first unread message, but do not display it */ |