n_selected++;
}
- if (summaryview->folder_item->folder->type == F_NEWS &&
- prefs_common.ng_abbrev_len < strlen(summaryview->folder_item->path)) {
+ if (summaryview->folder_item->folder->type == F_NEWS) {
gchar *group;
group = get_abbrev_newsgroup_name
- (g_basename(summaryview->folder_item->path), prefs_common.ng_abbrev_len);
+ (g_basename(summaryview->folder_item->path),
+ prefs_common.ng_abbrev_len);
gtk_label_set(GTK_LABEL(summaryview->statlabel_folder), group);
g_free(group);
} else {
summary_set_row_marks(summaryview, GTK_CTREE_NODE(cur->data));
}
-static gboolean summary_update_unread_children (SummaryView *summaryview, MsgInfo *info, gboolean newly_marked)
-{
- GSList *children = procmsg_find_children(info);
- GSList *cur;
- gboolean changed = FALSE;
- for (cur = children; cur != NULL; cur = g_slist_next(cur)) {
- MsgInfo *tmp = (MsgInfo *)cur->data;
- if(MSG_IS_UNREAD(tmp->flags) && !MSG_IS_IGNORE_THREAD(tmp->flags)) {
- if(newly_marked)
- summaryview->unreadmarked++;
- else
- summaryview->unreadmarked--;
- changed = TRUE;
- }
- procmsg_msginfo_free(tmp);
- }
- return changed;
-}
-
static void summary_mark_row(SummaryView *summaryview, GtkCTreeNode *row)
{
- gboolean changed = FALSE;
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
MsgInfo *msginfo;
msginfo = gtk_ctree_node_get_row_data(ctree, row);
if (MSG_IS_DELETED(msginfo->flags))
summaryview->deleted--;
- if (MSG_IS_MOVE(msginfo->flags)) {
+ if (MSG_IS_MOVE(msginfo->flags))
summaryview->moved--;
- changed = TRUE;
- }
- if (MSG_IS_COPY(msginfo->flags)) {
+ if (MSG_IS_COPY(msginfo->flags))
summaryview->copied--;
- changed = TRUE;
- }
- changed |= summary_update_unread_children (summaryview, msginfo, TRUE);
+ procmsg_update_unread_children (msginfo, TRUE);
procmsg_msginfo_set_to_folder(msginfo, NULL);
procmsg_msginfo_unset_flags(msginfo, MSG_DELETED, MSG_MOVE | MSG_COPY);
static void summary_delete_row(SummaryView *summaryview, GtkCTreeNode *row)
{
- gboolean changed = FALSE;
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
MsgInfo *msginfo;
if (MSG_IS_DELETED(msginfo->flags)) return;
- if (MSG_IS_MOVE(msginfo->flags)) {
+ if (MSG_IS_MOVE(msginfo->flags))
summaryview->moved--;
- changed = TRUE;
- }
- if (MSG_IS_COPY(msginfo->flags)) {
+ if (MSG_IS_COPY(msginfo->flags))
summaryview->copied--;
- changed = TRUE;
- }
- changed |= summary_update_unread_children (summaryview, msginfo, FALSE);
+ procmsg_update_unread_children (msginfo, FALSE);
procmsg_msginfo_set_to_folder(msginfo, NULL);
procmsg_msginfo_unset_flags(msginfo, MSG_MARKED, MSG_MOVE | MSG_COPY);
/* next code sets current row focus right. We need to find a row
* that is not deleted. */
+ folder_item_update_freeze();
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();
node = summary_find_next_msg(summaryview, sel_last);
if (!node)
static void summary_unmark_row(SummaryView *summaryview, GtkCTreeNode *row)
{
- gboolean changed = FALSE;
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
MsgInfo *msginfo;
msginfo = gtk_ctree_node_get_row_data(ctree, row);
if (MSG_IS_DELETED(msginfo->flags))
summaryview->deleted--;
- if (MSG_IS_MOVE(msginfo->flags)) {
+ if (MSG_IS_MOVE(msginfo->flags))
summaryview->moved--;
- changed = TRUE;
- }
- if (MSG_IS_COPY(msginfo->flags)) {
+ if (MSG_IS_COPY(msginfo->flags))
summaryview->copied--;
- changed = TRUE;
- }
- changed |= summary_update_unread_children (summaryview, msginfo, FALSE);
+ procmsg_update_unread_children (msginfo, FALSE);
procmsg_msginfo_set_to_folder(msginfo, NULL);
procmsg_msginfo_unset_flags(msginfo, MSG_MARKED | MSG_DELETED, MSG_MOVE | MSG_COPY);
if (summaryview->threaded)
summary_unthread_for_exec(summaryview);
+ folder_item_update_freeze();
summary_execute_move(summaryview);
summary_execute_copy(summaryview);
summary_execute_delete(summaryview);
+ folder_item_update_thaw();
node = GTK_CTREE_NODE(clist->row_list);
while (node != NULL) {
folderview_select(summaryview->mainwin->folderview, sent_folder);
}
+ gtk_option_menu_set_history(GTK_OPTION_MENU(summaryview->search_type_opt),
+ S_SEARCH_EXTENDED);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(summaryview->toggle_search), TRUE);
+
gtk_entry_set_text(GTK_ENTRY(summaryview->search_string), buf);
g_free(buf);
summary_show(summaryview, summaryview->folder_item);