/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2009 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2011 Hiroyuki Yamamoto and the Claws Mail team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
toggle_search = gtk_toggle_button_new();
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle_search),
prefs_common.show_searchbar);
+ gtkut_widget_set_can_focus(toggle_search, FALSE);
gtk_widget_show(toggle_search);
CLAWS_SET_TIP(toggle_search, _("Toggle quick search bar"));
{"Menus/SummaryViewPopup/Move" , M_TARGET_EXIST|M_ALLOW_DELETE|M_NOT_NEWS},
{"Menus/SummaryViewPopup/Copy" , M_TARGET_EXIST|M_EXEC},
- {"Menus/SummaryViewPopup/Trash" , M_TARGET_EXIST|M_ALLOW_DELETE|M_NOT_NEWS},
+ {"Menus/SummaryViewPopup/Trash" , M_TARGET_EXIST|M_ALLOW_DELETE|M_NOT_NEWS|M_NOT_TRASH},
#ifndef GENERIC_UMPC
{"Menus/SummaryViewPopup/Delete" , M_TARGET_EXIST|M_ALLOW_DELETE},
#endif
summary_select_node(summaryview, node, FALSE, TRUE);
}
+void summary_select_by_msg_list(SummaryView *summaryview, GSList *msginfos)
+{
+ GtkCMCTree *ctree;
+ GSList *msgnum_list, *walk;
+ gboolean froze = FALSE;
+
+ ctree = GTK_CMCTREE(summaryview->ctree);
+
+ msgnum_list = NULL;
+ for(walk = msginfos; walk; walk = walk->next) {
+ MsgInfo *msginfo;
+ msginfo = walk->data;
+ msgnum_list = g_slist_prepend(msgnum_list, GUINT_TO_POINTER(msginfo->msgnum));
+ }
+ START_LONG_OPERATION(summaryview, FALSE);
+ for(walk = msgnum_list; walk; walk = walk->next) {
+ GtkCMCTreeNode *node;
+ node = summary_find_msg_by_msgnum(summaryview, GPOINTER_TO_UINT(walk->data));
+ gtk_cmctree_select(ctree, node);
+ }
+ END_LONG_OPERATION(summaryview);
+ g_slist_free(msgnum_list);
+}
+
typedef struct _PostponedSelectData
{
GtkCMCTree *ctree;
if (n_selected) {
sel = g_strdup_printf(" (%s)", to_human_readable((goffset)sel_size));
- if (n_selected == 1)
- itstr = g_strdup(_(" item selected"));
- else
- itstr = g_strdup(_(" items selected"));
+ itstr = g_strdup_printf(ngettext(" item selected"," items selected", n_selected));
} else {
sel = g_strdup("");
itstr = g_strdup("");
g_object_set_data(G_OBJECT(ctree), "summaryview", (gpointer)summaryview);
for (pos = 0; pos < N_SUMMARY_COLS; pos++) {
- GTK_WIDGET_UNSET_FLAGS(GTK_CMCLIST(ctree)->column[pos].button,
- GTK_CAN_FOCUS);
+ gtkut_widget_set_can_focus(GTK_CMCLIST(ctree)->column[pos].button,
+ FALSE);
if (((pos == summaryview->col_pos[S_COL_FROM] && !FOLDER_SHOWS_TO_HDR(summaryview->folder_item)) ||
(pos == summaryview->col_pos[S_COL_TO] && FOLDER_SHOWS_TO_HDR(summaryview->folder_item)) ||
pos == summaryview->col_pos[S_COL_DATE]) && vert &&
if (!event) return FALSE;
if (event->button == 3) {
- summaryview->display_msg = messageview_is_visible(summaryview->messageview);
/* right clicked */
summary_set_menu_sensitive(summaryview);
- cm_menu_set_sensitive_full(summaryview->mainwin->ui_manager, "Menus/SummaryViewPopup/Trash",
- !folder_has_parent_of_type(summaryview->folder_item, F_TRASH) && summaryview->selected);
gtk_menu_popup(GTK_MENU(summaryview->popupmenu), NULL, NULL,
NULL, NULL, event->button, event->time);
} else if (event->button == 2) {