Revert broken changesets 3992 and 4026
authorAlberto Garcia <agarcia@igalia.com>
Mon, 14 Jan 2008 11:06:22 +0000 (11:06 +0000)
committerAlberto Garcia <agarcia@igalia.com>
Mon, 14 Jan 2008 11:06:22 +0000 (11:06 +0000)
Fixes NB#79238
Reopens NB#78844
Reopens NB#78873

pmo-trunk-r4031

src/maemo/modest-main-window-ui.h
src/maemo/modest-main-window.c
src/maemo/modest-msg-edit-window.c
src/maemo/modest-msg-view-window.c
src/modest-ui-actions.c
src/modest-ui-actions.h
src/modest-ui-dimming-rules.c
src/widgets/modest-attachments-view.c
src/widgets/modest-attachments-view.h
src/widgets/modest-msg-edit-window-ui.h

index ddb6c15..17a7f31 100644 (file)
@@ -42,11 +42,11 @@ G_BEGIN_DECLS
 static const GtkActionEntry modest_action_entries [] = {
 
        /* Toplevel menus */
-       { "Email",       NULL, N_("mcen_me_inbox_email"),        NULL, NULL, NULL },
-       { "Edit",        NULL, N_("mcen_me_inbox_edit"),         NULL, NULL, NULL },
-       { "View",        NULL, N_("mcen_me_inbox_view"),         NULL, NULL, NULL },
-       { "Tools",       NULL, N_("mcen_me_inbox_tools"),        NULL, NULL, NULL },
-       { "Attachments", NULL, N_("mcen_me_viewer_attachments"), NULL, NULL, NULL },
+       { "Email",       NULL, N_("mcen_me_inbox_email"),        NULL, NULL, G_CALLBACK (modest_ui_actions_on_email_menu_activated) },
+       { "Edit",        NULL, N_("mcen_me_inbox_edit"),         NULL, NULL, G_CALLBACK (modest_ui_actions_on_edit_menu_activated) },
+       { "View",        NULL, N_("mcen_me_inbox_view"),         NULL, NULL, G_CALLBACK (modest_ui_actions_on_view_menu_activated) },
+       { "Tools",       NULL, N_("mcen_me_inbox_tools"),        NULL, NULL, G_CALLBACK (modest_ui_actions_on_tools_menu_activated) },
+       { "Attachments", NULL, N_("mcen_me_viewer_attachments"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_attachment_menu_activated) },
        { "Close",       NULL, N_("mcen_me_inbox_close") },
        { "Zoom",        NULL, N_("Zoom") },
 
index 2184676..f09e403 100644 (file)
@@ -828,6 +828,26 @@ modest_main_window_cleanup_queue_error_signals (ModestMainWindow *self)
 
 
 static void
+_folder_view_csm_menu_activated (GtkWidget *widget, gpointer user_data)
+{
+       g_return_if_fail (MODEST_IS_MAIN_WINDOW (user_data));
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (MODEST_WINDOW (user_data), "ModestMenuDimmingRules");  
+}
+
+static void
+_header_view_csm_menu_activated (GtkWidget *widget, gpointer user_data)
+{
+       g_return_if_fail (MODEST_IS_MAIN_WINDOW (user_data));
+
+       /* Update visibility */
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (MODEST_WINDOW (user_data), "ModestMenuDimmingRules");  
+}
+
+static void
 modest_main_window_disconnect_signals (ModestWindow *self)
 {      
        ModestMainWindowPrivate *priv;  
@@ -872,6 +892,9 @@ connect_signals (ModestMainWindow *self)
        /* Folder view CSM */
        menu = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/FolderViewCSM");
        gtk_widget_tap_and_hold_setup (GTK_WIDGET (priv->folder_view), menu, NULL, 0);
+       priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers, G_OBJECT(priv->folder_view), "tap-and-hold",
+                                                      G_CALLBACK(_folder_view_csm_menu_activated),
+                                                      self);
        /* header view */
        priv->sighandlers = 
                modest_signal_mgr_connect (priv->sighandlers,G_OBJECT(priv->header_view), "header_selected",
@@ -901,6 +924,10 @@ connect_signals (ModestMainWindow *self)
        /* Header view CSM */
        menu = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/HeaderViewCSM");
        gtk_widget_tap_and_hold_setup (GTK_WIDGET (priv->header_view), menu, NULL, 0);
+       priv->sighandlers = 
+               modest_signal_mgr_connect (priv->sighandlers,G_OBJECT(priv->header_view), "tap-and-hold",
+                                          G_CALLBACK(_header_view_csm_menu_activated),
+                                          self);
        
        /* window */
        priv->sighandlers = 
@@ -1067,7 +1094,8 @@ modest_main_window_new (void)
        ModestMainWindowPrivate *priv = NULL;
        ModestWindowPrivate *parent_priv = NULL;
        GtkWidget *folder_win = NULL;
-       ModestDimmingRulesGroup *window_rules_group = NULL;
+       ModestDimmingRulesGroup *menu_rules_group = NULL;
+       ModestDimmingRulesGroup *toolbar_rules_group = NULL;
        GtkActionGroup *action_group = NULL;
        GError *error = NULL;
        HildonProgram *app;
@@ -1085,7 +1113,8 @@ modest_main_window_new (void)
        action_group = gtk_action_group_new ("ModestMainWindowActions");
        gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE);
 
-       window_rules_group = modest_dimming_rules_group_new ("ModestWindowDimmingRules", TRUE);
+       menu_rules_group = modest_dimming_rules_group_new ("ModestMenuDimmingRules", FALSE);
+       toolbar_rules_group = modest_dimming_rules_group_new ("ModestToolbarDimmingRules", TRUE);
 
        /* Add common actions */
        gtk_action_group_add_actions (action_group,
@@ -1126,18 +1155,20 @@ modest_main_window_new (void)
        }
 
        /* Add common dimming rules */
-       modest_dimming_rules_group_add_rules (window_rules_group, 
-                                             modest_main_window_toolbar_dimming_entries,
-                                             G_N_ELEMENTS (modest_main_window_toolbar_dimming_entries),
-                                             MODEST_WINDOW (self));
-       modest_dimming_rules_group_add_rules (window_rules_group, 
+       modest_dimming_rules_group_add_rules (menu_rules_group, 
                                              modest_main_window_menu_dimming_entries,
                                              G_N_ELEMENTS (modest_main_window_menu_dimming_entries),
                                              MODEST_WINDOW (self));
+       modest_dimming_rules_group_add_rules (toolbar_rules_group, 
+                                             modest_main_window_toolbar_dimming_entries,
+                                             G_N_ELEMENTS (modest_main_window_toolbar_dimming_entries),
+                                             MODEST_WINDOW (self));
 
        /* Insert dimming rules group for this window */
-       modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, window_rules_group);
-       g_object_unref (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);
+       g_object_unref (menu_rules_group);
+       g_object_unref (toolbar_rules_group);
        
        /* Add accelerators */
        gtk_window_add_accel_group (GTK_WINDOW (self), 
@@ -2052,7 +2083,7 @@ set_toolbar_mode (ModestMainWindow *self,
        priv->current_toolbar_mode = mode;
 
         /* Checks the dimming rules */
-        modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (self));
+        modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (self));
 
        /* Show and hide toolbar items */
        switch (mode) {
@@ -2447,8 +2478,8 @@ on_folder_view_focus_in (GtkWidget *widget, GdkEventFocus *event, gpointer userd
        g_return_val_if_fail (MODEST_IS_MAIN_WINDOW (userdata), FALSE);
        main_window = MODEST_MAIN_WINDOW (userdata);
        
-       /* Update window dimming state */
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (main_window));
+       /* Update toolbar dimming state */
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (main_window));
 
        return FALSE;
 }
@@ -2464,8 +2495,8 @@ on_header_view_focus_in (GtkWidget *widget,
 
        main_window = MODEST_MAIN_WINDOW (userdata);
 
-       /* Update window dimming state */
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (main_window));
+       /* Update toolbar dimming state */
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (main_window));
 
        return FALSE;
 }
index d3ff35b..6906d59 100644 (file)
@@ -96,7 +96,6 @@ static void  modest_msg_edit_window_finalize     (GObject *obj);
 
 static gboolean msg_body_focus (GtkWidget *focus, GdkEventFocus *event, gpointer userdata);
 static void  body_changed (GtkTextBuffer *buffer, ModestMsgEditWindow *editor);
-static void  attachments_selection_changed (ModestAttachmentsView *buffer, ModestMsgEditWindow *editor);
 static void  recpt_field_changed (GtkTextBuffer *buffer, ModestMsgEditWindow *editor);
 
 static void  text_buffer_refresh_attributes (WPTextBuffer *buffer, ModestMsgEditWindow *window);
@@ -524,8 +523,6 @@ connect_signals (ModestMsgEditWindow *obj)
                          G_CALLBACK (text_buffer_can_redo), obj);
        g_signal_connect (G_OBJECT (priv->text_buffer), "changed",
                           G_CALLBACK (body_changed), obj);
-       g_signal_connect (G_OBJECT (priv->attachments_view), "selection-changed",
-                          G_CALLBACK (attachments_selection_changed), obj);
        g_signal_connect (G_OBJECT (obj), "window-state-event",
                          G_CALLBACK (modest_msg_edit_window_window_state_event),
                          NULL);
@@ -1064,7 +1061,7 @@ 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));
        text_buffer_can_undo (priv->text_buffer, FALSE, self);
        text_buffer_can_redo (priv->text_buffer, FALSE, self);
 
@@ -1288,7 +1285,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;
 
@@ -1322,24 +1320,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);
+       menu_rules_group = modest_dimming_rules_group_new ("ModestMenuDimmingRules", FALSE);
+       toolbar_rules_group = modest_dimming_rules_group_new ("ModestToolbarDimmingRules", TRUE);
        clipboard_rules_group = modest_dimming_rules_group_new ("ModestClipboardDimmingRules", 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, 
@@ -1347,10 +1346,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));
 
@@ -1358,7 +1359,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_window_dimming_rules (MODEST_WINDOW (obj));
+        modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (obj));
        modest_window_check_dimming_rules_group (MODEST_WINDOW (obj), "ModestClipboardDimmingRules");
        priv->update_caption_visibility = TRUE;
 
@@ -2505,7 +2506,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));
        }
 }
 
@@ -2651,7 +2652,7 @@ 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));
 
 }
 
@@ -2665,7 +2666,7 @@ 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));
 
 }
 
@@ -2761,7 +2762,7 @@ 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_window_check_dimming_rules_group (MODEST_WINDOW (userdata), "ModestClipboardDimmingRules");
        return FALSE;
 }
@@ -2770,19 +2771,13 @@ 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));
 }
 
 static void
 body_changed (GtkTextBuffer *buffer, ModestMsgEditWindow *editor)
 {
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (editor));
-}
-
-static void
-attachments_selection_changed (ModestAttachmentsView *atts_view, ModestMsgEditWindow *window)
-{
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (editor));
 }
 
 void
@@ -2932,7 +2927,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_window_dimming_rules (MODEST_WINDOW (window));
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
 }
 
 static void  
index 4b6e5b8..38a6e72 100644 (file)
@@ -473,8 +473,8 @@ set_toolbar_mode (ModestMsgViewWindow *self,
        /* Sets current toolbar mode */
        priv->current_toolbar_mode = mode;
 
-       /* Update window dimming state */
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (self));
+       /* Update toolbar dimming state */
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (self));
 
        switch (mode) {
        case TOOLBAR_MODE_NORMAL:               
@@ -730,7 +730,8 @@ modest_msg_view_window_construct (ModestMsgViewWindow *self,
        GObject *obj = NULL;
        ModestMsgViewWindowPrivate *priv = NULL;
        ModestWindowPrivate *parent_priv = NULL;
-       ModestDimmingRulesGroup *window_rules_group = NULL;
+       ModestDimmingRulesGroup *menu_rules_group = NULL;
+       ModestDimmingRulesGroup *toolbar_rules_group = NULL;
        ModestDimmingRulesGroup *clipboard_rules_group = NULL;
 
        obj = G_OBJECT (self);
@@ -745,27 +746,30 @@ modest_msg_view_window_construct (ModestMsgViewWindow *self,
        gtk_widget_show (parent_priv->menubar);
        parent_priv->ui_dimming_manager = modest_ui_dimming_manager_new();
 
-       window_rules_group = modest_dimming_rules_group_new ("ModestWindowDimmingRules", TRUE);
+       menu_rules_group = modest_dimming_rules_group_new ("ModestMenuDimmingRules", FALSE);
+       toolbar_rules_group = modest_dimming_rules_group_new ("ModestToolbarDimmingRules", TRUE);
        clipboard_rules_group = modest_dimming_rules_group_new ("ModestClipboardDimmingRules", FALSE);
 
        /* Add common dimming rules */
-       modest_dimming_rules_group_add_rules (window_rules_group, 
-                                             modest_msg_view_toolbar_dimming_entries,
-                                             G_N_ELEMENTS (modest_msg_view_toolbar_dimming_entries),
-                                             MODEST_WINDOW (self));
-       modest_dimming_rules_group_add_rules (window_rules_group, 
+       modest_dimming_rules_group_add_rules (menu_rules_group, 
                                              modest_msg_view_menu_dimming_entries,
                                              G_N_ELEMENTS (modest_msg_view_menu_dimming_entries),
                                              MODEST_WINDOW (self));
+       modest_dimming_rules_group_add_rules (toolbar_rules_group, 
+                                             modest_msg_view_toolbar_dimming_entries,
+                                             G_N_ELEMENTS (modest_msg_view_toolbar_dimming_entries),
+                                             MODEST_WINDOW (self));
        modest_dimming_rules_group_add_rules (clipboard_rules_group, 
                                              modest_msg_view_clipboard_dimming_entries,
                                              G_N_ELEMENTS (modest_msg_view_clipboard_dimming_entries),
                                              MODEST_WINDOW (self));
 
        /* 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);
-       g_object_unref (window_rules_group);
+       g_object_unref (menu_rules_group);
+       g_object_unref (toolbar_rules_group);
        g_object_unref (clipboard_rules_group);
 
        restore_settings (MODEST_MSG_VIEW_WINDOW(obj));
@@ -905,8 +909,8 @@ modest_msg_view_window_new_with_header_model (TnyMsg *msg,
        gtk_widget_show_all (GTK_WIDGET (window));
        modest_msg_view_window_update_priority (window);
 
-       /* Check window dimming rules */
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+       /* Check toolbar dimming rules */
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
        modest_window_check_dimming_rules_group (MODEST_WINDOW (window), "ModestClipboardDimmingRules");
 
        return MODEST_WINDOW(window);
@@ -960,8 +964,8 @@ modest_msg_view_window_new_for_attachment (TnyMsg *msg,
        tny_msg_view_set_msg (TNY_MSG_VIEW (priv->msg_view), msg);
        update_window_title (MODEST_MSG_VIEW_WINDOW (obj));
 
-       /* Check window dimming rules */
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (obj));
+       /* Check toolbar dimming rules */
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (obj));
        modest_window_check_dimming_rules_group (MODEST_WINDOW (obj), "ModestClipboardDimmingRules");
 
        return MODEST_WINDOW(obj);
@@ -972,14 +976,14 @@ void modest_msg_view_window_on_row_changed(
                GtkTreePath *arg1,
                GtkTreeIter *arg2,
                ModestMsgViewWindow *window){
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
 }
 
 void modest_msg_view_window_on_row_deleted(
                GtkTreeModel *header_model,
                GtkTreePath *arg1,
                ModestMsgViewWindow *window){
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
 }
 
 /* On insertions we check if the folder still has the message we are
@@ -1017,7 +1021,7 @@ void modest_msg_view_window_on_row_inserted(
                        select_next_valid_row (priv->header_model,
                                               &(priv->next_row_reference), FALSE);
                }
-               modest_ui_actions_check_window_dimming_rules (
+               modest_ui_actions_check_toolbar_dimming_rules (
                                MODEST_WINDOW (window));
                return;
        }
@@ -1067,7 +1071,7 @@ void modest_msg_view_window_on_row_inserted(
        select_next_valid_row (priv->header_model,
                        &(priv->next_row_reference), FALSE);
 
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
 }
 
 void modest_msg_view_window_on_row_reordered(
@@ -1076,7 +1080,7 @@ void modest_msg_view_window_on_row_reordered(
                GtkTreeIter *arg2,
                gpointer arg3,
                ModestMsgViewWindow *window){
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
 }
 
 /* The modest_msg_view_window_update_model_replaced implements update
@@ -1141,7 +1145,7 @@ void modest_msg_view_window_update_model_replaced(
                g_object_unref(priv->next_row_reference);
        priv->next_row_reference = NULL;
 
-       modest_ui_actions_check_window_dimming_rules(MODEST_WINDOW(window));
+       modest_ui_actions_check_toolbar_dimming_rules(MODEST_WINDOW(window));
 
        g_assert(model != NULL);
 
@@ -1597,7 +1601,7 @@ modest_msg_view_window_first_message_selected (ModestMsgViewWindow *window)
  *
  * If the message was not previously downloaded then ask the user
  * before downloading. If there is no connection launch the connection
- * dialog. Update window dimming rules.
+ * dialog. Update toolbar dimming rules.
  *
  * Returns: TRUE if the mail operation was started, otherwise if the
  * user do not want to download the message, or if the user do not
@@ -1661,8 +1665,8 @@ message_reader (ModestMsgViewWindow *window,
        modest_mail_operation_get_msg (mail_op, header, view_msg_cb, row_reference);
        g_object_unref (mail_op);
 
-       /* Update window dimming rules */
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+       /* Update toolbar dimming rules */
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
 
        return TRUE;
 }
index 18f87d8..8611d41 100644 (file)
@@ -560,9 +560,9 @@ modest_ui_actions_on_delete_message (GtkAction *action, ModestWindow *win)
                                gtk_tree_path_free (prev_path);                         
                }
                
-               /* Update window dimming state */
+               /* Update toolbar dimming state */
                if (main_window)
-                       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (main_window));
+                       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (main_window));
 
                /* Free */
                g_list_foreach (sel_list, (GFunc) gtk_tree_path_free, NULL);
@@ -1002,9 +1002,9 @@ open_msg_cb (ModestMailOperation *mail_op,
                gtk_widget_show_all (GTK_WIDGET(win));
        }
 
-       /* Update window dimming state */
+       /* Update toolbar dimming state */
        if (MODEST_IS_MAIN_WINDOW (parent_win)) {
-               modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (parent_win));
+               modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (parent_win));
        }
 
 cleanup:
@@ -1987,8 +1987,8 @@ modest_ui_actions_on_header_selected (ModestHeaderView *header_view,
        if (!gtk_widget_is_focus (GTK_WIDGET(header_view)))
            gtk_widget_grab_focus (GTK_WIDGET(header_view));
 
-       /* Update window dimming state */
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (main_window));
+       /* Update toolbar dimming state */
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (main_window));
 }
 
 void
@@ -2151,8 +2151,8 @@ modest_ui_actions_on_folder_selection_changed (ModestFolderView *folder_view,
                }
        }
 
-       /* Update window dimming state */
-       modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (main_window));
+       /* Update toolbar dimming state */
+       modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (main_window));
 }
 
 void 
@@ -3556,7 +3556,7 @@ modest_ui_actions_on_select_all (GtkAction *action,
 
                /* Enable window dimming management */
                modest_window_enable_dimming (MODEST_WINDOW(window));
-               modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+               modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
        }
 
 }
@@ -4998,12 +4998,102 @@ modest_ui_actions_on_retrieve_msg_contents (GtkAction *action,
 }
 
 void
-modest_ui_actions_check_window_dimming_rules (ModestWindow *window)
+modest_ui_actions_on_email_menu_activated (GtkAction *action,
+                                         ModestWindow *window)
+{
+       g_return_if_fail (MODEST_IS_WINDOW (window));
+       
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (window, "ModestMenuDimmingRules");     
+}
+
+void
+modest_ui_actions_on_edit_menu_activated (GtkAction *action,
+                                         ModestWindow *window)
+{
+       g_return_if_fail (MODEST_IS_WINDOW (window));
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (window, "ModestMenuDimmingRules");     
+}
+
+void
+modest_ui_actions_on_view_menu_activated (GtkAction *action,
+                                         ModestWindow *window)
+{
+       g_return_if_fail (MODEST_IS_WINDOW (window));
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (window, "ModestMenuDimmingRules");     
+}
+
+void
+modest_ui_actions_on_format_menu_activated (GtkAction *action,
+                                           ModestWindow *window)
+{
+       g_return_if_fail (MODEST_IS_WINDOW (window));
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (window, "ModestMenuDimmingRules");     
+}
+
+void
+modest_ui_actions_on_tools_menu_activated (GtkAction *action,
+                                         ModestWindow *window)
+{
+       g_return_if_fail (MODEST_IS_WINDOW (window));
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (window, "ModestMenuDimmingRules");     
+}
+
+void
+modest_ui_actions_on_attachment_menu_activated (GtkAction *action,
+                                         ModestWindow *window)
+{
+       g_return_if_fail (MODEST_IS_WINDOW (window));
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (window, "ModestMenuDimmingRules");     
+}
+
+void
+modest_ui_actions_on_toolbar_csm_menu_activated (GtkAction *action,
+                                                ModestWindow *window)
+{
+       g_return_if_fail (MODEST_IS_WINDOW (window));
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (window, "ModestMenuDimmingRules");     
+}
+
+void
+modest_ui_actions_on_folder_view_csm_menu_activated (GtkAction *action,
+                                                    ModestWindow *window)
+{
+       g_return_if_fail (MODEST_IS_WINDOW (window));
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (window, "ModestMenuDimmingRules");     
+}
+
+void
+modest_ui_actions_on_header_view_csm_menu_activated (GtkAction *action,
+                                                    ModestWindow *window)
+{
+       g_return_if_fail (MODEST_IS_WINDOW (window));
+
+       /* Update dimmed */     
+       modest_window_check_dimming_rules_group (window, "ModestMenuDimmingRules");     
+}
+
+void
+modest_ui_actions_check_toolbar_dimming_rules (ModestWindow *window)
 {
        g_return_if_fail (MODEST_IS_WINDOW (window));
 
        /* Update dimmed */     
-       modest_window_check_dimming_rules_group (window, "ModestWindowDimmingRules");   
+       modest_window_check_dimming_rules_group (window, "ModestToolbarDimmingRules");  
 }
 
 void
index 66e36de..903fb3c 100644 (file)
@@ -339,7 +339,43 @@ void     modest_ui_actions_on_retrieve_msg_contents       (GtkAction *action,
                                                           ModestWindow *window);
 
 void
-modest_ui_actions_check_window_dimming_rules (ModestWindow *window);
+modest_ui_actions_on_email_menu_activated (GtkAction *action,
+                                         ModestWindow *window);
+
+void
+modest_ui_actions_on_edit_menu_activated (GtkAction *action,
+                                         ModestWindow *window);
+
+void
+modest_ui_actions_on_format_menu_activated (GtkAction *action,
+                                           ModestWindow *window);
+
+void
+modest_ui_actions_on_view_menu_activated (GtkAction *action,
+                                         ModestWindow *window);
+
+void
+modest_ui_actions_on_tools_menu_activated (GtkAction *action,
+                                         ModestWindow *window);
+
+void
+modest_ui_actions_on_attachment_menu_activated (GtkAction *action,
+                                               ModestWindow *window);
+
+void
+modest_ui_actions_on_toolbar_csm_menu_activated (GtkAction *action,
+                                                ModestWindow *window);
+
+void
+modest_ui_actions_on_folder_view_csm_menu_activated (GtkAction *action,
+                                                    ModestWindow *window);
+
+void
+modest_ui_actions_on_header_view_csm_menu_activated (GtkAction *action,
+                                                    ModestWindow *window);
+
+void
+modest_ui_actions_check_toolbar_dimming_rules (ModestWindow *window);
 
 /**
  * modest_ui_actions_move_folder_error_handler:
index 88e8fc5..b637877 100644 (file)
@@ -1549,7 +1549,7 @@ modest_ui_dimming_rules_on_editor_remove_attachment (ModestWindow *win, gpointer
                n_att_selected = tny_list_get_length (selected_attachments);
                g_object_unref (selected_attachments);
 
-               dimmed = (n_att_selected == 0);
+               dimmed = (n_att_selected != 1);
        }
        
        return dimmed;
index 392263d..a56ceba 100644 (file)
@@ -46,7 +46,6 @@ static GObjectClass *parent_class = NULL;
 /* signals */
 enum {
        ACTIVATE_SIGNAL,
-       SELECTION_CHANGED_SIGNAL,
        LAST_SIGNAL
 };
 
@@ -321,15 +320,6 @@ modest_attachments_view_class_init (ModestAttachmentsViewClass *klass)
                              NULL, NULL,
                              g_cclosure_marshal_VOID__OBJECT,
                              G_TYPE_NONE, 1, G_TYPE_OBJECT);
-
-       signals[SELECTION_CHANGED_SIGNAL] =
-               g_signal_new ("selection-changed",
-                             G_TYPE_FROM_CLASS (object_class),
-                             G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
-                             G_STRUCT_OFFSET (ModestAttachmentsViewClass, selection_changed),
-                             NULL, NULL,
-                             g_cclosure_marshal_VOID__VOID,
-                             G_TYPE_NONE, 0);
        
        return;
 }
@@ -623,8 +613,6 @@ set_selected (ModestAttachmentsView *atts_view, ModestAttachmentView *att_view)
                g_object_unref (part);
        
        own_clipboard (atts_view);
-
-       g_signal_emit (G_OBJECT (atts_view), signals[SELECTION_CHANGED_SIGNAL], 0);
 }
 
 static void 
@@ -670,8 +658,6 @@ select_range (ModestAttachmentsView *atts_view, ModestAttachmentView *att1, Mode
        g_list_free (children);
        
        own_clipboard (atts_view);
-
-       g_signal_emit (G_OBJECT (atts_view), signals[SELECTION_CHANGED_SIGNAL], 0);
 }
 
 static void clipboard_get (GtkClipboard *clipboard, GtkSelectionData *selection_data,
@@ -770,8 +756,6 @@ modest_attachments_view_select_all (ModestAttachmentsView *atts_view)
        g_list_free (children);
 
        own_clipboard (atts_view);
-
-       g_signal_emit (G_OBJECT (atts_view), signals[SELECTION_CHANGED_SIGNAL], 0);
 }
 
 gboolean
@@ -810,8 +794,6 @@ focus_out_event (GtkWidget *widget, GdkEventFocus *event, ModestAttachmentsView
        if (!gtk_widget_is_focus (widget))
                unselect_all (atts_view);
 
-       g_signal_emit (G_OBJECT (atts_view), signals[SELECTION_CHANGED_SIGNAL], 0);
-
        return FALSE;
 }
 
index 160efd8..89837ad 100644 (file)
@@ -60,7 +60,6 @@ struct _ModestAttachmentsViewClass
        GtkEventBoxClass parent_class;
 
        void (*activate)           (ModestAttachmentsView *attachments_view, TnyMimePart *mime_part);
-       void (*selection_changed)  (ModestAttachmentsView *attachments_view);
 };
 
 GType modest_attachments_view_get_type (void);
index b28bae9..22e0372 100644 (file)
@@ -39,12 +39,12 @@ G_BEGIN_DECLS
 
 static const GtkActionEntry modest_msg_edit_action_entries [] = {
        /* Toplevel menus */
-       { "Email", NULL, N_("mcen_me_inbox_email") , NULL, NULL, NULL },
-       { "View", NULL, N_("mcen_me_inbox_view") , NULL, NULL, NULL},
-       { "Edit", NULL, N_("mcen_me_inbox_edit") , NULL, NULL, NULL},
-       { "Format", NULL, N_("mcen_me_editor_format") , NULL, NULL, NULL},
+       { "Email", NULL, N_("mcen_me_inbox_email") , NULL, NULL, G_CALLBACK (modest_ui_actions_on_email_menu_activated) },
+       { "View", NULL, N_("mcen_me_inbox_view") , NULL, NULL, G_CALLBACK (modest_ui_actions_on_view_menu_activated)},
+       { "Edit", NULL, N_("mcen_me_inbox_edit") , NULL, NULL, G_CALLBACK (modest_ui_actions_on_edit_menu_activated)},
+       { "Format", NULL, N_("mcen_me_editor_format") , NULL, NULL, G_CALLBACK (modest_ui_actions_on_format_menu_activated)},
        { "Alignment", NULL, N_("mcen_me_editor_align") },
-       { "Attachments", NULL, N_("mcen_me_viewer_attachments"), NULL, NULL, NULL },
+       { "Attachments", NULL, N_("mcen_me_viewer_attachments"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_attachment_menu_activated) },
        { "MessagePriority", NULL, N_("mcen_me_editor_message_priority") },
        { "FileFormat", NULL, N_("mcen_me_editor_file_format") },
        { "Tools", NULL, N_("mcen_me_inbox_tools") },