guint displayed_msgnum = 0;
GSList *cur;
GSList *not_killed;
- gboolean quicksearch_changed = FALSE;
if (summary_is_locked(summaryview)) return FALSE;
quicksearch_set(summaryview->quicksearch, prefs_common.summary_quicksearch_type, "");
}
- if (quicksearch_is_running(summaryview->quicksearch))
- quicksearch_changed = TRUE;
-
/* STATUSBAR_POP(summaryview->mainwin); */
is_refresh = (item == summaryview->folder_item) ? TRUE : FALSE;
gtk_clist_thaw(GTK_CLIST(ctree));
summary_unlock(summaryview);
inc_unlock();
+ if (item && quicksearch_is_running(summaryview->quicksearch)) {
+ main_window_cursor_wait(summaryview->mainwin);
+ quicksearch_reset_cur_folder_item(summaryview->quicksearch);
+ if (quicksearch_is_active(summaryview->quicksearch))
+ quicksearch_search_subfolders(summaryview->quicksearch,
+ summaryview->folderview,
+ summaryview->folder_item);
+ main_window_cursor_normal(summaryview->mainwin);
+ }
return TRUE;
}
g_free(buf);
procmsg_msginfo_free(msginfo);
}
- if (quicksearch_changed) {
+ if (quicksearch_is_running(summaryview->quicksearch)) {
/* only scan subfolders when quicksearch changed,
* not when search is the same and folder changed */
main_window_cursor_wait(summaryview->mainwin);
GList *cur;
folder_item_update_freeze();
+ gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next)
summary_mark_row_as_read(summaryview,
GTK_CTREE_NODE(cur->data));
folder_item_update_thaw();
-
+ gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
+
summary_status_show(summaryview);
}
GList *cur;
folder_item_update_freeze();
+ gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next)
summary_lock_row(summaryview,
GTK_CTREE_NODE(cur->data));
folder_item_update_thaw();
+ gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
summary_status_show(summaryview);
}
GList *cur;
folder_item_update_freeze();
+ gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next)
summary_unlock_row(summaryview,
GTK_CTREE_NODE(cur->data));
folder_item_update_thaw();
+ gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
summary_status_show(summaryview);
}
GList *cur;
folder_item_update_freeze();
+ gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next)
summary_mark_row_as_unread(summaryview,
GTK_CTREE_NODE(cur->data));
folder_item_update_thaw();
+ gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
summary_status_show(summaryview);
}
/* next code sets current row focus right. We need to find a row
* that is not deleted. */
- folder_item_update_freeze();
+ folder_item_update_freeze();
+ gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next) {
sel_last = GTK_CTREE_NODE(cur->data);
summary_delete_row(summaryview, sel_last);
}
folder_item_update_thaw();
+ gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
node = summary_find_next_msg(summaryview, sel_last);
if (!node)
summary_unthread_for_exec(summaryview);
folder_item_update_freeze();
+ gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
summary_execute_move(summaryview);
summary_execute_copy(summaryview);
summary_execute_delete(summaryview);
folder_item_update_thaw();
-
+ gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
+
node = GTK_CTREE_NODE(clist->row_list);
for (; node != NULL; node = next) {
next = gtkut_ctree_node_next(ctree, node);
main_window_cursor_wait(summaryview->mainwin);
folder_item_update_freeze();
+ gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next)
summary_set_row_colorlabel(summaryview,
GTK_CTREE_NODE(cur->data), labelcolor);
folder_item_update_thaw();
+ gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
main_window_cursor_normal(summaryview->mainwin);
}
{
MessageView *msgview = (MessageView*)summaryview->messageview;
GSList *msginfo_list;
- gchar *body;
g_return_if_fail(msgview != NULL);
msginfo_list = summary_get_selection(summaryview);
g_return_if_fail(msginfo_list != NULL);
-
- body = messageview_get_selection(msgview);
-
- compose_reply_mode((ComposeMode)action, msginfo_list, body);
- g_free(body);
+ compose_reply_from_messageview(msgview, msginfo_list, action);
g_slist_free(msginfo_list);
}
GList *cur;
folder_item_update_freeze();
-
+ gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next)
gtk_ctree_pre_recursive(ctree, GTK_CTREE_NODE(cur->data),
GTK_CTREE_FUNC(summary_ignore_thread_func),
summaryview);
folder_item_update_thaw();
-
+ gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
+
summary_status_show(summaryview);
}
GList *cur;
folder_item_update_freeze();
-
+ gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next)
gtk_ctree_pre_recursive(ctree, GTK_CTREE_NODE(cur->data),
GTK_CTREE_FUNC(summary_unignore_thread_func),
summaryview);
folder_item_update_thaw();
-
+ gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
summary_status_show(summaryview);
}