X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-address-book.c;h=7377e4e0f1dafcf7bb8a3620c6b3658f00f4efcf;hp=a542afc5f92cc907be391e58a9b91f125734200e;hb=e374da56f67092cecb1572dd4bee2ca34e0bc04c;hpb=9dfcf2eabe661d6d9837e7ceb3ee4cacf6690a03;ds=sidebyside diff --git a/src/hildon2/modest-address-book.c b/src/hildon2/modest-address-book.c index a542afc..7377e4e 100644 --- a/src/hildon2/modest-address-book.c +++ b/src/hildon2/modest-address-book.c @@ -36,8 +36,8 @@ #include #include #include -#include #include "modest-hildon-includes.h" +#include #include "modest-platform.h" #include "modest-runtime.h" #include "widgets/modest-window-mgr.h" @@ -190,7 +190,6 @@ modest_address_book_select_addresses (ModestRecptEditor *recpt_editor) osso_abook_contact_selector_set_minimum_selection (OSSO_ABOOK_CONTACT_SELECTOR (contact_view), 1); contact_dialog = osso_abook_select_dialog_new (OSSO_ABOOK_TREE_VIEW (contact_view)); - gtk_window_set_title (GTK_WINDOW (contact_dialog), _("mcen_ti_select_recipients")); toplevel = gtk_widget_get_toplevel (GTK_WIDGET (recpt_editor)); modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (contact_dialog), GTK_WINDOW (toplevel)); @@ -204,17 +203,18 @@ modest_address_book_select_addresses (ModestRecptEditor *recpt_editor) #else /* MODEST_ABOOK_API < 4 */ /* TODO: figure out how to make the contact chooser modal */ contact_chooser = osso_abook_contact_chooser_new_with_capabilities (NULL, - _("mcen_ti_select_recipients"), + _AB("addr_ti_dia_select_contacts"), OSSO_ABOOK_CAPS_EMAIL, OSSO_ABOOK_CONTACT_ORDER_NAME); + /* Enable multiselection */ + osso_abook_contact_chooser_set_maximum_selection (OSSO_ABOOK_CONTACT_CHOOSER (contact_chooser), + G_MAXUINT); if (gtk_dialog_run (GTK_DIALOG (contact_chooser)) == GTK_RESPONSE_OK) contacts_list = osso_abook_contact_chooser_get_selection (OSSO_ABOOK_CONTACT_CHOOSER (contact_chooser)); gtk_widget_destroy (contact_chooser); - - g_object_unref (contact_chooser); #endif - + if (contacts_list) { GList *node; @@ -365,14 +365,18 @@ commit_contact(EContact * contact, gboolean is_new) { g_return_if_fail (contact); g_return_if_fail (book); - + if (!contact || !book) return; - -#if MODEST_ABOOK_API < 2 + +#if MODEST_ABOOK_API < 4 osso_abook_contact_commit(contact, is_new, book); #else - osso_abook_contact_commit(contact, is_new, book, NULL); + if (OSSO_ABOOK_IS_CONTACT (contact)) { + osso_abook_contact_commit(OSSO_ABOOK_CONTACT(contact), is_new, book, NULL); + } else { + e_book_commit_contact (book, contact, NULL); + } #endif /* MODEST_ABOOK_API < 2 */ } @@ -463,8 +467,7 @@ run_add_email_addr_to_contact_dlg(const gchar * contact_name) add_email_addr_to_contact_dlg = gtk_dialog_new_with_buttons(_("mcen_ti_add_email_title"), NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, - _("mcen_bd_dialog_ok"), GTK_RESPONSE_ACCEPT, - _("mcen_bd_dialog_cancel"), GTK_RESPONSE_REJECT, NULL); + _HL("wdgt_bd_done"), GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_has_separator(GTK_DIALOG(add_email_addr_to_contact_dlg), FALSE); /*Set app_name & state_save related tags to the window */ @@ -553,8 +556,7 @@ select_email_addrs_for_contact(GList * email_addr_list) gtk_dialog_new_with_buttons(_("mcen_ti_select_email_title"), NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, - _("mcen_bd_dialog_ok"), GTK_RESPONSE_ACCEPT, - _("mcen_bd_dialog_cancel"), GTK_RESPONSE_REJECT, NULL); + _HL("wdgt_bd_done"), GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_has_separator(GTK_DIALOG(select_email_addr_dlg), FALSE); /* Make the window approximately big enough, because it doesn't resize to be big enough @@ -873,18 +875,14 @@ select_contacts_for_name_dialog (const gchar *name) e_book_query_unref (full_name_book_query); if (book_view) { - GtkWidget *contact_view = NULL; GtkWidget *contact_dialog = NULL; #if MODEST_ABOOK_API < 4 + GtkWidget *contact_view = NULL; osso_abook_tree_model_set_book_view (OSSO_ABOOK_TREE_MODEL (contact_model), book_view); -#else /* MODEST_ABOOK_API < 4 */ - osso_abook_list_store_set_book_view (OSSO_ABOOK_LIST_STORE (contact_model), book_view); -#endif /* MODEST_ABOOK_API < 4 */ e_book_view_start (book_view); - + contact_view = osso_abook_contact_selector_new_basic (contact_model); contact_dialog = osso_abook_select_dialog_new (OSSO_ABOOK_TREE_VIEW (contact_view)); - gtk_window_set_title (GTK_WINDOW (contact_dialog), _("mcen_ti_select_recipients")); if (gtk_dialog_run (GTK_DIALOG (contact_dialog)) == GTK_RESPONSE_OK) { result = osso_abook_contact_view_get_selection (OSSO_ABOOK_CONTACT_VIEW (contact_view)); @@ -892,6 +890,24 @@ select_contacts_for_name_dialog (const gchar *name) e_book_view_stop (book_view); g_object_unref (book_view); gtk_widget_destroy (contact_dialog); +#else /* MODEST_ABOOK_API < 4 */ + osso_abook_list_store_set_book_view (OSSO_ABOOK_LIST_STORE (contact_model), book_view); + e_book_view_start (book_view); + + /* TODO: figure out how to make the contact chooser modal */ + contact_dialog = osso_abook_contact_chooser_new_with_capabilities (NULL, + _AB("addr_ti_dia_select_contacts"), + OSSO_ABOOK_CAPS_EMAIL, + OSSO_ABOOK_CONTACT_ORDER_NAME); + osso_abook_contact_chooser_set_model (OSSO_ABOOK_CONTACT_CHOOSER (contact_dialog), + contact_model); + + if (gtk_dialog_run (GTK_DIALOG (contact_dialog)) == GTK_RESPONSE_OK) + result = osso_abook_contact_chooser_get_selection (OSSO_ABOOK_CONTACT_CHOOSER (contact_dialog)); + e_book_view_stop (book_view); + g_object_unref (book_view); + gtk_widget_destroy (contact_dialog); +#endif /* MODEST_ABOOK_API < 4 */ } return result; @@ -903,7 +919,7 @@ resolve_address (const gchar *address, GSList **resolved_addresses, gchar **cont GList *resolved_contacts; guint banner_timeout; GtkWidget *banner = NULL; - + banner_timeout = g_timeout_add (500, show_check_names_banner, &banner); contact_model = osso_abook_contact_model_new ();