Pass to account protocol request to handle the calendar
[modest] / src / modest-ui-dimming-rules.c
index bddbace..6812635 100644 (file)
@@ -206,11 +206,7 @@ modest_ui_dimming_rules_on_delete (ModestWindow *win, gpointer user_data)
        rule = MODEST_DIMMING_RULE (user_data);
 
        if (MODEST_IS_FOLDER_WINDOW (win)) {
-#ifdef MODEST_TOOLKIT_HILDON2
                dimmed = modest_ui_dimming_rules_on_folder_window_delete (win, user_data);
-#else
-               dimmed = FALSE;
-#endif
        } else if (MODEST_IS_HEADER_WINDOW (win)) {
 
                if (!dimmed)
@@ -424,11 +420,14 @@ modest_ui_dimming_rules_on_delete_msg (ModestWindow *win, gpointer user_data)
                 * or when viewing a search result.
                 */
                if (!dimmed) {
-                       if (!modest_msg_view_window_is_search_result (MODEST_MSG_VIEW_WINDOW(win))) {
-                               dimmed = !modest_msg_view_window_has_headers_model (MODEST_MSG_VIEW_WINDOW(win));
-                               if (dimmed) {
-                                       modest_dimming_rule_set_notification (rule, _CS_UNABLE_TO_DELETE);
-                               }
+                       TnyMsg *top_msg = NULL;
+                       top_msg = modest_msg_view_window_get_top_message ((ModestMsgViewWindow *) win);
+                       if (top_msg != NULL) {
+                               g_object_unref (top_msg);
+                               dimmed = TRUE;
+                       }
+                       if (dimmed) {
+                               modest_dimming_rule_set_notification (rule, _CS("ckct_ib_unable_to_delete"));
                        }
                }
        }
@@ -460,11 +459,24 @@ gboolean
 modest_ui_dimming_rules_on_fetch_images (ModestWindow *win, gpointer user_data)
 {
        gboolean dimmed = FALSE;
+       ModestDimmingRule *rule = NULL;
 
        g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (win), FALSE);
+       rule = MODEST_DIMMING_RULE (user_data);
 
        dimmed = !modest_msg_view_window_has_blocked_external_images (MODEST_MSG_VIEW_WINDOW (win));
 
+       if (!dimmed) {
+               dimmed = _transfer_mode_enabled (win);
+               if (dimmed)
+                       modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading"));
+       }
+       if (!dimmed) {
+               dimmed = _msg_download_in_progress (win);
+               if (dimmed)
+                       modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_reply"));
+       }
+
        return dimmed;
 }
 
@@ -546,17 +558,9 @@ modest_ui_dimming_rules_on_move_to (ModestWindow *win, gpointer user_data)
        rule = MODEST_DIMMING_RULE (user_data);
 
        if (MODEST_IS_HEADER_WINDOW (win))
-#ifdef MODEST_TOOLKIT_HILDON2
                dimmed = modest_ui_dimming_rules_on_header_window_move_to (win, user_data);
-#else
-       dimmed = TRUE;
-#endif
        else if (MODEST_IS_FOLDER_WINDOW (win))
-#ifdef MODEST_TOOLKIT_HILDON2
                dimmed = modest_ui_dimming_rules_on_folder_window_move_to (win, user_data);
-#else
-       dimmed = TRUE;
-#endif
        else if (MODEST_IS_MSG_VIEW_WINDOW (win)) 
                 dimmed = modest_ui_dimming_rules_on_view_window_move_to (win, user_data);
 
@@ -1056,7 +1060,7 @@ modest_ui_dimming_rules_on_editor_remove_attachment (ModestWindow *win, gpointer
        return dimmed;
 }
 
-gboolean 
+gboolean
 modest_ui_dimming_rules_on_send (ModestWindow *win, gpointer user_data)
 {
        ModestDimmingRule *rule = NULL;
@@ -1086,6 +1090,14 @@ modest_ui_dimming_rules_on_send (ModestWindow *win, gpointer user_data)
                dimmed = ((gtk_text_buffer_get_char_count (to_buffer) +
                           gtk_text_buffer_get_char_count (cc_buffer) +
                           gtk_text_buffer_get_char_count (bcc_buffer)) == 0);
+
+               if (!dimmed) {
+                       if (modest_text_utils_no_recipient (to_buffer) &&
+                           modest_text_utils_no_recipient (cc_buffer) &&
+                           modest_text_utils_no_recipient (bcc_buffer))
+                               dimmed = TRUE;
+               }
+
                if (dimmed)
                        modest_dimming_rule_set_notification (rule, _("mcen_ib_add_recipients_first"));
        }
@@ -1735,10 +1747,6 @@ _msgs_send_in_progress (void)
        return found;
 }
 
-/*****************************************************************************/
-/********************** HILDON2 only dimming rules ***************************/
-/*****************************************************************************/
-
 gboolean 
 modest_ui_dimming_rules_on_header_window_move_to (ModestWindow *win, gpointer user_data)
 {
@@ -1812,7 +1820,7 @@ modest_ui_dimming_rules_on_folder_window_move_to (ModestWindow *win, gpointer us
        return dimmed;
 }
 
-gboolean 
+gboolean
 modest_ui_dimming_rules_on_folder_window_delete (ModestWindow *win, gpointer user_data)
 {
        ModestDimmingRule *rule = NULL;
@@ -1822,7 +1830,7 @@ modest_ui_dimming_rules_on_folder_window_delete (ModestWindow *win, gpointer use
        g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
        rule = MODEST_DIMMING_RULE (user_data);
 
-       /* Check dimmed rule */ 
+       /* Check dimmed rule */
        dimmed = _transfer_mode_enabled (win);
        if (dimmed)
                modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading"));