gtk_widget_destroy (banner);
g_object_unref (G_OBJECT (banner));
}
- modest_recpt_editor_grab_focus (recpt_editor);
g_slist_foreach (start_indexes, (GFunc) g_free, NULL);
g_slist_foreach (end_indexes, (GFunc) g_free, NULL);
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)) {
+ 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)) {
+ 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)) {
+ modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->bcc_field));
return FALSE;
+ }
- modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->to_field));
+ if (!modest_recpt_editor_has_focus (MODEST_RECPT_EDITOR (priv->cc_field)) &&
+ !modest_recpt_editor_has_focus (MODEST_RECPT_EDITOR (priv->bcc_field)))
+ modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->to_field));
return TRUE;
gtk_widget_grab_focus (priv->text_view);
}
+gboolean
+modest_recpt_editor_has_focus (ModestRecptEditor *recpt_editor)
+{
+ ModestRecptEditorPrivate *priv;
+
+ g_return_val_if_fail (MODEST_IS_RECPT_EDITOR (recpt_editor), FALSE);
+ priv = MODEST_RECPT_EDITOR_GET_PRIVATE (recpt_editor);
+
+ return gtk_widget_is_focus (priv->text_view);
+}
+
static void
modest_recpt_editor_finalize (GObject *object)
{
void modest_recpt_editor_set_field_size_group (ModestRecptEditor *recpt_editor, GtkSizeGroup *size_group);
GtkTextBuffer *modest_recpt_editor_get_buffer (ModestRecptEditor *recpt_editor);
void modest_recpt_editor_grab_focus (ModestRecptEditor *recpt_editor);
+gboolean modest_recpt_editor_has_focus (ModestRecptEditor *recpt_editor);
G_END_DECLS