aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog25
-rw-r--r--mail/folder-browser.c2
-rw-r--r--mail/mail-config.c19
-rw-r--r--mail/mail-config.h1
-rw-r--r--mail/message-list.c8
5 files changed, 41 insertions, 14 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 1151617a24..45b5280e8b 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,24 @@
+2003-04-29 Not Zed <NotZed@Ximian.com>
+
+ ** See bug #41972
+
+ * message-list.c (ml_tree_value_at): fix (void *) casts on trinary
+ ops.
+
+ * folder-browser.c (on_right_click): Store the label tag in the
+ label callback data, not the translated name.
+
+ * mail-config.c (label_defaults[]): Initialise with the tag
+ values.
+ (config_clear_labels): free tag field.
+ (config_cache_labels): setup the tag field based on the position
+ of the label name.
+ (mail_config_get_label_color_by_name): Lookup colour by the
+ untranslated TAG, not the translated/customisable tag.
+
+ * mail-config.h (MailConfigLabel): Add a tag field, we were using
+ the translated name as the label(!).
+
2003-04-29 Dan Winship <danw@ximian.com>
* mail-format.c (write_xmailer_header): Remove preceding whitespace
@@ -17,6 +38,8 @@
2003-04-24 Jeffrey Stedfast <fejj@ximian.com>
+ Fix for bug #41789
+
* mail-config.c (mail_config_init): Cache the allowable
mime-types.
(mail_config_get_allowable_mime_types): New public function to get
@@ -71,7 +94,7 @@
* message-browser.c:
Use PREFIX instead of EVOLUTION_DATADIR for bonobo_ui_util_set_ui ().
Fixes bug #21499.
-
+
2003-04-17 Not Zed <NotZed@Ximian.com>
* mail-signature-editor.c (menu_help): remove the help menu item
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index e163ffc952..29a59cbc11 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -2099,7 +2099,7 @@ on_right_click (ETree *tree, gint row, ETreePath path, gint col, GdkEvent *event
closure = g_new (struct _label_data, 1);
g_object_ref (fb);
closure->fb = fb;
- closure->label = label->name;
+ closure->label = label->tag;
g_ptr_array_add (closures, closure);
diff --git a/mail/mail-config.c b/mail/mail-config.c
index 358a2c9aac..32a1226012 100644
--- a/mail/mail-config.c
+++ b/mail/mail-config.c
@@ -63,13 +63,13 @@
#include "Mailer.h"
-
+/* Note, the first element of each MailConfigLabel must NOT be translated */
MailConfigLabel label_defaults[5] = {
- { N_("Important"), "#ff0000" }, /* red */
- { N_("Work"), "#ff8c00" }, /* orange */
- { N_("Personal"), "#008b00" }, /* forest green */
- { N_("To Do"), "#0000ff" }, /* blue */
- { N_("Later"), "#8b008b" } /* magenta */
+ { "important", N_("Important"), "#ff0000" }, /* red */
+ { "work", N_("Work"), "#ff8c00" }, /* orange */
+ { "personal", N_("Personal"), "#008b00" }, /* forest green */
+ { "todo", N_("To Do"), "#0000ff" }, /* blue */
+ { "later", N_("Later"), "#8b008b" } /* magenta */
};
typedef struct {
@@ -320,6 +320,7 @@ config_clear_labels (void)
list = config->labels;
while (list != NULL) {
label = list->data;
+ g_free(label->tag);
g_free (label->name);
g_free (label->colour);
g_free (label);
@@ -347,10 +348,11 @@ config_cache_labels (void)
while (list != NULL) {
buf = list->data;
- if ((colour = strrchr (buf, ':'))) {
+ if (num < 5 && (colour = strrchr (buf, ':'))) {
label = g_new (MailConfigLabel, 1);
*colour++ = '\0';
+ label->tag = g_strdup(label_defaults[num].tag);
label->name = g_strdup (buf);
label->colour = g_strdup (colour);
@@ -378,6 +380,7 @@ config_cache_labels (void)
while (num < 5) {
/* complete the list with defaults */
label = g_new (MailConfigLabel, 1);
+ label->tag = g_strdup (label_defaults[num].tag);
label->name = g_strdup (_(label_defaults[num].name));
label->colour = g_strdup (label_defaults[num].colour);
@@ -665,7 +668,7 @@ mail_config_get_label_color_by_name (const char *name)
node = config->labels;
while (node != NULL) {
label = node->data;
- if (!strcmp (label->name, name))
+ if (!strcmp (label->tag, name))
return label->colour;
node = node->next;
}
diff --git a/mail/mail-config.h b/mail/mail-config.h
index 3abc9588f8..d0f5cb138b 100644
--- a/mail/mail-config.h
+++ b/mail/mail-config.h
@@ -82,6 +82,7 @@ typedef enum {
} MailConfigXMailerDisplayStyle;
typedef struct {
+ char *tag;
char *name;
char *colour;
} MailConfigLabel;
diff --git a/mail/message-list.c b/mail/message-list.c
index 631b5b5519..3c1dd7e9f7 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -950,17 +950,17 @@ ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data)
}
case COL_FOLLOWUP_FLAG:
str = camel_tag_get ((CamelTag **) &msg_info->user_tags, "follow-up");
- return (void *) str ? str : "";
+ return (void *)(str ? str : "");
case COL_ATTACHMENT:
return GINT_TO_POINTER ((msg_info->flags & CAMEL_MESSAGE_ATTACHMENTS) != 0);
case COL_FROM:
str = camel_message_info_from (msg_info);
- return (void *) str ? str : "";
+ return (void *)(str ? str : "");
case COL_FROM_NORM:
return (void *) get_normalised_string (message_list, msg_info, col);
case COL_SUBJECT:
str = camel_message_info_subject (msg_info);
- return (void *) str ? str : "";
+ return (void *)(str ? str : "");
case COL_SUBJECT_NORM:
return (void *) get_normalised_string (message_list, msg_info, col);
case COL_SENT:
@@ -969,7 +969,7 @@ ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data)
return GINT_TO_POINTER (msg_info->date_received);
case COL_TO:
str = camel_message_info_to (msg_info);
- return (void *) str ? str : "";
+ return (void *)(str ? str : "");
case COL_TO_NORM:
return (void *) get_normalised_string (message_list, msg_info, col);
case COL_SIZE: