Add send button to the right of from button
[modest] / src / hildon2 / modest-msg-edit-window.c
index 066f599..c21155c 100644 (file)
@@ -92,7 +92,7 @@
 #define IMAGE_MAX_WIDTH 560
 #define DEFAULT_FONT_SCALE 1.5
 #define ATTACHMENT_BUTTON_WIDTH 118
-#define MAX_FROM_VALUE 48
+#define MAX_FROM_VALUE 36
 #define MAX_BODY_LENGTH 4096
 
 static gboolean is_wp_text_buffer_started = FALSE;
@@ -267,7 +267,7 @@ struct _ModestMsgEditWindowPrivate {
        GtkWidget   *attachments_view;
        GtkWidget   *priority_icon;
        GtkWidget   *subject_box;
-       GtkWidget   *add_attachment_button;
+       GtkWidget   *send_button;
 
        GtkWidget   *cc_caption;
        GtkWidget   *bcc_caption;
@@ -738,8 +738,6 @@ connect_signals (ModestMsgEditWindow *obj)
        g_signal_connect_swapped (G_OBJECT (priv->bcc_field), "open-addressbook", 
                                  G_CALLBACK (modest_msg_edit_window_open_addressbook), obj);
 
-       g_signal_connect (G_OBJECT (priv->add_attachment_button), "clicked",
-                         G_CALLBACK (modest_msg_edit_window_add_attachment_clicked), obj);
        g_signal_connect (G_OBJECT (priv->from_field), "value-changed",
                          G_CALLBACK (from_field_changed), obj);
 
@@ -789,7 +787,6 @@ init_window (ModestMsgEditWindow *obj)
 {
        GtkWidget *to_caption, *subject_caption;
        GtkWidget *main_vbox;
-       GtkWidget *add_attachment_align;
        ModestMsgEditWindowPrivate *priv;
        GtkActionGroup *action_group;
        ModestWindowPrivate *parent_priv;
@@ -798,12 +795,13 @@ init_window (ModestMsgEditWindow *obj)
 
        GtkSizeGroup *title_size_group;
        GtkSizeGroup *value_size_group;
-       GtkWidget *attachment_icon;
        GtkWidget *window_box;
        GtkWidget *window_align;
 #if (GTK_MINOR_VERSION >= 10)
        GdkAtom deserialize_type;
 #endif
+       GtkWidget *from_send_hbox;
+       GtkWidget *send_icon;
 
        priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE(obj);
        parent_priv = MODEST_WINDOW_GET_PRIVATE (obj);
@@ -870,10 +868,11 @@ init_window (ModestMsgEditWindow *obj)
                                                          HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
                                                          NULL, g_str_equal);
        modest_selector_picker_set_value_max_chars (MODEST_SELECTOR_PICKER (priv->from_field), MAX_FROM_VALUE);
-       modest_maemo_utils_set_hbutton_layout (title_size_group, value_size_group, 
+       modest_maemo_utils_set_hbutton_layout (title_size_group, NULL, 
                                               _("mail_va_from"), priv->from_field);
        hildon_button_set_alignment (HILDON_BUTTON (priv->from_field), 0.0, 0.5, 1.0, 1.0);
-       hildon_button_set_title_alignment (HILDON_BUTTON (priv->from_field), 0.5, 0.5);
+       hildon_button_set_title_alignment (HILDON_BUTTON (priv->from_field), 0.0, 0.5);
+       hildon_button_set_value_alignment (HILDON_BUTTON (priv->from_field), 1.0, 0.5);
 
        priv->to_field      = modest_recpt_editor_new ();
        priv->cc_field      = modest_recpt_editor_new ();
@@ -890,16 +889,6 @@ init_window (ModestMsgEditWindow *obj)
        hildon_gtk_entry_set_input_mode (GTK_ENTRY (priv->subject_field), 
                                         HILDON_GTK_INPUT_MODE_FULL | HILDON_GTK_INPUT_MODE_AUTOCAP);
        gtk_box_pack_start (GTK_BOX (priv->subject_box), priv->subject_field, TRUE, TRUE, 0);
-       priv->add_attachment_button = hildon_button_new (MODEST_EDITABLE_SIZE, HILDON_BUTTON_ARRANGEMENT_VERTICAL);
-       gtk_widget_set_size_request (priv->add_attachment_button, ATTACHMENT_BUTTON_WIDTH, -1);
-       GTK_WIDGET_UNSET_FLAGS (GTK_WIDGET (priv->add_attachment_button), GTK_CAN_FOCUS);
-       gtk_button_set_focus_on_click (GTK_BUTTON (priv->add_attachment_button), FALSE);
-       attachment_icon = gtk_image_new_from_icon_name (MODEST_HEADER_ICON_ATTACH, HILDON_ICON_SIZE_FINGER);
-       hildon_button_set_image (HILDON_BUTTON (priv->add_attachment_button), attachment_icon);
-       add_attachment_align = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
-       gtk_alignment_set_padding (GTK_ALIGNMENT (add_attachment_align), 0, 0, MODEST_MARGIN_DEFAULT, 0);
-       gtk_container_add (GTK_CONTAINER (add_attachment_align), priv->add_attachment_button);
-       gtk_box_pack_start (GTK_BOX (priv->subject_box), add_attachment_align, FALSE, FALSE, 0);
        priv->attachments_view = modest_attachments_view_new (NULL);
        modest_attachments_view_set_style (MODEST_ATTACHMENTS_VIEW (priv->attachments_view),
                                           MODEST_ATTACHMENTS_VIEW_STYLE_NO_FOCUS);
@@ -923,13 +912,19 @@ init_window (ModestMsgEditWindow *obj)
                                                                                        priv->attachments_view,
                                                                                        HILDON_SIZE_AUTO_WIDTH |
                                                                                        HILDON_SIZE_AUTO_HEIGHT);
-       /* modest_recpt_editor_set_field_size_group (MODEST_RECPT_EDITOR (priv->to_field), value_size_group); */
-       /* modest_recpt_editor_set_field_size_group (MODEST_RECPT_EDITOR (priv->cc_field), value_size_group); */
-       /* modest_recpt_editor_set_field_size_group (MODEST_RECPT_EDITOR (priv->bcc_field), value_size_group); */
+       priv->send_button = hildon_gtk_button_new (HILDON_SIZE_FINGER_HEIGHT);
+       send_icon = gtk_image_new_from_icon_name (MODEST_TOOLBAR_ICON_MAIL_SEND, HILDON_ICON_SIZE_FINGER);
+       gtk_container_add (GTK_CONTAINER (priv->send_button), send_icon);
+       gtk_size_group_add_widget (title_size_group, send_icon);
+
        g_object_unref (title_size_group);
        g_object_unref (value_size_group);
 
-       gtk_box_pack_start (GTK_BOX (priv->header_box), priv->from_field, FALSE, FALSE, 0);
+       from_send_hbox = gtk_hbox_new (FALSE, 0);
+       gtk_box_pack_start (GTK_BOX (from_send_hbox), priv->from_field, TRUE, TRUE, 0);
+       gtk_box_pack_start (GTK_BOX (from_send_hbox), priv->send_button, FALSE, FALSE, 0);
+
+       gtk_box_pack_start (GTK_BOX (priv->header_box), from_send_hbox, FALSE, FALSE, 0);
        gtk_box_pack_start (GTK_BOX (priv->header_box), to_caption, FALSE, FALSE, 0);
        gtk_box_pack_start (GTK_BOX (priv->header_box), priv->cc_caption, FALSE, FALSE, 0);
        gtk_box_pack_start (GTK_BOX (priv->header_box), priv->bcc_caption, FALSE, FALSE, 0);
@@ -1648,6 +1643,9 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, const gchar
        modest_dimming_rules_group_add_widget_rule (toolbar_rules_group, priv->font_face_toolitem,
                                                    G_CALLBACK (modest_ui_dimming_rules_on_set_style),
                                                    MODEST_WINDOW (obj));
+       modest_dimming_rules_group_add_widget_rule (toolbar_rules_group, priv->send_button,
+                                                   G_CALLBACK (modest_ui_dimming_rules_on_send),
+                                                   MODEST_WINDOW (obj));
        /* Insert dimming rules group for this window */
        modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, toolbar_rules_group);
        modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, clipboard_rules_group);
@@ -4277,6 +4275,7 @@ _create_addressbook_box (GtkSizeGroup *title_size_group, GtkSizeGroup *value_siz
        GtkWidget *abook_button;
        GtkWidget *align;
        GtkWidget *box;
+       GtkWidget *label_widget;
 
        box = gtk_hbox_new (FALSE, 0);
 
@@ -4284,13 +4283,15 @@ _create_addressbook_box (GtkSizeGroup *title_size_group, GtkSizeGroup *value_siz
        gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, 0, MODEST_MARGIN_DEFAULT);
 
        abook_button = hildon_gtk_button_new (HILDON_SIZE_FINGER_HEIGHT);
-       gtk_button_set_label (GTK_BUTTON (abook_button), label);
+       label_widget = gtk_label_new (label);
+       gtk_misc_set_alignment (GTK_MISC (label_widget), 0.0, 0.5);
+       gtk_container_add (GTK_CONTAINER (abook_button), label_widget);
 
        gtk_container_add (GTK_CONTAINER (align), abook_button);
        gtk_box_pack_start (GTK_BOX (box), align, FALSE, FALSE, 0);
        gtk_box_pack_start (GTK_BOX (box), control, TRUE, TRUE, 0);
        if (title_size_group)
-               gtk_size_group_add_widget (title_size_group, abook_button);
+               gtk_size_group_add_widget (title_size_group, label_widget);
        if (value_size_group)
                gtk_size_group_add_widget (value_size_group, control);