Rename ModestToolbarDimmingRules to ModestWindowDimmingRules and
[modest] / src / maemo / modest-msg-edit-window.c
index 5ba8351..ed220af 100644 (file)
@@ -562,17 +562,6 @@ connect_signals (ModestMsgEditWindow *obj)
 
 }
 
-static GtkWidget *
-menubar_to_menu (GtkUIManager *ui_manager)
-{
-       GtkWidget *main_menu;
-
-       /* Get the menubar from the UI manager */
-       main_menu = gtk_ui_manager_get_widget (ui_manager, "/MenuBar");
-
-       return main_menu;
-}
-
 static void
 init_window (ModestMsgEditWindow *obj)
 {
@@ -1062,7 +1051,7 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich)
 
        modest_msg_edit_window_reset_modified (self);
 
-       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (self));
+       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (self));
        text_buffer_can_undo (priv->text_buffer, FALSE, self);
        text_buffer_can_redo (priv->text_buffer, FALSE, self);
 
@@ -1286,8 +1275,7 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean pre
        ModestWindowPrivate *parent_priv;
        ModestMsgEditWindowPrivate *priv;
        ModestPair *account_pair = NULL;
-       ModestDimmingRulesGroup *menu_rules_group = NULL;
-       ModestDimmingRulesGroup *toolbar_rules_group = NULL;
+       ModestDimmingRulesGroup *window_rules_group = NULL;
        ModestDimmingRulesGroup *clipboard_rules_group = NULL;
        ModestWindowMgr *mgr = NULL;
 
@@ -1302,7 +1290,7 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean pre
        parent_priv = MODEST_WINDOW_GET_PRIVATE (obj);
 
        /* Menubar. Update the state of some toggles */
-       parent_priv->menubar = menubar_to_menu (parent_priv->ui_manager);
+       parent_priv->menubar = modest_maemo_utils_get_manager_menubar_as_menu (parent_priv->ui_manager, "/MenuBar");
        hildon_window_set_menu (HILDON_WINDOW (obj), GTK_MENU (parent_priv->menubar));
        priv->from_field_protos = get_transports ();
        modest_combo_box_set_pair_list (MODEST_COMBO_BOX (priv->from_field), priv->from_field_protos);
@@ -1321,25 +1309,24 @@ 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 ();
-       menu_rules_group = modest_dimming_rules_group_new ("ModestMenuDimmingRules", FALSE);
-       toolbar_rules_group = modest_dimming_rules_group_new ("ModestToolbarDimmingRules", TRUE);
+       window_rules_group = modest_dimming_rules_group_new ("ModestWindowDimmingRules", TRUE);
        clipboard_rules_group = modest_dimming_rules_group_new ("ModestClipboardDimmingRules", FALSE);
        /* Add common dimming rules */
-       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_rules (toolbar_rules_group, 
+       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_widget_rule (toolbar_rules_group, priv->font_color_button,
+       modest_dimming_rules_group_add_rules (window_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,
                                                    G_CALLBACK (modest_ui_dimming_rules_on_set_style),
                                                    MODEST_WINDOW (obj));
-       modest_dimming_rules_group_add_widget_rule (toolbar_rules_group, priv->font_size_toolitem,
+       modest_dimming_rules_group_add_widget_rule (window_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 (toolbar_rules_group, priv->font_face_toolitem,
+       modest_dimming_rules_group_add_widget_rule (window_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, 
@@ -1347,19 +1334,18 @@ 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, 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, window_rules_group);
        modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, clipboard_rules_group);
         /* Checks the dimming rules */
-       g_object_unref (menu_rules_group);
-       g_object_unref (toolbar_rules_group);
+       g_object_unref (window_rules_group);
        g_object_unref (clipboard_rules_group);
+       gtk_widget_show_all (GTK_WIDGET (obj));
 
        set_msg (MODEST_MSG_EDIT_WINDOW (obj), msg, preserve_is_rich);
 
        text_buffer_refresh_attributes (WP_TEXT_BUFFER (priv->text_buffer), MODEST_MSG_EDIT_WINDOW (obj));
 
-        modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (obj));
+        modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (obj));
        modest_window_check_dimming_rules_group (MODEST_WINDOW (obj), "ModestClipboardDimmingRules");
        priv->update_caption_visibility = TRUE;
 
@@ -1674,6 +1660,8 @@ modest_msg_edit_window_set_format_state (ModestMsgEditWindow *self,
        }
 /*     wp_text_buffer_set_format (WP_TEXT_BUFFER (priv->text_buffer), buffer_format); */
        
+       text_buffer_refresh_attributes (WP_TEXT_BUFFER (priv->text_buffer), self);
+       
        g_free (current_format);
 
 }
@@ -1712,6 +1700,25 @@ text_buffer_refresh_attributes (WPTextBuffer *buffer, ModestMsgEditWindow *windo
 /*     action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/FormatMenu/BulletedListMenu"); */
 /*     modest_utils_toggle_action_set_active_block_notify (GTK_TOGGLE_ACTION (action), buffer_format->bullet); */
 
+       action = NULL;
+       switch (buffer_format->justification)
+       {
+       case GTK_JUSTIFY_LEFT:
+               action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/FormatMenu/AlignmentLeftMenu");
+               break;
+       case GTK_JUSTIFY_CENTER:
+               action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/FormatMenu/AlignmentCenterMenu");
+               break;
+       case GTK_JUSTIFY_RIGHT:
+               action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/FormatMenu/AlignmentRightMenu");
+               break;
+       default:
+               break;
+       }
+       
+       if (action != NULL)
+               gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
+       
        g_signal_handlers_block_by_func (G_OBJECT (priv->font_color_button), 
                                         G_CALLBACK (modest_msg_edit_window_color_button_change),
                                         window);
@@ -2465,7 +2472,7 @@ modest_msg_edit_window_set_file_format (ModestMsgEditWindow *window,
                }
                        break;
                }
-               modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
+               modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
        }
 }
 
@@ -2611,7 +2618,7 @@ modest_msg_edit_window_undo (ModestMsgEditWindow *window)
        
        wp_text_buffer_undo (WP_TEXT_BUFFER (priv->text_buffer));
 
-       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
+       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
 
 }
 
@@ -2625,7 +2632,7 @@ modest_msg_edit_window_redo (ModestMsgEditWindow *window)
        
        wp_text_buffer_redo (WP_TEXT_BUFFER (priv->text_buffer));
 
-       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
+       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
 
 }
 
@@ -2721,7 +2728,7 @@ msg_body_focus (GtkWidget *focus,
                gpointer userdata)
 {
        
-       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (userdata));
+       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (userdata));
        return FALSE;
 }
 
@@ -2729,13 +2736,13 @@ static void
 recpt_field_changed (GtkTextBuffer *buffer,
                  ModestMsgEditWindow *editor)
 {
-       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (editor));
+       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (editor));
 }
 
 static void
 body_changed (GtkTextBuffer *buffer, ModestMsgEditWindow *editor)
 {
-       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (editor));
+       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (editor));
 }
 
 void
@@ -2885,7 +2892,7 @@ 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_toolbar_dimming_rules (MODEST_WINDOW (window));
+       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
 }
 
 static void