#include "modest-platform.h"
#include "modest-runtime.h"
#include "widgets/modest-window-mgr.h"
+#include "widgets/modest-ui-constants.h"
#include <string.h>
#include <gtk/gtksizegroup.h>
#include <gtk/gtkbox.h>
if (!book)
return FALSE;
- e_book_async_open (book, FALSE, book_open_cb, NULL);
+ if (e_book_async_open (book, FALSE, book_open_cb, NULL) != E_BOOK_ERROR_OK)
+ return FALSE;
return TRUE; /* FIXME */
}
if (!book)
return FALSE;
- e_book_open (book, FALSE, NULL);
-
- return TRUE;
+ return e_book_open (book, FALSE, NULL);
}
void
#if MODEST_ABOOK_API < 4
GtkWidget *contact_view = NULL;
GtkWidget *contact_dialog;
+ GtkWidget *toplevel;
#else /* MODEST_ABOOK_API < 4 */
- OssoABookContactChooser *contact_chooser = NULL;
+ GtkWidget *contact_chooser = NULL;
#endif /* MODEST_ABOOK_API < 4 */
GList *contacts_list = NULL;
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"));
- modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (contact_dialog));
+ 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));
gtk_widget_show (contact_dialog);
}
#else /* MODEST_ABOOK_API < 4 */
/* TODO: figure out how to make the contact chooser modal */
- contact_chooser = osso_abook_contact_chooser_new
- ("title", _("mcen_ti_select_recipients"),
- "help-topic", "",
- "minimum-selection", 1, NULL);
+ contact_chooser = osso_abook_contact_chooser_new_with_capabilities (NULL,
+ _("mcen_ti_select_recipients"),
+ OSSO_ABOOK_CAPS_EMAIL,
+ OSSO_ABOOK_CONTACT_ORDER_NAME);
- if (osso_abook_contact_chooser_run (contact_chooser) == GTK_RESPONSE_OK)
- contacts_list = osso_abook_contact_chooser_get_selection (contact_chooser);
+ 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
abook_contact = osso_abook_contact_new_from_template (contact);
display_name = osso_abook_contact_get_display_name(abook_contact);
- g_object_unref (abook_contact);
#endif
emailid = get_email_addr_from_user(display_name);
e_contact_set(contact, E_CONTACT_EMAIL_1, emailid);
commit_contact(contact, FALSE);
}
+#if MODEST_ABOOK_API >= 4
+ g_object_unref (abook_contact);
+#endif
}
if (emailid) {
/* Make the window approximately big enough, because it doesn't resize to be big enough
* for the window title text: */
- gtk_window_set_default_size (GTK_WINDOW (select_email_addr_dlg), 400, -1);
+ gtk_window_set_default_size (GTK_WINDOW (select_email_addr_dlg), MODEST_DIALOG_WINDOW_MAX_HEIGHT, -1);
scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(select_email_addr_dlg)->vbox), scrolledwindow, TRUE,
g_return_val_if_fail (address, FALSE);
- if (!book)
- open_addressbook ();
+ if (!book) {
+ if (!open_addressbook ()) {
+ g_return_val_if_reached (FALSE);
+ }
+ }
g_return_val_if_fail (book, FALSE);