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