r4250 - in trunk/src/target/OM-2007.2/applications/openmoko-dialer2: . src/dialer
thomas at sita.openmoko.org
thomas at sita.openmoko.org
Wed Mar 26 00:11:41 CET 2008
Author: thomas
Date: 2008-03-26 00:11:39 +0100 (Wed, 26 Mar 2008)
New Revision: 4250
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer/moko-history.c
Log:
2008-03-25 Thomas Wood <thomas at openedhand.com>
* src/dialog/moko-history.c: Implement "Create New Contact" from call
log
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog 2008-03-25 22:12:32 UTC (rev 4249)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog 2008-03-25 23:11:39 UTC (rev 4250)
@@ -1,3 +1,8 @@
+2008-03-25 Thomas Wood <thomas at openedhand.com>
+
+ * src/dialog/moko-history.c: Implement "Create New Contact" from call
+ log
+
2008-03-20 Thomas Wood <thomas at openedhand.com>
* Makefile.am:
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer/moko-history.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer/moko-history.c 2008-03-25 22:12:32 UTC (rev 4249)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer/moko-history.c 2008-03-25 23:11:39 UTC (rev 4250)
@@ -220,6 +220,48 @@
}
static void
+create_new_contact_from_number (gchar *number)
+{
+ GtkWidget *dialog, *name, *label;
+
+ dialog = gtk_dialog_new_with_buttons ("Save as Contact",
+ NULL, GTK_DIALOG_MODAL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL);
+
+ gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
+
+ label = gtk_label_new ("Enter a name for the contact");
+ name = gtk_entry_new ();
+
+ gtk_box_pack_start_defaults (GTK_BOX (GTK_DIALOG(dialog)->vbox), label);
+ gtk_box_pack_start_defaults (GTK_BOX (GTK_DIALOG(dialog)->vbox), name);
+
+ gtk_widget_show (label);
+ gtk_widget_show (name);
+
+ if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
+ {
+ EContact *contact;
+ EBook *book;
+
+ /* create contact */
+ contact = e_contact_new ();
+ e_contact_set (contact, E_CONTACT_FULL_NAME, gtk_entry_get_text (GTK_ENTRY (name)));
+ e_contact_set (contact, E_CONTACT_PHONE_OTHER, number);
+
+ /* open address book */
+ book = e_book_new_system_addressbook (NULL);
+ e_book_open (book, FALSE, NULL);
+
+ /* add contact to address book, and close */
+ e_book_add_contact (book, contact, NULL);
+ g_object_unref (book);
+ g_object_unref (contact);
+ }
+ gtk_widget_destroy (dialog);
+}
+
+static void
on_btn_save_clicked (GtkWidget *button, SaveButtonInfo *info)
{
gint action = info->response_id;
@@ -229,7 +271,10 @@
gtk_widget_destroy (info->dialog);
if (action == 1)
- { /* create new contact */ }
+ {
+ /* create new contact */
+ create_new_contact_from_number (number);
+ }
else
{
EBook *book;
More information about the commitlog
mailing list