diff options
-rw-r--r-- | mail/ChangeLog | 10 | ||||
-rw-r--r-- | mail/message-list.c | 22 | ||||
-rw-r--r-- | mail/message-list.etspec | 2 | ||||
-rw-r--r-- | mail/message-list.h | 3 |
4 files changed, 34 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 9a5f3bcad0..a1055fd224 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,15 @@ 2006-04-26 Srinivasa Ragavan <sragavan@novell.com> + ** Patch from Victor for adding a Sender header to message list. + + * message-list.c: (ml_duplicate_value), (ml_free_value), + (ml_initialize_value), (ml_value_is_empty), (ml_value_to_string), + (ml_tree_value_at): Handled the new column header. + * message-list.etspec: Added a new column header to spec. + * message-list.h: Added a new column + +2006-04-26 Srinivasa Ragavan <sragavan@novell.com> + * em-folder-view.c: (emfv_setup_view_instance): Comparing the FolderInfo flags right, to make Mailbox to show From header in message list for groupwise servers. diff --git a/mail/message-list.c b/mail/message-list.c index a9796afc45..7d9d4bbe3b 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -158,6 +158,8 @@ static GtkTargetEntry ml_drop_types[] = { #define COL_TO_WIDTH_MIN (32) #define COL_SIZE_EXPANSION (6.0) #define COL_SIZE_WIDTH_MIN (32) +#define COL_SENDER_EXPANSION (24.0) +#define COL_SENDER_WIDTH_MIN (32) enum { NORMALISED_SUBJECT, @@ -901,7 +903,7 @@ ml_duplicate_value (ETreeModel *etm, int col, const void *value, void *data) case COL_FOLLOWUP_FLAG: case COL_LOCATION: return g_strdup (value); - + case COL_SENDER: default: g_assert_not_reached (); } @@ -932,6 +934,7 @@ ml_free_value (ETreeModel *etm, int col, void *value, void *data) case COL_LOCATION: g_free (value); break; + case COL_SENDER: default: g_assert_not_reached (); } @@ -960,6 +963,7 @@ ml_initialize_value (ETreeModel *etm, int col, void *data) case COL_FOLLOWUP_FLAG: case COL_LOCATION: return g_strdup (""); + case COL_SENDER: default: g_assert_not_reached (); } @@ -990,6 +994,7 @@ ml_value_is_empty (ETreeModel *etm, int col, const void *value, void *data) case COL_FOLLOWUP_FLAG: case COL_LOCATION: return !(value && *(char *)value); + case COL_SENDER: default: g_assert_not_reached (); return FALSE; @@ -1054,6 +1059,7 @@ ml_value_to_string (ETreeModel *etm, int col, const void *value, void *data) case COL_FOLLOWUP_FLAG: case COL_LOCATION: return g_strdup (value); + case COL_SENDER: default: g_assert_not_reached (); return NULL; @@ -1290,7 +1296,19 @@ ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data) camel_object_get(folder, NULL, CAMEL_OBJECT_DESCRIPTION, &name, 0); return name; } - default: + case COL_SENDER:{ + char **sender_name; + str = camel_message_info_from (msg_info); + if(str!=""){ + sender_name=g_strsplit(str,"<",2); + return (void *)(*sender_name); + } + else + return (void *)(""); + + g_strfreev(sender_name); + } + default: g_assert_not_reached (); return NULL; } diff --git a/mail/message-list.etspec b/mail/message-list.etspec index 1ba8a64187..5718d631c4 100644 --- a/mail/message-list.etspec +++ b/mail/message-list.etspec @@ -27,6 +27,8 @@ <ETableColumn model_col="13" _title="Original Location" expansion="0.2" minimum_width="32" resizable="true" cell="render_text" compare="string"/> + <ETableColumn model_col="14" compare_col="17" _title="Sender" expansion="1.0" minimum_width="32" resizable="true" cell="render_text" compare="address_compare" search="string" priority="10"/> + <ETableState> <column source="0"/> <column source="3"/> <column source="1"/> <column source="4"/> <column source="5" expansion="1.60"/> <column source="6" expansion="0.40"/> diff --git a/mail/message-list.h b/mail/message-list.h index 301f2327f8..4033d037a5 100644 --- a/mail/message-list.h +++ b/mail/message-list.h @@ -55,7 +55,8 @@ enum { COL_FOLLOWUP_FLAG_STATUS, COL_FOLLOWUP_FLAG, COL_FOLLOWUP_DUE_BY, - COL_LOCATION, /* vfolder location? */ + COL_LOCATION, /* vfolder location? */ + COL_SENDER, /* normalised strings */ COL_FROM_NORM, |