* after removing the last attachment, move focus to subject field
[modest] / src / maemo / modest-msg-edit-window.c
index 3de0e3a..9b15bec 100644 (file)
@@ -1051,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);
 
@@ -1275,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;
 
@@ -1310,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, 
@@ -1336,12 +1334,10 @@ 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));
 
@@ -1349,7 +1345,7 @@ 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_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;
 
@@ -1709,15 +1705,12 @@ text_buffer_refresh_attributes (WPTextBuffer *buffer, ModestMsgEditWindow *windo
        {
        case GTK_JUSTIFY_LEFT:
                action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/FormatMenu/AlignmentLeftMenu");
-               g_warning ("GTK_JUSTIFY_LEFT");
                break;
        case GTK_JUSTIFY_CENTER:
                action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/FormatMenu/AlignmentCenterMenu");
-               g_warning ("GTK_JUSTIFY_CENTER");
                break;
        case GTK_JUSTIFY_RIGHT:
                action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/FormatMenu/AlignmentRightMenu");
-               g_warning ("GTK_JUSTIFY_RIGHT");
                break;
        default:
                break;
@@ -2157,6 +2150,10 @@ modest_msg_edit_window_remove_attachments (ModestMsgEditWindow *window,
 
        if (clean_list)
                g_list_free (att_list);
+
+       /* if the last attachment has been removed, focus the Subject: field */
+       if (!modest_attachments_view_has_attachments (MODEST_ATTACHMENTS_VIEW (priv->attachments_view))) 
+               gtk_widget_grab_focus (priv->subject_field);
 }
 
 static void
@@ -2479,7 +2476,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));
        }
 }
 
@@ -2625,7 +2622,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));
 
 }
 
@@ -2639,7 +2636,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));
 
 }
 
@@ -2735,7 +2732,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;
 }
 
@@ -2743,13 +2740,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
@@ -2899,7 +2896,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