From 61fe7659cae8ab1d32e59c6e2f84e3cf79870d6f Mon Sep 17 00:00:00 2001 From: Alberto Garcia Date: Mon, 14 Jan 2008 11:06:22 +0000 Subject: [PATCH] Revert broken changesets 3992 and 4026 Fixes NB#79238 Reopens NB#78844 Reopens NB#78873 pmo-trunk-r4031 --- src/maemo/modest-main-window-ui.h | 10 +-- src/maemo/modest-main-window.c | 59 ++++++++++++---- src/maemo/modest-msg-edit-window.c | 55 +++++++-------- src/maemo/modest-msg-view-window.c | 52 +++++++------- src/modest-ui-actions.c | 112 ++++++++++++++++++++++++++++--- src/modest-ui-actions.h | 38 ++++++++++- src/modest-ui-dimming-rules.c | 2 +- src/widgets/modest-attachments-view.c | 18 ----- src/widgets/modest-attachments-view.h | 1 - src/widgets/modest-msg-edit-window-ui.h | 10 +-- 10 files changed, 247 insertions(+), 110 deletions(-) diff --git a/src/maemo/modest-main-window-ui.h b/src/maemo/modest-main-window-ui.h index ddb6c15..17a7f31 100644 --- a/src/maemo/modest-main-window-ui.h +++ b/src/maemo/modest-main-window-ui.h @@ -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") }, diff --git a/src/maemo/modest-main-window.c b/src/maemo/modest-main-window.c index 2184676..f09e403 100644 --- a/src/maemo/modest-main-window.c +++ b/src/maemo/modest-main-window.c @@ -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; } diff --git a/src/maemo/modest-msg-edit-window.c b/src/maemo/modest-msg-edit-window.c index d3ff35b..6906d59 100644 --- a/src/maemo/modest-msg-edit-window.c +++ b/src/maemo/modest-msg-edit-window.c @@ -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 diff --git a/src/maemo/modest-msg-view-window.c b/src/maemo/modest-msg-view-window.c index 4b6e5b8..38a6e72 100644 --- a/src/maemo/modest-msg-view-window.c +++ b/src/maemo/modest-msg-view-window.c @@ -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; } diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index 18f87d8..8611d41 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -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 diff --git a/src/modest-ui-actions.h b/src/modest-ui-actions.h index 66e36de..903fb3c 100644 --- a/src/modest-ui-actions.h +++ b/src/modest-ui-actions.h @@ -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: diff --git a/src/modest-ui-dimming-rules.c b/src/modest-ui-dimming-rules.c index 88e8fc5..b637877 100644 --- a/src/modest-ui-dimming-rules.c +++ b/src/modest-ui-dimming-rules.c @@ -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; diff --git a/src/widgets/modest-attachments-view.c b/src/widgets/modest-attachments-view.c index 392263d..a56ceba 100644 --- a/src/widgets/modest-attachments-view.c +++ b/src/widgets/modest-attachments-view.c @@ -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; } diff --git a/src/widgets/modest-attachments-view.h b/src/widgets/modest-attachments-view.h index 160efd8..89837ad 100644 --- a/src/widgets/modest-attachments-view.h +++ b/src/widgets/modest-attachments-view.h @@ -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); diff --git a/src/widgets/modest-msg-edit-window-ui.h b/src/widgets/modest-msg-edit-window-ui.h index b28bae9..22e0372 100644 --- a/src/widgets/modest-msg-edit-window-ui.h +++ b/src/widgets/modest-msg-edit-window-ui.h @@ -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") }, -- 1.7.9.5