+ /* Check dimmed rule */
+ if (!dimmed) {
+ dimmed = _purged_attach_selected (win);
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, _("mail_ib_attachment_already_purged"));
+ }
+
+ if (!dimmed) {
+ dimmed = _invalid_attachment_for_purge (win, rule);
+ }
+
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_undo (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ gboolean dimmed = 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 = _clipboard_is_empty (win);
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, "");
+ }
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_cut (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
+ rule = MODEST_DIMMING_RULE (user_data);
+
+ /* Check common dimming rules */
+ if (!dimmed) {
+ dimmed = _invalid_clipboard_selected (win, rule);
+ }
+
+ /* Check window specific dimming rules */
+ if (MODEST_IS_MAIN_WINDOW (win)) {
+ if (!dimmed) {
+ dimmed = _selected_folder_not_writeable (MODEST_MAIN_WINDOW(win));
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, _("mcen_ib_message_unableto_delete"));
+ }
+ if (!dimmed) {
+ dimmed = _selected_folder_is_empty (MODEST_MAIN_WINDOW(win));
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, "");
+ }
+ if (!dimmed) {
+ dimmed = _selected_msg_sent_in_progress (win);
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_cut_mess"));
+ }
+ }
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_copy (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
+ rule = MODEST_DIMMING_RULE (user_data);
+
+ /* Check common dimming rules */
+ if (!dimmed) {
+ dimmed = _invalid_clipboard_selected (win, rule);
+ }
+
+ /* Check window specific dimming rules */
+ if (MODEST_IS_MAIN_WINDOW (win)) {
+ if (!dimmed) {
+ dimmed = _selected_folder_is_empty (MODEST_MAIN_WINDOW(win));
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, "");
+ }
+ if (!dimmed) {
+ dimmed = _selected_msg_sent_in_progress (win);
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_cut_mess"));
+ }
+ }
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_view_previous (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
+ rule = MODEST_DIMMING_RULE (user_data);
+
+ g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW(win), FALSE);
+
+ /* Check dimmed rule */
+ if (!dimmed) {
+ dimmed = modest_msg_view_window_first_message_selected (MODEST_MSG_VIEW_WINDOW(win));
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, "");
+ }
+