}
gboolean
-modest_address_book_check_names (ModestRecptEditor *recpt_editor, gboolean update_addressbook)
+modest_address_book_check_names (ModestRecptEditor *recpt_editor,
+ GSList **address_list)
{
const gchar *recipients = NULL;
GSList *start_indexes = NULL, *end_indexes = NULL;
- GSList *current_start, *current_end, *to_commit_addresses;
+ GSList *current_start, *current_end;
gboolean result = TRUE;
GtkTextBuffer *buffer;
gint offset_delta = 0;
current_start = start_indexes;
current_end = end_indexes;
buffer = modest_recpt_editor_get_buffer (recpt_editor);
- to_commit_addresses = NULL;
+ if (address_list)
+ *address_list = NULL;
while (current_start != NULL) {
gchar *address;
}
g_slist_free (tags);
if (!has_recipient) {
- GSList * address_list = NULL;
+ GSList * addr_list = NULL;
- address_list = g_slist_prepend (address_list, address);
+ addr_list = g_slist_prepend (addr_list, address);
modest_recpt_editor_replace_with_resolved_recipient (recpt_editor,
&start_iter, &end_iter,
- address_list,
+ addr_list,
"");
- g_slist_free (address_list);
+ g_slist_free (addr_list);
store_address = TRUE;
}
}
/* so, it seems a valid address */
/* note: adding it the to the addressbook if it did not exist yet,
* and adding it to the recent_list */
- if (result && update_addressbook && store_address)
- to_commit_addresses = g_slist_prepend (to_commit_addresses, address);
+ if (result && address_list && store_address)
+ *address_list = g_slist_prepend (*address_list, address);
else
g_free (address);
current_end = g_slist_next (current_end);
}
- /* Add addresses to address-book */
- if (to_commit_addresses) {
- to_commit_addresses = modest_text_utils_remove_duplicate_addresses_list (to_commit_addresses);
- if (to_commit_addresses)
- modest_address_book_add_address_list (to_commit_addresses);
- }
+ /* Remove dup's */
+ if (address_list && *address_list)
+ *address_list = modest_text_utils_remove_duplicate_addresses_list (*address_list);
if (current_start == NULL) {
gtk_text_buffer_get_end_iter (buffer, &end_iter);
}
g_object_ref (window);
- if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field), add_to_addressbook)) {
+/* if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field), add_to_addressbook)) { */
+ if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field), NULL)) {
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->to_field));
g_object_unref (window);
return FALSE;
}
- if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field), add_to_addressbook)) {
+/* if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field), add_to_addressbook)) { */
+ if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field), NULL)) {
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->cc_field));
g_object_unref (window);
return FALSE;
}
- if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), add_to_addressbook)) {
+/* if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), add_to_addressbook)) { */
+ if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), NULL)) {
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->bcc_field));
g_object_unref (window);
return FALSE;
}
gboolean
-modest_address_book_check_names (ModestRecptEditor *recpt_editor, gboolean update_addressbook)
+modest_address_book_check_names (ModestRecptEditor *recpt_editor,
+ GSList **address_list)
{
const gchar *recipients = NULL;
GSList *start_indexes = NULL, *end_indexes = NULL;
}
g_slist_free (tags);
if (!has_recipient) {
- GSList * address_list = NULL;
+ GSList * addr_list = NULL;
- address_list = g_slist_prepend (address_list, address);
+ addr_list = g_slist_prepend (addr_list, address);
modest_recpt_editor_replace_with_resolved_recipient (recpt_editor,
&start_iter, &end_iter,
- address_list,
+ addr_list,
"");
- g_slist_free (address_list);
+ g_slist_free (addr_list);
store_address = TRUE;
}
}
/* so, it seems a valid address */
/* note: adding it the to the addressbook if it did not exist yet,
* and adding it to the recent_list */
- if (result && update_addressbook && store_address)
+ if (result && store_address)
add_to_address_book (address);
g_free (address);
return FALSE;
}
- if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field), add_to_addressbook)) {
+/* if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field), add_to_addressbook)) { */
+ if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field), NULL)) {
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->to_field));
return FALSE;
}
- if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field), add_to_addressbook)) {
+/* if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field), add_to_addressbook)) { */
+ if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field), NULL)) {
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->cc_field));
return FALSE;
}
- if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), add_to_addressbook)) {
+/* if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), add_to_addressbook)) { */
+ if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), NULL)) {
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->bcc_field));
return FALSE;
}
return;
}
-gboolean modest_address_book_check_names (ModestRecptEditor *editor, gboolean update_addressbook)
+gboolean modest_address_book_check_names (ModestRecptEditor *editor,
+ GSList **address_list)
{
/* let's be optimistic */
return TRUE;
/**
* modest_address_book_check_names:
* @editor: a #ModestRecptEditor
- * @update_addressbook: if TRUE, add valid addresses to the addressbook, recent list
- *
+ * @address_list: if it is not NULL, this list is filled with the
+ * valid addresses ready to be added to the address book
+ *
* Performs verification of addresses in a recipient editor.
*
* Returns: %TRUE if all recipients are valid or there are
* no recipients, %FALSE otherwise.
*/
gboolean
-modest_address_book_check_names (ModestRecptEditor *editor, gboolean update_addressbook);
+modest_address_book_check_names (ModestRecptEditor *editor,
+ GSList **address_list);
/**
* modest_address_book_has_address: