X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fhildon2%2Fmodest-msg-edit-window.c;h=8dac69bda0c51a9e7be7fb536233317d00342a58;hb=a5d88bf4a414881d1ec744c48af29e99b5ff03ff;hp=277df5f3bce7df3f223288c716be467fdf06124d;hpb=9b3849edb8e65d30eae8397aab43e6e871d593d9;p=modest diff --git a/src/hildon2/modest-msg-edit-window.c b/src/hildon2/modest-msg-edit-window.c index 277df5f..8dac69b 100644 --- a/src/hildon2/modest-msg-edit-window.c +++ b/src/hildon2/modest-msg-edit-window.c @@ -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,6 +267,7 @@ struct _ModestMsgEditWindowPrivate { GtkWidget *attachments_view; GtkWidget *priority_icon; GtkWidget *subject_box; + GtkWidget *send_button; GtkWidget *cc_caption; GtkWidget *bcc_caption; @@ -799,6 +800,9 @@ init_window (ModestMsgEditWindow *obj) #if (GTK_MINOR_VERSION >= 10) GdkAtom deserialize_type; #endif + GtkWidget *from_send_hbox; + GtkWidget *send_icon; + GtkWidget *attachments_label; priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE(obj); parent_priv = MODEST_WINDOW_GET_PRIVATE (obj); @@ -865,7 +869,7 @@ 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.0, 0.5); @@ -903,19 +907,29 @@ init_window (ModestMsgEditWindow *obj) _("mail_va_hotfix1"), priv->bcc_field); subject_caption = modest_maemo_utils_create_captioned (title_size_group, value_size_group, _("mail_va_subject"), FALSE, priv->subject_box); - priv->attachments_caption = modest_maemo_utils_create_captioned_with_size_type (title_size_group, value_size_group, + priv->attachments_caption = modest_maemo_utils_create_captioned_with_size_type (NULL, NULL, _("mail_va_attachment"), FALSE, 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); */ + attachments_label = modest_maemo_utils_captioned_get_label_widget (priv->attachments_caption); + hildon_gtk_widget_set_theme_size (attachments_label, HILDON_SIZE_AUTO_HEIGHT); + + + 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_widget_set_size_request (GTK_WIDGET (priv->send_button), 148, -1); + 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); @@ -1535,9 +1549,6 @@ modest_msg_edit_window_setup_toolbar (ModestMsgEditWindow *window) priv->font_face_toolitem = tool_item; /* Set expand and homogeneous for remaining items */ - tool_item = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolBar/ToolbarSend"); - gtk_tool_item_set_expand (GTK_TOOL_ITEM (tool_item), TRUE); - gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (tool_item), TRUE); tool_item = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolBar/ActionsBold"); gtk_tool_item_set_expand (GTK_TOOL_ITEM (tool_item), TRUE); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (tool_item), TRUE); @@ -1634,6 +1645,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); @@ -1882,16 +1896,20 @@ modest_msg_edit_window_set_format (ModestMsgEditWindow *self, ModestMsgEditFormat format) { ModestMsgEditWindowPrivate *priv; + ModestWindowPrivate *parent_priv; g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (self)); priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self); + parent_priv = MODEST_WINDOW_GET_PRIVATE (self); switch (format) { case MODEST_MSG_EDIT_FORMAT_HTML: wp_text_buffer_enable_rich_text (WP_TEXT_BUFFER (priv->text_buffer), TRUE); + if (parent_priv->toolbar) gtk_widget_show (parent_priv->toolbar); break; case MODEST_MSG_EDIT_FORMAT_TEXT: wp_text_buffer_enable_rich_text (WP_TEXT_BUFFER (priv->text_buffer), FALSE); + if (parent_priv->toolbar) gtk_widget_hide (parent_priv->toolbar); break; default: g_return_if_reached (); @@ -2919,17 +2937,27 @@ modest_msg_edit_window_show_toolbar (ModestWindow *self, gboolean show_toolbar) { ModestWindowPrivate *parent_priv; + ModestMsgEditWindowPrivate *priv; g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (self)); + priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self); parent_priv = MODEST_WINDOW_GET_PRIVATE(self); /* We can not just use the code of modest_msg_edit_window_setup_toolbar because it has a mixture of both initialization and creation code. */ - if (show_toolbar) - gtk_widget_show (GTK_WIDGET (parent_priv->toolbar)); - else + if (show_toolbar) { + gint current_format; + current_format = wp_text_buffer_is_rich_text (WP_TEXT_BUFFER (priv->text_buffer)) + ? MODEST_FILE_FORMAT_FORMATTED_TEXT : MODEST_FILE_FORMAT_PLAIN_TEXT; + if (current_format == MODEST_FILE_FORMAT_PLAIN_TEXT) { + gtk_widget_hide (GTK_WIDGET (parent_priv->toolbar)); + } else { + gtk_widget_show (GTK_WIDGET (parent_priv->toolbar)); + } + } else { gtk_widget_hide (GTK_WIDGET (parent_priv->toolbar)); + } } void @@ -2994,6 +3022,16 @@ modest_msg_edit_window_set_file_format (ModestMsgEditWindow *window, current_format = wp_text_buffer_is_rich_text (WP_TEXT_BUFFER (priv->text_buffer)) ? MODEST_FILE_FORMAT_FORMATTED_TEXT : MODEST_FILE_FORMAT_PLAIN_TEXT; + gtk_widget_set_no_show_all (GTK_WIDGET (parent_priv->toolbar), TRUE); + + if (parent_priv->toolbar) { + if (file_format == MODEST_FILE_FORMAT_PLAIN_TEXT) { + gtk_widget_hide (parent_priv->toolbar); + } else { + gtk_widget_show (parent_priv->toolbar); + } + } + if (current_format != file_format) { switch (file_format) { case MODEST_FILE_FORMAT_FORMATTED_TEXT: @@ -3009,6 +3047,7 @@ modest_msg_edit_window_set_file_format (ModestMsgEditWindow *window, gtk_widget_destroy (dialog); if (response == GTK_RESPONSE_OK) { wp_text_buffer_enable_rich_text (WP_TEXT_BUFFER (priv->text_buffer), FALSE); + if (parent_priv->toolbar) gtk_widget_hide (parent_priv->toolbar); } else { GtkToggleAction *action = GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/FormatMenu/FileFormatFormattedTextMenu")); modest_utils_toggle_action_set_active_block_notify (action, TRUE); @@ -4276,6 +4315,7 @@ _create_addressbook_box (GtkSizeGroup *title_size_group, GtkSizeGroup *value_siz gtk_container_add (GTK_CONTAINER (abook_button), label_widget); gtk_container_add (GTK_CONTAINER (align), abook_button); + gtk_widget_set_size_request (label_widget, 148 - MODEST_MARGIN_DOUBLE, -1); 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)