X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-ui-dimming-rules.c;h=3bf7ae124b7f0c7ed178ebd157fbc1352bed4835;hb=2b1c5fd803436d4b0149fd531702f5246fbee3c0;hp=b637877071696d9aca4357a6b38148030da38426;hpb=13ce31f99b59609ff39a22bc8293234a753e4872;p=modest diff --git a/src/modest-ui-dimming-rules.c b/src/modest-ui-dimming-rules.c index b637877..3bf7ae1 100644 --- a/src/modest-ui-dimming-rules.c +++ b/src/modest-ui-dimming-rules.c @@ -319,6 +319,29 @@ modest_ui_dimming_rules_define_dimming_state (ModestWindow *window) return state; } +gboolean +modest_ui_dimming_rules_on_new_msg_or_folder (ModestWindow *win, + gpointer user_data) +{ + GtkWidget *folder_view; + + g_return_val_if_fail (MODEST_IS_MAIN_WINDOW (win), FALSE); + + /* Check first if the folder view has the focus */ + folder_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (win), + MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW); + + /* Check that the widget exists */ + if (folder_view) { + if (gtk_widget_is_focus (folder_view)) { + return modest_ui_dimming_rules_on_new_folder (win, user_data); + } else { + return modest_ui_dimming_rules_on_new_msg (win, user_data); + } + } else { + return FALSE; + } +} gboolean modest_ui_dimming_rules_on_new_msg (ModestWindow *win, gpointer user_data) @@ -950,7 +973,7 @@ modest_ui_dimming_rules_on_main_window_move_to (ModestWindow *win, gpointer user /* Check diming rules for folders transfer */ - if (gtk_widget_is_focus (folder_view)) { + if (folder_view && gtk_widget_is_focus (folder_view)) { TnyFolderType types[5]; types[0] = TNY_FOLDER_TYPE_DRAFTS; @@ -963,12 +986,12 @@ modest_ui_dimming_rules_on_main_window_move_to (ModestWindow *win, gpointer user if (!dimmed) { dimmed = _selected_folder_not_moveable (MODEST_MAIN_WINDOW(win)); if (dimmed) - modest_dimming_rule_set_notification (rule, _("emev_bd_unabletomove_items")); + modest_dimming_rule_set_notification (rule, _("emev_nc_unabletomove_items")); } if (!dimmed) { dimmed = _selected_folder_is_any_of_type (win, types, 5); if (dimmed) - modest_dimming_rule_set_notification (rule, _("emev_bd_unabletomove_itemsr")); + modest_dimming_rule_set_notification (rule, _("emev_nc_unabletomove_items")); } } @@ -976,14 +999,14 @@ modest_ui_dimming_rules_on_main_window_move_to (ModestWindow *win, gpointer user if (!dimmed) { dimmed = (state->already_opened_msg > 0) ? TRUE : FALSE; if (dimmed) { - gchar *message = g_strdup_printf(_("emev_bd_unabletomove_items"), + gchar *message = g_strdup_printf(_("emev_nc_unabletomove_items"), state->already_opened_msg); modest_dimming_rule_set_notification (rule, message); g_free(message); } } if (!dimmed) { - if (!gtk_widget_is_focus (folder_view)) + if (!(folder_view && gtk_widget_is_focus (folder_view))) dimmed = _invalid_msg_selected (MODEST_MAIN_WINDOW(win), FALSE, user_data); } @@ -1348,17 +1371,17 @@ modest_ui_dimming_rules_on_cut (ModestWindow *win, gpointer user_data) if (!dimmed) { dimmed = _selected_folder_not_deletable (MODEST_MAIN_WINDOW(win)); if (dimmed) - modest_dimming_rule_set_notification (rule, _("emev_bd_unabletomove_items")); + modest_dimming_rule_set_notification (rule, _("emev_nc_unabletomove_items")); } if (!dimmed) { dimmed = _selected_folder_is_root_or_inbox (MODEST_MAIN_WINDOW(win)); if (dimmed) - modest_dimming_rule_set_notification (rule, _("emev_bd_unabletomove_itemsr")); + modest_dimming_rule_set_notification (rule, _("emev_nc_unabletomove_items")); } if (!dimmed) { dimmed = _selected_folder_is_any_of_type (win, types, 3); if (dimmed) - modest_dimming_rule_set_notification (rule, _("emev_bd_unabletomove_itemsr")); + modest_dimming_rule_set_notification (rule, _("emev_nc_unabletomove_items")); } } } @@ -1549,7 +1572,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 != 1); + dimmed = (n_att_selected < 1); } return dimmed;