state |= M_MSG_EXIST;
if (item && item->path && item->parent && !item->no_select) {
state |= M_EXEC;
- if (item->threaded)
- state |= M_THREADED;
- else
- state |= M_UNTHREADED;
/* if (item->folder->type != F_NEWS) */
state |= M_ALLOW_DELETE;
|| selection != SUMMARY_NONE)
state |= M_HIDE_READ_MSG;
}
+ if (mainwin->summaryview->threaded)
+ state |= M_THREADED;
+ else
+ state |= M_UNTHREADED;
if (selection == SUMMARY_SELECTED_SINGLE ||
selection == SUMMARY_SELECTED_MULTIPLE)
state |= M_TARGET_EXIST;
SensitiveCond state;
gboolean sensitive;
GtkWidget *menuitem;
- FolderItem *item;
+ SummaryView *summaryview;
gchar *menu_path;
gint i;
SET_CHECK_MENU_ACTIVE("/View/Show or hide/Message view",
messageview_is_visible(mainwin->messageview));
- item = mainwin->summaryview->folder_item;
+ summaryview = mainwin->summaryview;
menu_path = "/View/Sort/Don't sort";
- if (item) {
- switch (item->sort_key) {
- case SORT_BY_NUMBER:
- menu_path = "/View/Sort/by number"; break;
- case SORT_BY_SIZE:
- menu_path = "/View/Sort/by size"; break;
- case SORT_BY_DATE:
- menu_path = "/View/Sort/by date"; break;
- case SORT_BY_FROM:
- menu_path = "/View/Sort/by from"; break;
- case SORT_BY_SUBJECT:
- menu_path = "/View/Sort/by subject"; break;
- case SORT_BY_LABEL:
- menu_path = "/View/Sort/by color label"; break;
- case SORT_BY_MARK:
- menu_path = "/View/Sort/by mark"; break;
- case SORT_BY_UNREAD:
- menu_path = "/View/Sort/by unread"; break;
- case SORT_BY_MIME:
- menu_path = "/View/Sort/by attachment"; break;
- case SORT_BY_SCORE:
- menu_path = "/View/Sort/by score"; break;
- case SORT_BY_LOCKED:
- menu_path = "/View/Sort/by locked"; break;
- case SORT_BY_NONE:
- default:
- menu_path = "/View/Sort/Don't sort"; break;
- }
+
+ switch (summaryview->sort_key) {
+ case SORT_BY_NUMBER:
+ menu_path = "/View/Sort/by number"; break;
+ case SORT_BY_SIZE:
+ menu_path = "/View/Sort/by size"; break;
+ case SORT_BY_DATE:
+ menu_path = "/View/Sort/by date"; break;
+ case SORT_BY_FROM:
+ menu_path = "/View/Sort/by from"; break;
+ case SORT_BY_SUBJECT:
+ menu_path = "/View/Sort/by subject"; break;
+ case SORT_BY_LABEL:
+ menu_path = "/View/Sort/by color label"; break;
+ case SORT_BY_MARK:
+ menu_path = "/View/Sort/by mark"; break;
+ case SORT_BY_UNREAD:
+ menu_path = "/View/Sort/by unread"; break;
+ case SORT_BY_MIME:
+ menu_path = "/View/Sort/by attachment"; break;
+ case SORT_BY_SCORE:
+ menu_path = "/View/Sort/by score"; break;
+ case SORT_BY_LOCKED:
+ menu_path = "/View/Sort/by locked"; break;
+ case SORT_BY_NONE:
+ default:
+ menu_path = "/View/Sort/Don't sort"; break;
}
SET_CHECK_MENU_ACTIVE(menu_path, TRUE);
- if (!item || item->sort_type == SORT_ASCENDING) {
+ if (summaryview->sort_type == SORT_ASCENDING) {
SET_CHECK_MENU_ACTIVE("/View/Sort/Ascending", TRUE);
} else {
SET_CHECK_MENU_ACTIVE("/View/Sort/Descending", TRUE);
}
- if (item && item->sort_key != SORT_BY_NONE) {
+ if (summaryview->sort_key != SORT_BY_NONE) {
menu_set_sensitive(ifactory, "/View/Sort/Ascending", TRUE);
menu_set_sensitive(ifactory, "/View/Sort/Descending", TRUE);
} else {
if (GTK_CHECK_MENU_ITEM(widget)->active) {
summary_thread_build(mainwin->summaryview);
- mainwin->summaryview->folder_item->threaded = TRUE;
+/* mainwin->summaryview->folder_item->threaded = TRUE; */
} else {
summary_unthread(mainwin->summaryview);
- mainwin->summaryview->folder_item->threaded = FALSE;
+/* mainwin->summaryview->folder_item->threaded = FALSE; */
}
}
summaryview->folder_item->prefs->important_score;
}
- if (summaryview->folder_item->threaded) {
+ if (summaryview->threaded) {
GNode *root, *gnode;
root = procmsg_get_thread_tree(mlist);
gtk_clist_freeze(clist);
- if (summaryview->folder_item->threaded)
+ if (summaryview->threaded)
summary_unthread_for_exec(summaryview);
summary_execute_move(summaryview);
node = next;
}
- if (summaryview->folder_item->threaded)
+ if (summaryview->threaded)
summary_thread_build(summaryview);
summaryview->selected = clist->selection ?
STATUSBAR_POP(summaryview->mainwin);
main_window_cursor_normal(summaryview->mainwin);
+ summaryview->threaded = TRUE;
+
summary_unlock(summaryview);
}
STATUSBAR_POP(summaryview->mainwin);
main_window_cursor_normal(summaryview->mainwin);
+ summaryview->threaded = FALSE;
+
summary_unlock(summaryview);
}
/* Sorting */
summaryview->sort_key = item->sort_key;
summaryview->sort_type = item->sort_type;
+
+ /* Threading */
+ summaryview->threaded = item->threaded;
}
void summary_save_prefs_to_folderitem(SummaryView *summaryview, FolderItem *item)
{
+ /* Sorting */
item->sort_key = summaryview->sort_key;
item->sort_type = summaryview->sort_type;
+
+ /* Threading */
+ item->threaded = summaryview->threaded;
}
/*