+ dimmed = _selected_folder_is_any_of_type (win, types, 5);
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_select_all (ModestWindow *win, gpointer user_data)
+{
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE);
+
+ /* Check dimmed rule */
+ if (!dimmed)
+ dimmed = _selected_folder_is_empty (MODEST_MAIN_WINDOW(win));
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_view_attachments (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW(win), FALSE);
+ g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
+ rule = MODEST_DIMMING_RULE (user_data);
+
+ /* Check dimmed rule */
+ if (!dimmed)
+ dimmed = _invalid_attach_selected (win, TRUE, rule);
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_save_attachments (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW(win), FALSE);
+ g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
+ rule = MODEST_DIMMING_RULE (user_data);
+
+ /* Check dimmed rule */
+ if (!dimmed)
+ dimmed = _invalid_attach_selected (win, FALSE, rule);
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_remove_attachments (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_WINDOW(win), FALSE);
+ g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
+ rule = MODEST_DIMMING_RULE (user_data);
+
+ /* Check dimmed rule */
+ if (!dimmed) {
+ dimmed = _invalid_attach_selected (win, FALSE, NULL);
+ modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_display_more"));
+ }
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_copy (ModestWindow *win, gpointer user_data)
+{
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW(win), FALSE);
+
+ /* Check dimmed rule */
+ if (!dimmed)
+ dimmed = _invalid_clipboard_selected (MODEST_MSG_VIEW_WINDOW(win));
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_view_previous (ModestWindow *win, gpointer user_data)
+{
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW(win), FALSE);