Remove body frame in hildon2 editor
[modest] / src / widgets / modest-recpt-editor.c
index 912fee5..ea78c4f 100644 (file)
@@ -43,6 +43,7 @@
 #include <string.h>
 #include <gdk/gdkkeysyms.h>
 #include <gtk/gtk.h>
+#include <modest-ui-constants.h>
 
 /* FIXNE: we should have no maemo-deps in widgets/ */
 #ifndef MODEST_TOOLKIT_GTK
@@ -121,7 +122,7 @@ modest_recpt_editor_new (void)
 {
        ModestRecptEditor *self = g_object_new (MODEST_TYPE_RECPT_EDITOR, 
                                                "homogeneous", FALSE,
-                                               "spacing", 1,
+                                               "spacing", MODEST_MARGIN_NONE,
                                                NULL);
 
        return GTK_WIDGET (self);
@@ -280,27 +281,30 @@ modest_recpt_editor_replace_with_resolved_recipient (ModestRecptEditor *recpt_ed
 
        gtk_text_buffer_delete (buffer, start, end);
 
-       tag = gtk_text_buffer_create_tag (buffer, NULL, 
-                                         "underline", PANGO_UNDERLINE_SINGLE,
-                                         "wrap-mode", GTK_WRAP_NONE,
-                                         "editable", TRUE, NULL);
-
-       g_object_set_data (G_OBJECT (tag), "recipient-tag-id", GINT_TO_POINTER (RECIPIENT_TAG_ID));
-       g_object_set_data_full (G_OBJECT (tag), "recipient-id", g_strdup (recipient_id), (GDestroyNotify) g_free);
-
-       for (node = email_list; node != NULL; node = g_slist_next (node)) {
-               gchar *recipient = (gchar *) node->data;
+       if (email_list) {
+         
+               tag = gtk_text_buffer_create_tag (buffer, NULL, 
+                                                 "underline", PANGO_UNDERLINE_SINGLE,
+                                                 "wrap-mode", GTK_WRAP_NONE,
+                                                 "editable", TRUE, NULL);
 
-               if ((recipient) && (strlen (recipient) != 0)) {
-
-                       if (!is_first_recipient)
-                       gtk_text_buffer_insert (buffer, start, "\n", -1);
-
-                       gtk_text_buffer_insert_with_tags (buffer, start, recipient, -1, tag, NULL);
-
-                       if (node->next != NULL)
-                               gtk_text_buffer_insert (buffer, start, ";", -1);
-                       is_first_recipient = FALSE;
+               g_object_set_data (G_OBJECT (tag), "recipient-tag-id", GINT_TO_POINTER (RECIPIENT_TAG_ID));
+               g_object_set_data_full (G_OBJECT (tag), "recipient-id", g_strdup (recipient_id), (GDestroyNotify) g_free);
+               
+               for (node = email_list; node != NULL; node = g_slist_next (node)) {
+                       gchar *recipient = (gchar *) node->data;
+
+                       if ((recipient) && (strlen (recipient) != 0)) {
+                               
+                               if (!is_first_recipient)
+                                       gtk_text_buffer_insert (buffer, start, "\n", -1);
+
+                               gtk_text_buffer_insert_with_tags (buffer, start, recipient, -1, tag, NULL);
+                               
+                               if (node->next != NULL)
+                                       gtk_text_buffer_insert (buffer, start, ";", -1);
+                               is_first_recipient = FALSE;
+                       }
                }
        }
        g_signal_handlers_unblock_by_func (buffer, modest_recpt_editor_on_insert_text, recpt_editor);
@@ -349,6 +353,7 @@ modest_recpt_editor_instance_init (GTypeInstance *instance, gpointer g_class)
 {
        ModestRecptEditorPrivate *priv;
        GtkWidget *abook_icon;
+       GtkWidget *abook_align;
        GtkTextBuffer *buffer;
 
        priv = MODEST_RECPT_EDITOR_GET_PRIVATE (instance);
@@ -395,7 +400,10 @@ modest_recpt_editor_instance_init (GTypeInstance *instance, gpointer g_class)
        gtk_box_pack_start (GTK_BOX (instance), priv->scrolled_window, TRUE, TRUE, 0);
 /*     gtk_box_pack_start (GTK_BOX (instance), priv->text_view, TRUE, TRUE, 0); */
 #endif
-       gtk_box_pack_end (GTK_BOX (instance), priv->abook_button, FALSE, FALSE, 0);
+       abook_align = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
+       gtk_alignment_set_padding (GTK_ALIGNMENT (abook_align), 0, 0, MODEST_MARGIN_DEFAULT, 0);
+       gtk_container_add (GTK_CONTAINER (abook_align), priv->abook_button);
+       gtk_box_pack_end (GTK_BOX (instance), abook_align, FALSE, FALSE, 0);
 
        gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (priv->text_view), FALSE);
        gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (priv->text_view), TRUE);
@@ -938,7 +946,9 @@ modest_recpt_editor_grab_focus (ModestRecptEditor *recpt_editor)
        g_return_if_fail (MODEST_IS_RECPT_EDITOR (recpt_editor));
        priv = MODEST_RECPT_EDITOR_GET_PRIVATE (recpt_editor);
 
-       gtk_widget_grab_focus (priv->text_view);
+       if (GTK_WIDGET_VISIBLE (recpt_editor)) {
+               gtk_widget_grab_focus (priv->text_view);
+       }
 }
 
 gboolean
@@ -949,7 +959,8 @@ modest_recpt_editor_has_focus (ModestRecptEditor *recpt_editor)
        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);
+       return GTK_WIDGET_VISIBLE (priv->text_view) && 
+               gtk_widget_is_focus (priv->text_view);
 }
 
 static void