if(item->marked_msgs > 0)
return node;
break;
+ default:
+ if(item->total_msgs > 0)
+ return node;
+ break;
}
}
}
void folderview_select_next_with_flag(FolderView *folderview,
- MsgPermFlags flag,
- gboolean force_open)
+ MsgPermFlags flag)
{
GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
GtkCMCTreeNode *node = NULL;
EntryAction last_summary_select_prio = prefs_common.summary_select_prio[0];
- gboolean last_open = prefs_common.always_show_msg;
switch (flag) {
case MSG_UNREAD:
case MSG_MARKED:
prefs_common.summary_select_prio[0] = ACTION_MARKED;
break;
+ default:
+ prefs_common.summary_select_prio[0] = ACTION_FIRST_LIST;
+ break;
}
- prefs_common.always_show_msg = force_open ? OPENMSG_ALWAYS : last_open;
node = folderview_find_next_with_flag(ctree, folderview->opened, flag);
if (node != NULL) {
out:
prefs_common.summary_select_prio[0] = last_summary_select_prio;
- prefs_common.always_show_msg = last_open;
}
FolderItem *folderview_get_selected_item(FolderView *folderview)
if (folderview->opened == folderview->selected &&
(!folderview->summaryview->folder_item ||
folderview->summaryview->folder_item->total_msgs == 0))
- folderview_select_next_with_flag(folderview, MSG_UNREAD, TRUE);
+ folderview_select_next_with_flag(folderview, MSG_UNREAD);
else
folderview_select_node(folderview,
folderview->selected);