aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-07-23 11:49:22 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-07-23 11:49:22 +0800
commitad44453de22ab60267ddb33f8578d0840e57e228 (patch)
tree469001be765b60ff8720cb0984abfaabce3b50db /mail/message-list.c
parentb06ecefc61581d7048df8b9bcd06896b75a459d0 (diff)
downloadgsoc2013-evolution-ad44453de22ab60267ddb33f8578d0840e57e228.tar
gsoc2013-evolution-ad44453de22ab60267ddb33f8578d0840e57e228.tar.gz
gsoc2013-evolution-ad44453de22ab60267ddb33f8578d0840e57e228.tar.bz2
gsoc2013-evolution-ad44453de22ab60267ddb33f8578d0840e57e228.tar.lz
gsoc2013-evolution-ad44453de22ab60267ddb33f8578d0840e57e228.tar.xz
gsoc2013-evolution-ad44453de22ab60267ddb33f8578d0840e57e228.tar.zst
gsoc2013-evolution-ad44453de22ab60267ddb33f8578d0840e57e228.zip
set the session on the formatter. See #61767.
2004-07-22 Not Zed <NotZed@Ximian.com> * em-utils.c (em_utils_part_to_html, em_utils_message_to_html): set the session on the formatter. See #61767. 2004-07-22 Not Zed <NotZed@Ximian.com> ** See bug #61747. * message-list.c (search_func): don't emit a message_selected here (god knows why we did?). Don't update cursor_uid either, just clear it. (message_list_select): select the path if we find it here, causing the cascade of selection action. svn path=/trunk/; revision=26710
Diffstat (limited to 'mail/message-list.c')
-rw-r--r--mail/message-list.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/mail/message-list.c b/mail/message-list.c
index bbbce5bfaf..57047a857e 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -465,6 +465,7 @@ struct search_func_data {
MessageList *message_list;
guint32 flags;
guint32 mask;
+ ETreePath path;
};
static gboolean
@@ -478,12 +479,9 @@ search_func (ETreeModel *model, ETreePath path, struct search_func_data *data)
info = get_message_info (data->message_list, path);
if (info && (info->flags & data->mask) == data->flags) {
- if (data->message_list->cursor_uid) {
- g_free (data->message_list->cursor_uid);
- data->message_list->cursor_uid = g_strdup (camel_message_info_uid (info));
- }
- g_signal_emit (GTK_OBJECT (data->message_list), message_list_signals[MESSAGE_SELECTED], 0,
- camel_message_info_uid (info));
+ g_free(data->message_list->cursor_uid);
+ data->message_list->cursor_uid = NULL;
+ data->path = path;
return TRUE;
}
return FALSE;
@@ -538,7 +536,8 @@ message_list_select (MessageList *message_list,
data.message_list = message_list;
data.flags = flags;
data.mask = mask;
-
+ data.path = NULL;
+
if (direction == MESSAGE_LIST_SELECT_NEXT)
params |= E_TREE_FIND_NEXT_FORWARD;
else
@@ -547,7 +546,13 @@ message_list_select (MessageList *message_list,
if (wraparound)
params |= E_TREE_FIND_NEXT_WRAP;
- return e_tree_find_next (message_list->tree, params, (ETreePathFunc) search_func, &data);
+ if (e_tree_find_next (message_list->tree, params, (ETreePathFunc) search_func, &data)) {
+ ETreeSelectionModel *etsm = (ETreeSelectionModel *)e_tree_get_selection_model (message_list->tree);
+
+ e_tree_selection_model_select_single_path(etsm, data.path);
+ return TRUE;
+ } else
+ return FALSE;
}
@@ -2956,7 +2961,7 @@ ml_getselected_cb(ETreePath path, void *user_data)
if (e_tree_model_node_is_root (data->ml->model, path))
return;
-
+
uid = get_message_uid(data->ml, path);
g_assert(uid != NULL);
g_ptr_array_add(data->uids, g_strdup(uid));