r1794 - in trunk/src/target/OM-2007/applications/openmoko-contacts: . src

thomas at sita.openmoko.org thomas at sita.openmoko.org
Wed Apr 18 16:29:40 CEST 2007


Author: thomas
Date: 2007-04-18 16:29:38 +0200 (Wed, 18 Apr 2007)
New Revision: 1794

Modified:
   trunk/src/target/OM-2007/applications/openmoko-contacts/ChangeLog
   trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-callbacks-ebook.c
   trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-contact-pane.c
   trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-contact-pane.h
   trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-omoko.c
Log:
* src/contacts-callbacks-ebook.c: (contacts_changed_cb):
* src/contacts-contact-pane.c: (field_changed),
(contacts_contact_pane_class_init):
* src/contacts-contact-pane.h:
* src/contacts-omoko.c: (fullname_changed_cb),
(create_main_window):
Add a fullname-changed signal to the contact pane widget.


Modified: trunk/src/target/OM-2007/applications/openmoko-contacts/ChangeLog
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-contacts/ChangeLog	2007-04-18 09:18:00 UTC (rev 1793)
+++ trunk/src/target/OM-2007/applications/openmoko-contacts/ChangeLog	2007-04-18 14:29:38 UTC (rev 1794)
@@ -1,3 +1,13 @@
+2007-04-18  Thomas Wood  <thomas at openedhand.com>
+
+	* src/contacts-callbacks-ebook.c: (contacts_changed_cb):
+	* src/contacts-contact-pane.c: (field_changed),
+	(contacts_contact_pane_class_init):
+	* src/contacts-contact-pane.h:
+	* src/contacts-omoko.c: (fullname_changed_cb),
+	(create_main_window):
+	Add a fullname-changed signal to the contact pane widget.
+
 2007-04-17  Thomas Wood  <thomas at openedhand.com>
 
 	* src/contacts-contact-pane.c: (choose_photo_cb), (update_ui): Make

Modified: trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-callbacks-ebook.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-callbacks-ebook.c	2007-04-18 09:18:00 UTC (rev 1793)
+++ trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-callbacks-ebook.c	2007-04-18 14:29:38 UTC (rev 1794)
@@ -152,13 +152,14 @@
 			gtk_list_store_set (model, &hash->iter, CONTACT_CELLPHONE_COL, cell, -1);
 
 		/* If contact is currently selected, update display */
+		/*
 		if (current_contact) {
 			if (strcmp (e_contact_get_const
 					(contact, E_CONTACT_UID),
 				    e_contact_get_const
 					(current_contact, E_CONTACT_UID)) == 0)
 				contacts_display_summary (contact, data);
-		}
+		}*/
 
 		/* Check for groups and add them to group list */
 		contact_groups =

Modified: trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-contact-pane.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-contact-pane.c	2007-04-18 09:18:00 UTC (rev 1793)
+++ trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-contact-pane.c	2007-04-18 14:29:38 UTC (rev 1794)
@@ -23,6 +23,7 @@
 #include <libebook/e-book.h>
 #include "contacts-contact-pane.h"
 #include "contacts-utils.h"
+#include "contacts-callbacks-ebook.h"
 
 G_DEFINE_TYPE (ContactsContactPane, contacts_contact_pane, GTK_TYPE_VBOX);
 
@@ -40,6 +41,13 @@
   GtkSizeGroup *size_group; /* used to sizing the labels */
 };
 
+enum {
+  FULLNAME_CHANGED,
+  LAST_SIGNAL
+};
+
+static guint contacts_contact_pane_signals [LAST_SIGNAL];
+
 typedef struct {
   char *display;
   char *vcard;
@@ -204,6 +212,12 @@
   }
   g_strfreev (values);
 
+  if (info->vcard_field == EVC_FN)
+  {
+    /* update treeview */
+    g_signal_emit (pane, contacts_contact_pane_signals[FULLNAME_CHANGED], 0, pane->priv->contact);
+  }
+
   pane->priv->dirty = TRUE;
 }
 
@@ -808,6 +822,16 @@
   field_quark = g_quark_from_static_string("contact-pane-fieldinfo");
   entry_quark = g_quark_from_static_string("contact-pane-entry");
 
+
+    contacts_contact_pane_signals[FULLNAME_CHANGED] = g_signal_new (("fullname-changed"),
+      G_OBJECT_CLASS_TYPE (klass),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (ContactsContactPaneClass, fullname_changed),
+      NULL, NULL,
+      g_cclosure_marshal_VOID__OBJECT,
+      G_TYPE_NONE, 1,
+      E_TYPE_CONTACT);
+
 }
 
 static void

Modified: trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-contact-pane.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-contact-pane.h	2007-04-18 09:18:00 UTC (rev 1793)
+++ trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-contact-pane.h	2007-04-18 14:29:38 UTC (rev 1794)
@@ -57,6 +57,7 @@
 
 typedef struct {
   GtkVBoxClass parent_class;
+  void (* fullname_changed) (ContactsContactPane *self, EContact *contact);
 } ContactsContactPaneClass;
 
 GType contacts_contact_pane_get_type (void);

Modified: trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-omoko.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-omoko.c	2007-04-18 09:18:00 UTC (rev 1793)
+++ trunk/src/target/OM-2007/applications/openmoko-contacts/src/contacts-omoko.c	2007-04-18 14:29:38 UTC (rev 1794)
@@ -25,6 +25,7 @@
 #include "contacts-ui.h"
 #include "contacts-omoko.h"
 #include "contacts-groups-editor.h"
+#include "contacts-callbacks-ebook.h"
 
 
 
@@ -33,6 +34,13 @@
 /* these are specific to the omoko frontend */
 static GtkMenu *filter_menu;
 
+static void
+fullname_changed_cb (ContactsContactPane *pane, EContact *contact, ContactsData *data)
+{
+	GList *l = g_list_prepend (NULL, contact);
+	contacts_changed_cb (data->book_view, l, data);
+	g_list_free (l);
+}
 
 GtkWidget *
 create_contacts_list (ContactsData *data)
@@ -203,6 +211,9 @@
 
 	/*** view mode ****/
 	ui->contact_pane = contacts_contact_pane_new();
+
+	g_signal_connect (ui->contact_pane, "fullname-changed", (GCallback) fullname_changed_cb, contacts_data);
+
 	contacts_contact_pane_set_editable (CONTACTS_CONTACT_PANE (ui->contact_pane), FALSE);
 	/* The book view is set later when we get it back */
 	gtk_notebook_append_page (GTK_NOTEBOOK (ui->main_notebook), ui->contact_pane, NULL);





More information about the commitlog mailing list