[evolution-patches] properly formatted patch for bug 320168
- From: oswald rodrigues <ozzy_rodrigues yahoo com>
- To: sragavan novell com, evolution-patches gnome org
- Cc:
- Subject: [evolution-patches] properly formatted patch for bug 320168
- Date: Mon, 9 Jan 2006 02:34:49 -0800 (PST)
please correct if any mistakes still exist in the formatting.
Yahoo! Photos
Ring in the New Year with
Photo Calendars. Add photos, events, holidays, whatever.
Index: gui/widgets/e-minicard.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/widgets/e-minicard.c,v
retrieving revision 1.126
diff -u -p -r1.126 e-minicard.c
--- gui/widgets/e-minicard.c 24 Aug 2005 03:06:51 -0000 1.126
+++ gui/widgets/e-minicard.c 9 Jan 2006 10:13:53 -0000
@@ -65,7 +65,7 @@ static GnomeCanvasGroupClass *parent_cla
#define d(x)
#define LIST_ICON_NAME "stock_contact-list"
-
+#define EMAIL_SLOTS 4
static void
e_minicard_field_destroy(EMinicardField *field)
{
@@ -94,6 +94,31 @@ enum {
static guint e_minicard_signals [LAST_SIGNAL] = {0, };
+
+static struct {
+ gchar *name;
+ gchar *pretty_name;
+}
+loc [] =
+{
+ { "WORK", "Work Email" },
+ { "HOME", "Home Email" },
+ { "OTHER", "Other Email" }
+};
+
+static gint
+get_email_location (EVCardAttribute *attr)
+{
+ gint i;
+
+ for (i = 0; i < G_N_ELEMENTS (loc); i++) {
+ if (e_vcard_attribute_has_type (attr,loc[i].name))
+ return i;
+ }
+
+ return -1;
+}
+
GType
e_minicard_get_type (void)
{
@@ -760,7 +785,7 @@ e_minicard_resize_children( EMinicard *e
}
static void
-add_field (EMinicard *e_minicard, EContactField field, gdouble left_width)
+add_field (EMinicard *e_minicard, EContactField field, gdouble left_width,gint location)
{
GnomeCanvasItem *new_item;
GnomeCanvasGroup *group;
@@ -768,9 +793,14 @@ add_field (EMinicard *e_minicard, EConta
char *name;
char *string;
+
group = GNOME_CANVAS_GROUP( e_minicard );
- name = g_strdup_printf("%s:", e_contact_pretty_name (field));
+ if(location>=0)
+ name = g_strdup_printf("%s:",loc[location].pretty_name);
+ else
+ name=g_strdup_printf("%s:",e_contact_pretty_name(field));
+
string = e_contact_get (e_minicard->contact, field);
new_item = e_minicard_label_new(group);
@@ -847,9 +877,12 @@ remodel( EMinicard *e_minicard )
if (e_minicard->contact) {
EContactField field;
GList *list;
- char *file_as;
+ char *file_as,*location;
int left_width = -1;
gboolean is_list = FALSE;
+ GList *email_attr_list,*l;
+ gint record_n,i=0;
+ gint email_location[EMAIL_SLOTS];
if (e_minicard->header_text) {
file_as = e_contact_get (e_minicard->contact, E_CONTACT_FILE_AS);
@@ -869,7 +902,14 @@ remodel( EMinicard *e_minicard )
list = e_minicard->fields;
e_minicard->fields = NULL;
+
+ email_attr_list = e_contact_get_attributes (e_minicard->contact, E_CONTACT_EMAIL);
+ for (record_n = 1, l = email_attr_list; l && record_n <= EMAIL_SLOTS; l = g_list_next (l),record_n++) {
+ EVCardAttribute *attr = l->data;
+ email_location[record_n-1]=get_email_location(attr);
+ }
+
for(field = E_CONTACT_FULL_NAME; field != (E_CONTACT_LAST_SIMPLE_STRING -1) && count < 5; field++) {
EMinicardField *minicard_field = NULL;
@@ -906,7 +946,12 @@ remodel( EMinicard *e_minicard )
string = e_contact_get(e_minicard->contact, field);
if (string && *string) {
- add_field(e_minicard, field, left_width);
+ if(!g_ascii_strcasecmp(e_contact_vcard_attribute(field),"EMAIL"))
+ location=email_location[i++];
+ else
+ location=-1;
+
+ add_field(e_minicard, field, left_width,location);
count++;
}
g_free(string);
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/ChangeLog,v
retrieving revision 1.2026
diff -u -p -r1.2026 ChangeLog
--- ChangeLog 22 Dec 2005 07:55:15 -0000 1.2026
+++ ChangeLog 9 Jan 2006 10:14:31 -0000
@@ -1,3 +1,7 @@
+2005-01-07 Oswald Rodrigues <ozzy_rodrigues yahoo com>
+
+ * gui/widgets/e-minicard.c: Modified the minicard e-mail fields corresponding to e-mail type.
+
2005-12-22 Srinivasa Ragavan <sragavan novell com>
* gui/search/addresstypes.xml: Modified the categories to option menu
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]