X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-msg-edit-window.c;h=e6cc69f08aee379672601d4454a39559c35993f9;hp=7af8f5dd05604c0773e433e6c572a39430a23c4a;hb=366052de118162ea4db07423235203decc5e6253;hpb=91526797480db76525e1295ec4a65f29f4bdc9cf diff --git a/src/maemo/modest-msg-edit-window.c b/src/maemo/modest-msg-edit-window.c index 7af8f5d..e6cc69f 100644 --- a/src/maemo/modest-msg-edit-window.c +++ b/src/maemo/modest-msg-edit-window.c @@ -500,6 +500,13 @@ void vadj_changed (GtkAdjustment *adj, priv->last_vadj_upper = adj->upper; } +static void window_focus (GtkWindow *window, + GtkWidget *widget, + gpointer userdata) +{ + modest_window_check_dimming_rules_group (MODEST_WINDOW (userdata), MODEST_DIMMING_RULES_CLIPBOARD); +} + static void connect_signals (ModestMsgEditWindow *obj) @@ -535,6 +542,7 @@ connect_signals (ModestMsgEditWindow *obj) G_CALLBACK (msg_body_focus), obj); g_signal_connect (G_OBJECT (priv->msg_body), "focus-out-event", G_CALLBACK (msg_body_focus), obj); + g_signal_connect (G_OBJECT (obj), "set-focus", G_CALLBACK (window_focus), obj); g_signal_connect (G_OBJECT (modest_recpt_editor_get_buffer (MODEST_RECPT_EDITOR (priv->to_field))), "changed", G_CALLBACK (recpt_field_changed), obj); g_signal_connect (G_OBJECT (modest_recpt_editor_get_buffer (MODEST_RECPT_EDITOR (priv->cc_field))), @@ -1053,7 +1061,8 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich) modest_msg_edit_window_reset_modified (self); - modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (self)); + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (self)); + modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (self)); text_buffer_can_undo (priv->text_buffer, FALSE, self); text_buffer_can_redo (priv->text_buffer, FALSE, self); @@ -1277,7 +1286,8 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean pre ModestWindowPrivate *parent_priv; ModestMsgEditWindowPrivate *priv; ModestPair *account_pair = NULL; - ModestDimmingRulesGroup *window_rules_group = NULL; + ModestDimmingRulesGroup *menu_rules_group = NULL; + ModestDimmingRulesGroup *toolbar_rules_group = NULL; ModestDimmingRulesGroup *clipboard_rules_group = NULL; ModestWindowMgr *mgr = NULL; @@ -1311,24 +1321,25 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean pre modest_combo_box_set_active_id (MODEST_COMBO_BOX (priv->from_field), account_pair->first); parent_priv->ui_dimming_manager = modest_ui_dimming_manager_new (); - window_rules_group = modest_dimming_rules_group_new ("ModestWindowDimmingRules", TRUE); - clipboard_rules_group = modest_dimming_rules_group_new ("ModestClipboardDimmingRules", FALSE); + menu_rules_group = modest_dimming_rules_group_new (MODEST_DIMMING_RULES_MENU, FALSE); + toolbar_rules_group = modest_dimming_rules_group_new (MODEST_DIMMING_RULES_TOOLBAR, TRUE); + clipboard_rules_group = modest_dimming_rules_group_new (MODEST_DIMMING_RULES_CLIPBOARD, FALSE); /* Add common dimming rules */ - modest_dimming_rules_group_add_rules (window_rules_group, - modest_msg_edit_window_toolbar_dimming_entries, - G_N_ELEMENTS (modest_msg_edit_window_toolbar_dimming_entries), - MODEST_WINDOW (obj)); - modest_dimming_rules_group_add_rules (window_rules_group, + modest_dimming_rules_group_add_rules (menu_rules_group, modest_msg_edit_window_menu_dimming_entries, G_N_ELEMENTS (modest_msg_edit_window_menu_dimming_entries), MODEST_WINDOW (obj)); - modest_dimming_rules_group_add_widget_rule (window_rules_group, priv->font_color_button, + modest_dimming_rules_group_add_rules (toolbar_rules_group, + modest_msg_edit_window_toolbar_dimming_entries, + G_N_ELEMENTS (modest_msg_edit_window_toolbar_dimming_entries), + MODEST_WINDOW (obj)); + modest_dimming_rules_group_add_widget_rule (toolbar_rules_group, priv->font_color_button, G_CALLBACK (modest_ui_dimming_rules_on_set_style), MODEST_WINDOW (obj)); - modest_dimming_rules_group_add_widget_rule (window_rules_group, priv->font_size_toolitem, + modest_dimming_rules_group_add_widget_rule (toolbar_rules_group, priv->font_size_toolitem, G_CALLBACK (modest_ui_dimming_rules_on_set_style), MODEST_WINDOW (obj)); - modest_dimming_rules_group_add_widget_rule (window_rules_group, priv->font_face_toolitem, + 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_rules (clipboard_rules_group, @@ -1336,10 +1347,12 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean pre G_N_ELEMENTS (modest_msg_edit_window_clipboard_dimming_entries), MODEST_WINDOW (obj)); /* Insert dimming rules group for this window */ - modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, window_rules_group); + modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, menu_rules_group); + 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); /* Checks the dimming rules */ - g_object_unref (window_rules_group); + g_object_unref (menu_rules_group); + g_object_unref (toolbar_rules_group); g_object_unref (clipboard_rules_group); gtk_widget_show_all (GTK_WIDGET (obj)); @@ -1347,8 +1360,9 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean pre text_buffer_refresh_attributes (WP_TEXT_BUFFER (priv->text_buffer), MODEST_MSG_EDIT_WINDOW (obj)); - modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (obj)); - modest_window_check_dimming_rules_group (MODEST_WINDOW (obj), "ModestClipboardDimmingRules"); + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (obj)); + modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (obj)); + modest_window_check_dimming_rules_group (MODEST_WINDOW (obj), MODEST_DIMMING_RULES_CLIPBOARD); priv->update_caption_visibility = TRUE; modest_msg_edit_window_reset_modified (MODEST_MSG_EDIT_WINDOW (obj)); @@ -1964,7 +1978,7 @@ modest_msg_edit_window_insert_image (ModestMsgEditWindow *window) (modest_runtime_get_platform_factory ()); TnyStream *stream = create_stream_for_uri (uri); - tny_mime_part_construct_from_stream (mime_part, stream, mime_type); + tny_mime_part_construct (mime_part, stream, mime_type, "base64"); content_id = g_strdup_printf ("%d", priv->last_cid); tny_mime_part_set_content_id (mime_part, content_id); @@ -2065,7 +2079,7 @@ modest_msg_edit_window_attach_file_one ( (modest_runtime_get_platform_factory ()); stream = TNY_STREAM (tny_vfs_stream_new (handle)); - tny_mime_part_construct_from_stream (mime_part, stream, mime_type); + tny_mime_part_construct (mime_part, stream, mime_type, "base64"); g_object_unref (stream); @@ -2494,7 +2508,7 @@ modest_msg_edit_window_set_file_format (ModestMsgEditWindow *window, } break; } - modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window)); + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window)); } } @@ -2640,7 +2654,8 @@ modest_msg_edit_window_undo (ModestMsgEditWindow *window) wp_text_buffer_undo (WP_TEXT_BUFFER (priv->text_buffer)); - modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window)); + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window)); + modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (window)); } @@ -2654,7 +2669,8 @@ modest_msg_edit_window_redo (ModestMsgEditWindow *window) wp_text_buffer_redo (WP_TEXT_BUFFER (priv->text_buffer)); - modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window)); + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window)); + modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (window)); } @@ -2750,7 +2766,9 @@ msg_body_focus (GtkWidget *focus, gpointer userdata) { - modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (userdata)); + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (userdata)); + modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (userdata)); + modest_window_check_dimming_rules_group (MODEST_WINDOW (userdata), MODEST_DIMMING_RULES_CLIPBOARD); return FALSE; } @@ -2758,13 +2776,15 @@ static void recpt_field_changed (GtkTextBuffer *buffer, ModestMsgEditWindow *editor) { - modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (editor)); + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (editor)); + modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (editor)); } static void body_changed (GtkTextBuffer *buffer, ModestMsgEditWindow *editor) { - modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (editor)); + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (editor)); + modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (editor)); } void @@ -2877,7 +2897,7 @@ modest_msg_edit_window_clipboard_owner_change (GtkClipboard *clipboard, } priv->clipboard_text = text; - modest_window_check_dimming_rules_group (MODEST_WINDOW (window), "ModestClipboardDimmingRules"); + modest_window_check_dimming_rules_group (MODEST_WINDOW (window), MODEST_DIMMING_RULES_CLIPBOARD); } static void subject_field_move_cursor (GtkEntry *entry, @@ -2889,7 +2909,7 @@ subject_field_move_cursor (GtkEntry *entry, if (!GTK_WIDGET_VISIBLE (window)) return; - modest_window_check_dimming_rules_group (MODEST_WINDOW (window), "ModestClipboardDimmingRules"); + modest_window_check_dimming_rules_group (MODEST_WINDOW (window), MODEST_DIMMING_RULES_CLIPBOARD); } static void @@ -2914,7 +2934,8 @@ subject_field_changed (GtkEditable *editable, ModestMsgEditWindowPrivate *priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window); update_window_title (window); gtk_text_buffer_set_modified (priv->text_buffer, TRUE); - modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window)); + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window)); + modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (window)); } static void