Send commitlog mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]
You can reach the person managing the list at
[EMAIL PROTECTED]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:
1. r3467 - in
trunk/src/target/OM-2007.2/applications/openmoko-messages2: . src
([EMAIL PROTECTED])
2. r3468 - in
trunk/src/target/OM-2007.2/applications/openmoko-messages2: . src
([EMAIL PROTECTED])
3. r3469 - in
trunk/src/target/OM-2007.2/applications/openmoko-messages2: . src
([EMAIL PROTECTED])
4. r3470 - in
trunk/src/target/OM-2007.2/applications/openmoko-messages2: . src
([EMAIL PROTECTED])
5. r3471 - in
trunk/src/target/OM-2007.2/applications/openmoko-messages2: . src
([EMAIL PROTECTED])
6. r3472 - trunk/src/host/qemu-neo1973/openmoko
([EMAIL PROTECTED])
--- Begin Message ---
Author: chris
Date: 2007-11-21 17:11:23 +0100 (Wed, 21 Nov 2007)
New Revision: 3467
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
Log:
* src/sms-contacts.c: (contacts_iter_compare_func),
(sms_contacts_page_new):
Add a sort function for the contacts
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 16:05:13 UTC (rev 3466)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 16:11:23 UTC (rev 3467)
@@ -1,5 +1,11 @@
2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+ * src/sms-contacts.c: (contacts_iter_compare_func),
+ (sms_contacts_page_new):
+ Add a sort function for the contacts
+
+2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+
* src/sms-contacts.c: (nophoto_filter_func),
(sms_contacts_page_new):
Use a filter modify func to set contacts with no photo to the
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
===================================================================
---
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
2007-11-21 16:05:13 UTC (rev 3466)
+++
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
2007-11-21 16:11:23 UTC (rev 3467)
@@ -20,7 +20,10 @@
#include "sms-contacts.h"
#include <libmokoui2/moko-finger-scroll.h>
#include <libmokoui2/moko-search-bar.h>
-#include <config.h>
+#include <string.h>
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
/* Following two functions taken from pimlico Contacts */
static void
@@ -176,6 +179,32 @@
}
}
+static gint
+contacts_iter_compare_func (GtkTreeModel *model, GtkTreeIter *a,
+ GtkTreeIter *b, SmsData *data)
+{
+ gint result;
+ gchar *name1, *name2, *name1c, *name2c;
+
+ gtk_tree_model_get (model, a, COL_NAME, &name1, -1);
+ gtk_tree_model_get (model, b, COL_NAME, &name2, -1);
+
+ name1c = g_utf8_casefold (name1, -1);
+ name2c = g_utf8_casefold (name2, -1);
+
+ if (name1c && name2c) result = strcmp (name1c, name2c);
+ else if (name1c) result = 1;
+ else if (name2c) result = -1;
+ else result = 0;
+
+ g_free (name1c);
+ g_free (name1);
+ g_free (name2c);
+ g_free (name2);
+
+ return result;
+}
+
GtkWidget *
sms_contacts_page_new (SmsData *data)
{
@@ -231,8 +260,14 @@
gtk_icon_theme_get_default (), "stock_person", 48, 0, NULL);
/* Create contacts model */
- data->contacts_store = gtk_list_store_new (COL_LAST,
+ data->contacts_store = (GtkTreeModel *)gtk_list_store_new (COL_LAST,
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, GDK_TYPE_PIXBUF);
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (
+ data->contacts_store), COL_NAME,
+ (GtkTreeIterCompareFunc)contacts_iter_compare_func,
+ data, NULL);
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (
+ data->contacts_store), COL_NAME, GTK_SORT_ASCENDING);
data->contacts = g_hash_table_new_full (g_str_hash, g_str_equal,
(GDestroyNotify)g_free, (GDestroyNotify)free_iter_slice);
--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-21 17:55:09 +0100 (Wed, 21 Nov 2007)
New Revision: 3468
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
Log:
* src/sms-notes.c: (get_selected_contact), (page_hidden),
(sms_notes_data_func), (sms_notes_page_new):
* src/sms.h:
Add some code to show avatars/change justification depending on whether
a message was sent or received (unfinished)
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 16:11:23 UTC (rev 3467)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 16:55:09 UTC (rev 3468)
@@ -1,5 +1,13 @@
2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+ * src/sms-notes.c: (get_selected_contact), (page_hidden),
+ (sms_notes_data_func), (sms_notes_page_new):
+ * src/sms.h:
+ Add some code to show avatars/change justification depending on whether
+ a message was sent or received (unfinished)
+
+2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+
* src/sms-contacts.c: (contacts_iter_compare_func),
(sms_contacts_page_new):
Add a sort function for the contacts
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
2007-11-21 16:11:23 UTC (rev 3467)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
2007-11-21 16:55:09 UTC (rev 3468)
@@ -23,6 +23,7 @@
#include <libmokoui2/moko-finger-scroll.h>
#include <libmokoui2/moko-search-bar.h>
#include <libebook/e-book.h>
+#include <string.h>
static GdkColor alt_color;
static gboolean hidden = TRUE;
@@ -44,7 +45,8 @@
if (!gtk_tree_selection_get_selected (selection, &model, &iter))
return NULL;
- gtk_tree_model_get (model, &iter, COL_UID, &uid, -1);
+ gtk_tree_model_get (model, &iter, COL_UID, &uid,
+ COL_ICON, &data->author_icon, -1);
if (!e_book_get_contact (data->ebook, uid, &contact, &error)) {
g_warning ("Error retrieving contact: %s", error->message);
@@ -100,6 +102,10 @@
data->note_store), NULL);
gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (
data->new_button), FALSE);
+ if (data->recipient_icon) {
+ g_object_unref (data->recipient_icon);
+ data->recipient_icon = NULL;
+ }
}
static void
@@ -208,26 +214,47 @@
GtkTreeIter *iter,
SmsData *data)
{
- gchar *author, *recipient, *body;
+ gchar *author, *recipient, *body, **categories;
JanaTime *created, *modified;
+ gboolean outgoing = FALSE;
+ gint i;
gtk_tree_model_get (model, iter,
JANA_GTK_NOTE_STORE_COL_AUTHOR, &author,
JANA_GTK_NOTE_STORE_COL_RECIPIENT, &recipient,
JANA_GTK_NOTE_STORE_COL_BODY, &body,
JANA_GTK_NOTE_STORE_COL_CREATED, &created,
- JANA_GTK_NOTE_STORE_COL_MODIFIED, &modified, -1);
+ JANA_GTK_NOTE_STORE_COL_MODIFIED, &modified,
+ JANA_GTK_NOTE_STORE_COL_CATEGORIES, &categories, -1);
+ if (categories) for (i = 0; categories[i]; i++) {
+ /* Note that this category is not meant for display and
+ * shouldn't be translated... (see phone-kit)
+ */
+ if ((strcmp (categories[i], "Sent") == 0) ||
+ (strcmp (categories[i], "Sending") == 0) ||
+ (strcmp (categories[i], "Rejected") == 0)) {
+ outgoing = TRUE;
+ break;
+ }
+ }
+
g_object_set (cell,
"author", author,
"recipient", recipient,
"body", body,
"created", created,
- "modified", modified, NULL);
+ "modified", modified,
+ "justify", outgoing ?
+ GTK_JUSTIFY_LEFT : GTK_JUSTIFY_RIGHT,
+ "icon", outgoing ?
+ data->author_icon : data->recipient_icon,
+ NULL);
g_free (author);
g_free (recipient);
g_free (body);
+ g_strfreev (categories);
if (created) g_object_unref (created);
if (modified) g_object_unref (modified);
}
@@ -247,6 +274,9 @@
GtkCellRenderer *renderer;
GHashTable *colours_hash;
+ /* FIXME: Set recipient pixbuf */
+ data->recipient_icon = g_object_ref (data->no_photo);
+
/* Create note store */
data->notes = jana_ecal_store_new (JANA_COMPONENT_NOTE);
g_signal_connect (data->notes, "opened",
@@ -259,6 +289,7 @@
/* Create a category-colour hash for the cell renderer */
colours_hash = g_hash_table_new (g_str_hash, g_str_equal);
g_hash_table_insert (colours_hash, "Sent", &alt_color);
+ g_hash_table_insert (colours_hash, "Sending", &alt_color);
/* Create treeview and cell renderer */
treeview = gtk_tree_view_new_with_model (data->note_filter);
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
2007-11-21 16:11:23 UTC (rev 3467)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
2007-11-21 16:55:09 UTC (rev 3468)
@@ -47,6 +47,8 @@
GtkWidget *notes_combo;
GtkWidget *sms_hbox;
GtkWidget *sms_textview;
+ GdkPixbuf *author_icon;
+ GdkPixbuf *recipient_icon;
GtkWidget *contacts_treeview;
GtkWidget *contacts_combo;
--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-21 18:01:11 +0100 (Wed, 21 Nov 2007)
New Revision: 3469
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/Makefile.am
Log:
* src/Makefile.am:
Remove spurious libhito bits
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 16:55:09 UTC (rev 3468)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 17:01:11 UTC (rev 3469)
@@ -1,5 +1,10 @@
2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+ * src/Makefile.am:
+ Remove spurious libhito bits
+
+2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+
* src/sms-notes.c: (get_selected_contact), (page_hidden),
(sms_notes_data_func), (sms_notes_page_new):
* src/sms.h:
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/Makefile.am
2007-11-21 16:55:09 UTC (rev 3468)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/Makefile.am
2007-11-21 17:01:11 UTC (rev 3469)
@@ -1,5 +1,4 @@
-INCLUDES = -I$(top_srcdir)/libhito
AM_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\" $(GTK_CFLAGS) $(JANA_CFLAGS)
$(MOKOUI_CFLAGS) $(EBOOK_CFLAGS) $(DBUS_CFLAGS) -Wall
AM_LDFLAGS = $(GTK_LIBS) $(JANA_LIBS) $(MOKOUI_LIBS) $(EBOOK_LIBS) $(DBUS_LIBS)
@@ -13,5 +12,3 @@
sms-notes.c \
sms-notes.h
-openmoko_messages_LDADD = $(top_srcdir)/libhito/libhito.a
-
--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-21 18:07:03 +0100 (Wed, 21 Nov 2007)
New Revision: 3470
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
Log:
* src/sms-notes.c: (sms_notes_page_new):
Check if no-photo icon is NULL before reffing it
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 17:01:11 UTC (rev 3469)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 17:07:03 UTC (rev 3470)
@@ -1,5 +1,10 @@
2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+ * src/sms-notes.c: (sms_notes_page_new):
+ Check if no-photo icon is NULL before reffing it
+
+2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+
* src/Makefile.am:
Remove spurious libhito bits
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
2007-11-21 17:01:11 UTC (rev 3469)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
2007-11-21 17:07:03 UTC (rev 3470)
@@ -275,7 +275,8 @@
GHashTable *colours_hash;
/* FIXME: Set recipient pixbuf */
- data->recipient_icon = g_object_ref (data->no_photo);
+ data->recipient_icon = data->no_photo ?
+ g_object_ref (data->no_photo) : NULL;
/* Create note store */
data->notes = jana_ecal_store_new (JANA_COMPONENT_NOTE);
--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-21 19:31:53 +0100 (Wed, 21 Nov 2007)
New Revision: 3471
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.h
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
Log:
* src/sms-contacts.c: (sms_contacts_load_photo),
(clear_numbers_cb), (clear_numbers), (contacts_store),
(contacts_changed_cb), (contacts_removed_cb),
(sms_contacts_page_new):
Maintain a number->contact uid hash table
* src/sms-contacts.h:
Make contact photo-loading function public
* src/sms-notes.c: (get_selected_contact), (note_changed_cb),
(page_shown), (page_hidden), (send_clicked_cb),
(sms_notes_data_func), (sms_notes_page_new):
Don't use categories to determine outgoing status, retrieve avatars for
conversation participants
* src/sms.h:
Extra variables for new features
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 17:07:03 UTC (rev 3470)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
2007-11-21 18:31:53 UTC (rev 3471)
@@ -1,5 +1,25 @@
2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+ * src/sms-contacts.c: (sms_contacts_load_photo),
+ (clear_numbers_cb), (clear_numbers), (contacts_store),
+ (contacts_changed_cb), (contacts_removed_cb),
+ (sms_contacts_page_new):
+ Maintain a number->contact uid hash table
+
+ * src/sms-contacts.h:
+ Make contact photo-loading function public
+
+ * src/sms-notes.c: (get_selected_contact), (note_changed_cb),
+ (page_shown), (page_hidden), (send_clicked_cb),
+ (sms_notes_data_func), (sms_notes_page_new):
+ Don't use categories to determine outgoing status, retrieve avatars for
+ conversation participants
+
+ * src/sms.h:
+ Extra variables for new features
+
+2007-11-21 Chris Lord <[EMAIL PROTECTED]>
+
* src/sms-notes.c: (sms_notes_page_new):
Check if no-photo icon is NULL before reffing it
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
===================================================================
---
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
2007-11-21 17:07:03 UTC (rev 3470)
+++
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
2007-11-21 18:31:53 UTC (rev 3471)
@@ -40,7 +40,7 @@
}
GdkPixbuf *
-contacts_load_photo (EContact *contact)
+sms_contacts_load_photo (EContact *contact)
{
EContactPhoto *photo;
GdkPixbuf *pixbuf = NULL;
@@ -85,15 +85,50 @@
return pixbuf;
}
+static const gchar *clear_numbers_uid;
+
static void
+clear_numbers_cb (gchar *number, gchar *uid, GList **list)
+{
+ if (strcmp (uid, clear_numbers_uid) == 0)
+ *list = g_list_prepend (*list, number);
+}
+
+static void
+clear_numbers (SmsData *data, const gchar *uid)
+{
+ GList *n, *numbers = NULL;
+
+ clear_numbers_uid = uid;
+ g_hash_table_foreach (data->numbers,
+ (GHFunc)clear_numbers_cb, &numbers);
+
+ for (n = numbers; n; n = n->next)
+ g_hash_table_remove (data->numbers, n->data);
+ g_list_free (numbers);
+}
+
+static void
contacts_store (SmsData *data, GtkTreeIter *iter, EContact *contact)
{
- GdkPixbuf *photo = contacts_load_photo (contact);
+ gint i;
+
+ GdkPixbuf *photo = sms_contacts_load_photo (contact);
+
gtk_list_store_set ((GtkListStore *)data->contacts_store, iter,
COL_UID, e_contact_get_const (contact, E_CONTACT_UID),
COL_NAME, e_contact_get_const (contact, E_CONTACT_FULL_NAME),
COL_ICON, photo, -1);
if (photo) g_object_unref (photo);
+
+ for (i = E_CONTACT_FIRST_PHONE_ID; i <= E_CONTACT_LAST_PHONE_ID; i++) {
+ gchar *number = e_contact_get (contact, (EContactField)i);
+
+ if (!number) continue;
+
+ g_hash_table_insert (data->numbers, number,
+ e_contact_get (contact, E_CONTACT_UID));
+ }
}
static void
@@ -127,7 +162,10 @@
uid = e_contact_get_const (contact, E_CONTACT_UID);
iter = g_hash_table_lookup (data->contacts, uid);
- if (iter) contacts_store (data, iter, contact);
+ if (iter) {
+ clear_numbers (data, uid);
+ contacts_store (data, iter, contact);
+ }
}
}
@@ -140,6 +178,7 @@
if (!iter) continue;
+ clear_numbers (data, (const gchar *)uids->data);
gtk_list_store_remove ((GtkListStore *)
data->contacts_store, iter);
g_hash_table_remove (data->contacts, uids->data);
@@ -270,6 +309,8 @@
data->contacts_store), COL_NAME, GTK_SORT_ASCENDING);
data->contacts = g_hash_table_new_full (g_str_hash, g_str_equal,
(GDestroyNotify)g_free, (GDestroyNotify)free_iter_slice);
+ data->numbers = g_hash_table_new_full (g_str_hash, g_str_equal,
+ (GDestroyNotify)g_free, (GDestroyNotify)g_free);
/* Create filter */
data->contacts_filter = gtk_tree_model_filter_new (
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.h
===================================================================
---
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.h
2007-11-21 17:07:03 UTC (rev 3470)
+++
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.h
2007-11-21 18:31:53 UTC (rev 3471)
@@ -31,6 +31,7 @@
};
GtkWidget *sms_contacts_page_new (SmsData *data);
+GdkPixbuf *sms_contacts_load_photo (EContact *contact);
#endif
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
2007-11-21 17:07:03 UTC (rev 3470)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
2007-11-21 18:31:53 UTC (rev 3471)
@@ -36,7 +36,6 @@
GtkTreeModel *model;
EContact *contact;
GtkTreeIter iter;
- gchar *uid;
GError *error = NULL;
@@ -45,21 +44,67 @@
if (!gtk_tree_selection_get_selected (selection, &model, &iter))
return NULL;
- gtk_tree_model_get (model, &iter, COL_UID, &uid,
+ gtk_tree_model_get (model, &iter, COL_UID, &data->author_uid,
COL_ICON, &data->author_icon, -1);
- if (!e_book_get_contact (data->ebook, uid, &contact, &error)) {
+ if (!e_book_get_contact (data->ebook,
+ data->author_uid, &contact, &error)) {
g_warning ("Error retrieving contact: %s", error->message);
g_error_free (error);
contact = NULL;
}
- g_free (uid);
-
return contact;
}
static void
+note_changed_cb (JanaStoreView *store_view, GList *components, SmsData *data)
+{
+ if (data->recipient_number) goto note_changed_cb_end;
+
+ /* Set recipient icon */
+ for (; components; components = components->next) {
+ EContact *contact;
+ const gchar *uid;
+ JanaNote *note;
+
+ GError *error = NULL;
+
+ note = JANA_NOTE (components->data);
+ data->recipient_number = jana_note_get_recipient (note);
+
+ if (!data->recipient_number) continue;
+
+ uid = g_hash_table_lookup (data->numbers,
+ data->recipient_number);
+ if ((!uid) || (!data->author_uid) ||
+ strcmp (uid, data->author_uid) == 0) {
+ g_free (data->recipient_number);
+ data->recipient_number = NULL;
+ continue;
+ }
+
+ if (!e_book_get_contact (data->ebook, uid, &contact, &error)) {
+ /* TODO: Unknown contact, probably */
+ } else {
+ data->recipient_icon =
+ sms_contacts_load_photo (contact);
+ if ((!data->recipient_icon) && (data->no_photo))
+ data->recipient_icon =
+ g_object_ref (data->no_photo);
+ g_object_unref (contact);
+ break;
+ }
+ }
+
+note_changed_cb_end:
+ /* Remove handlers */
+ if (data->recipient_number)
+ g_signal_handlers_disconnect_by_func (
+ store_view, note_changed_cb, data);
+}
+
+static void
page_shown (SmsData *data)
{
JanaStoreView *store_view;
@@ -88,6 +133,10 @@
if (found_match) {
jana_gtk_note_store_set_view (JANA_GTK_NOTE_STORE (
data->note_store), store_view);
+ g_signal_connect (store_view, "added",
+ G_CALLBACK (note_changed_cb), data);
+ g_signal_connect (store_view, "modified",
+ G_CALLBACK (note_changed_cb), data);
jana_store_view_start (store_view);
}
g_object_unref (store_view);
@@ -102,6 +151,18 @@
data->note_store), NULL);
gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (
data->new_button), FALSE);
+ if (data->author_uid) {
+ g_free (data->author_uid);
+ data->author_uid = NULL;
+ }
+ if (data->author_icon) {
+ g_object_unref (data->author_icon);
+ data->author_icon = NULL;
+ }
+ if (data->recipient_number) {
+ g_free (data->recipient_number);
+ data->recipient_number = NULL;
+ }
if (data->recipient_icon) {
g_object_unref (data->recipient_icon);
data->recipient_icon = NULL;
@@ -198,7 +259,7 @@
if (!dbus_g_proxy_call (data->sms_proxy, "Send", &error,
G_TYPE_STRING, number, G_TYPE_STRING, message,
G_TYPE_INVALID, G_TYPE_STRING, NULL, G_TYPE_INVALID)) {
- g_debug ("Error sending message: %s", error->message);
+ g_warning ("Error sending message: %s", error->message);
g_error_free (error);
}
@@ -214,9 +275,9 @@
GtkTreeIter *iter,
SmsData *data)
{
- gchar *author, *recipient, *body, **categories;
+ gchar *author, *recipient, *body;
JanaTime *created, *modified;
- gboolean outgoing = FALSE;
+ gboolean outgoing;
gint i;
gtk_tree_model_get (model, iter,
@@ -225,19 +286,13 @@
JANA_GTK_NOTE_STORE_COL_BODY, &body,
JANA_GTK_NOTE_STORE_COL_CREATED, &created,
JANA_GTK_NOTE_STORE_COL_MODIFIED, &modified,
- JANA_GTK_NOTE_STORE_COL_CATEGORIES, &categories, -1);
+ -1);
- if (categories) for (i = 0; categories[i]; i++) {
- /* Note that this category is not meant for display and
- * shouldn't be translated... (see phone-kit)
- */
- if ((strcmp (categories[i], "Sent") == 0) ||
- (strcmp (categories[i], "Sending") == 0) ||
- (strcmp (categories[i], "Rejected") == 0)) {
- outgoing = TRUE;
- break;
- }
- }
+ if (recipient && data->recipient_number &&
+ (strcmp (recipient, data->recipient_number) == 0))
+ outgoing = TRUE;
+ else
+ outgoing = FALSE;
g_object_set (cell,
"author", author,
@@ -254,7 +309,6 @@
g_free (author);
g_free (recipient);
g_free (body);
- g_strfreev (categories);
if (created) g_object_unref (created);
if (modified) g_object_unref (modified);
}
@@ -274,9 +328,10 @@
GtkCellRenderer *renderer;
GHashTable *colours_hash;
- /* FIXME: Set recipient pixbuf */
- data->recipient_icon = data->no_photo ?
- g_object_ref (data->no_photo) : NULL;
+ data->author_uid = NULL;
+ data->author_icon = NULL;
+ data->recipient_number = NULL;
+ data->recipient_icon = NULL;
/* Create note store */
data->notes = jana_ecal_store_new (JANA_COMPONENT_NOTE);
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
2007-11-21 17:07:03 UTC (rev 3470)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
2007-11-21 18:31:53 UTC (rev 3471)
@@ -37,6 +37,7 @@
GtkTreeModel *contacts_store;
GtkTreeModel *contacts_filter;
GHashTable *contacts;
+ GHashTable *numbers;
GtkWidget *window;
GtkWidget *notebook;
@@ -49,6 +50,8 @@
GtkWidget *sms_textview;
GdkPixbuf *author_icon;
GdkPixbuf *recipient_icon;
+ gchar *recipient_number;
+ gchar *author_uid;
GtkWidget *contacts_treeview;
GtkWidget *contacts_combo;
--- End Message ---
--- Begin Message ---
Author: andrew
Date: 2007-11-21 22:36:01 +0100 (Wed, 21 Nov 2007)
New Revision: 3472
Modified:
trunk/src/host/qemu-neo1973/openmoko/env
Log:
Update rootfs wildcard to match new buildhost filenames.
Modified: trunk/src/host/qemu-neo1973/openmoko/env
===================================================================
--- trunk/src/host/qemu-neo1973/openmoko/env 2007-11-21 18:31:53 UTC (rev
3471)
+++ trunk/src/host/qemu-neo1973/openmoko/env 2007-11-21 21:36:01 UTC (rev
3472)
@@ -20,7 +20,7 @@
# We don't want the "-latest" symlinks to match
kernel_wildcard="uImage-2.6.*-neo1973.bin"
-rootfs_wildcard="OpenMoko-openmoko-devel-image-*.rootfs.jffs2"
+rootfs_wildcard="OpenMoko-openmoko-*image*.rootfs.jffs2"
uboot_wildcard="u-boot-gta01bv4-1*.bin"
download_dir="http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/neo1973/"
--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog