/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2006 Hiroyuki Yamamoto and the Sylpheed-Claws team
+ * Copyright (C) 1999-2007 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
GtkTargetEntry summary_drag_types[2] =
{
{"text/uri-list", 0, TARGET_MAIL_URI_LIST},
- {"sylpheed-claws/internal", GTK_TARGET_SAME_APP, TARGET_DUMMY}
+ {"claws-mail/internal", GTK_TARGET_SAME_APP, TARGET_DUMMY}
};
static GtkItemFactoryEntry summary_popup_entries[] =
{N_("/Repl_y to/_sender"), NULL, summary_reply_cb, COMPOSE_REPLY_TO_SENDER, NULL},
{N_("/Repl_y to/mailing _list"),
"<control>L", summary_reply_cb, COMPOSE_REPLY_TO_LIST, NULL},
- {N_("/---"), NULL, NULL, 0, "<Separator>"},
+ {"/---", NULL, NULL, 0, "<Separator>"},
{N_("/_Forward"), "<control><alt>F", summary_reply_cb, COMPOSE_FORWARD_INLINE, NULL},
{N_("/For_ward as attachment"), NULL, summary_reply_cb, COMPOSE_FORWARD_AS_ATTACH, NULL},
{N_("/Redirect"), NULL, summary_reply_cb, COMPOSE_REDIRECT, NULL},
- {N_("/---"), NULL, NULL, 0, "<Separator>"},
+ {"/---", NULL, NULL, 0, "<Separator>"},
{N_("/M_ove..."), "<control>O", summary_move_to, 0, NULL},
{N_("/_Copy..."), "<shift><control>O", summary_copy_to, 0, NULL},
{N_("/Move to _trash"), "<control>D", summary_delete_trash, 0, NULL},
{N_("/_Delete..."), NULL, summary_delete, 0, NULL},
- {N_("/---"), NULL, NULL, 0, "<Separator>"},
+ {"/---", NULL, NULL, 0, "<Separator>"},
{N_("/_Mark"), NULL, NULL, 0, "<Branch>"},
{N_("/_Mark/_Mark"), NULL, summary_mark, 0, NULL},
{N_("/_Mark/_Unmark"), NULL, summary_unmark, 0, NULL},
{N_("/_Mark/Unlock"), NULL, summary_msgs_unlock, 0, NULL},
{N_("/Color la_bel"), NULL, NULL, 0, NULL},
- {N_("/---"), NULL, NULL, 0, "<Separator>"},
+ {"/---", NULL, NULL, 0, "<Separator>"},
{N_("/Add sender to address boo_k"),
NULL, summary_add_address_cb, 0, NULL},
{N_("/Create f_ilter rule"), NULL, NULL, 0, "<Branch>"},
NULL, summary_create_processing_cb, FILTER_BY_TO, NULL},
{N_("/Create processing rule/by _Subject"),
NULL, summary_create_processing_cb, FILTER_BY_SUBJECT, NULL},
- {N_("/---"), NULL, NULL, 0, "<Separator>"},
+ {"/---", NULL, NULL, 0, "<Separator>"},
{N_("/_View"), NULL, NULL, 0, "<Branch>"},
{N_("/_View/Open in new _window"),
"<control><alt>N", summary_open_msg, 0, NULL},
{N_("/_View/Message _source"), "<control>U", summary_view_source, 0, NULL},
{N_("/_View/All _headers"), "<control>H", summary_show_all_header_cb, 0, "<ToggleItem>"},
- {N_("/---"), NULL, NULL, 0, "<Separator>"},
+ {"/---", NULL, NULL, 0, "<Separator>"},
{N_("/_Save as..."), "<control>S", summary_save_as, 0, NULL},
{N_("/_Print..."), "<control>P", summary_print, 0, NULL},
}; /* see also list in menu_connect_identical_items() in menu.c if this changes */
if (!item)
return;
- if(FOLDER_SHOWS_TO_HDR(item))
+ if (FOLDER_SHOWS_TO_HDR(item))
show_to = TRUE;
else
show_from = TRUE;
case S_COL_DATE:
case S_COL_NUMBER:
if(type == S_COL_FROM && item != NULL &&
- FOLDER_SHOWS_TO_HDR(item))
+ FOLDER_SHOWS_TO_HDR(item) &&
+ !summaryview->col_state[summaryview->col_pos[S_COL_TO]].visible)
type = S_COL_TO;
if (prefs_common.trans_hdr)
title = gettext(col_label[type]);
typedef struct {
MsgInfo *msginfo;
SummaryView *summaryview;
- GtkCTreeNode *row;
} MarkAsReadData;
static int msginfo_mark_as_read_timeout(void *data)
if (mdata->msginfo == summary_get_selected_msg(mdata->summaryview))
msginfo_mark_as_read(mdata->summaryview, mdata->msginfo,
- mdata->row);
+ mdata->summaryview->selected);
g_free(mdata);
MarkAsReadData *data = g_new0(MarkAsReadData, 1);
data->summaryview = summaryview;
data->msginfo = msginfo;
- data->row = row;
- gtk_timeout_add(prefs_common.mark_as_read_delay * 1000,
+ g_timeout_add(prefs_common.mark_as_read_delay * 1000,
msginfo_mark_as_read_timeout, data);
} else if (new_window || !prefs_common.mark_as_read_on_new_window) {
msginfo_mark_as_read(summaryview, msginfo, row);
msginfo->msgnum);
}
-void summary_mark_as_read
-(SummaryView *summaryview)
+void summary_mark_as_read(SummaryView *summaryview)
{
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
GList *cur;
} else {
summary_msginfo_unset_flags(msginfo, MSG_SPAM, 0);
}
+ summaryview->display_msg = prefs_common.always_show_msg;
+
summary_set_row_marks(summaryview, row);
}
} else {
summary_status_show(summaryview);
}
-void summary_select_thread(SummaryView *summaryview)
+void summary_select_thread(SummaryView *summaryview, gboolean delete_thread)
{
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
GtkCTreeNode *node = summaryview->selected;
gtk_ctree_select_recursive(ctree, node);
+ if (delete_thread) {
+ if (FOLDER_TYPE(summaryview->folder_item->folder) == F_NEWS)
+ summary_delete(summaryview);
+ else
+ summary_delete_trash(summaryview);
+ }
+
summary_status_show(summaryview);
}
MsgInfo *msginfo = gtk_ctree_node_get_row_data(
GTK_CTREE(summaryview->ctree),
node);
- messageview_print(msginfo, summaryview->messageview->all_headers);
+ gint sel_start = -1, sel_end = -1, partnum = 0;
+
+ if (node == summaryview->displayed) {
+ partnum = mimeview_get_selected_part_num(summaryview->messageview->mimeview);
+ textview_get_selection_offsets(summaryview->messageview->mimeview->textview,
+ &sel_start, &sel_end);
+ }
+ messageview_print(msginfo, summaryview->messageview->all_headers,
+ sel_start, sel_end, partnum);
}
#endif
}
switch (event->keyval) {
case GDK_space: /* Page down or go to the next */
handled = TRUE;
+ if (event->state & GDK_CONTROL_MASK)
+ event->state &= ~GDK_CONTROL_MASK;
if (event->state & GDK_SHIFT_MASK)
mimeview_scroll_page(messageview->mimeview, TRUE);
else {
}
}
-void summaryview_activate_quicksearch(SummaryView *summaryview)
+void summaryview_activate_quicksearch(SummaryView *summaryview, gboolean show)
{
+ prefs_common.show_searchbar = show;
gtk_toggle_button_set_active(
GTK_TOGGLE_BUTTON(summaryview->toggle_search),
- TRUE);
- quicksearch_show(summaryview->quicksearch);
+ show);
+ if (show) {
+ quicksearch_show(summaryview->quicksearch);
+ } else {
+ quicksearch_hide(summaryview->quicksearch);
+ }
}
static void summary_open_row(GtkSCTree *sctree, SummaryView *summaryview)