From 53c9b26d16f9e5da01b920e3cdb16c39c981e47e Mon Sep 17 00:00:00 2001 From: hiro Date: Thu, 20 Dec 2007 09:30:43 +0000 Subject: fixed beep on folders with one message when using GTK+ 2.12. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1929 ee746299-78ed-0310-b773-934348b2243d --- src/summaryview.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'src/summaryview.c') diff --git a/src/summaryview.c b/src/summaryview.c index 967d250e..abf71a57 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -945,7 +945,10 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, (summaryview, &iter, NULL, MSG_UNREAD, FALSE)) { summary_select_row(summaryview, &iter, FALSE, TRUE); - } else if (item->total > 0) { + } else if ((summaryview->on_filter && + summaryview->flt_msg_total > 1) || + (!summaryview->on_filter && + item->total > 1)) { g_signal_emit_by_name (treeview, "move-cursor", GTK_MOVEMENT_BUFFER_ENDS, @@ -953,6 +956,11 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, -1 : 1, &moved); GTK_EVENTS_FLUSH(); summary_scroll_to_selected(summaryview, TRUE); + } else if (gtk_tree_model_get_iter_first + (GTK_TREE_MODEL(summaryview->store), + &iter)) { + summary_select_row(summaryview, &iter, + FALSE, TRUE); } } selection_done = TRUE; @@ -980,11 +988,20 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, FALSE, TRUE); } else { summary_unlock(summaryview); - g_signal_emit_by_name - (treeview, "move-cursor", - GTK_MOVEMENT_BUFFER_ENDS, - item->sort_type == SORT_DESCENDING ? - -1 : 1, &moved); + if ((summaryview->on_filter && + summaryview->flt_msg_total > 1) || + (!summaryview->on_filter && item->total > 1)) { + g_signal_emit_by_name + (treeview, "move-cursor", + GTK_MOVEMENT_BUFFER_ENDS, + item->sort_type == SORT_DESCENDING ? + -1 : 1, &moved); + } else if (gtk_tree_model_get_iter_first + (GTK_TREE_MODEL(summaryview->store), + &iter)) { + summary_select_row(summaryview, &iter, + FALSE, TRUE); + } summary_lock(summaryview); GTK_EVENTS_FLUSH(); summary_scroll_to_selected(summaryview, TRUE); -- cgit v1.2.3