X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-ui-dimming-rules.c;h=8017bc5fd8649b2f238e5c88f2508cebcfa0d75e;hp=7ebd97d4bb09982a6291e10ef5f99b28b26a09b3;hb=dece14f7b4b809b774150979c3748ca77b329863;hpb=21b666ae007ad3d154fb0a081a43404529f57896 diff --git a/src/modest-ui-dimming-rules.c b/src/modest-ui-dimming-rules.c index 7ebd97d..8017bc5 100644 --- a/src/modest-ui-dimming-rules.c +++ b/src/modest-ui-dimming-rules.c @@ -78,7 +78,8 @@ modest_ui_dimming_rules_on_new_msg (ModestWindow *win, gpointer user_data) /* Check dimmed rule */ if (!dimmed) { - dimmed = _msg_download_in_progress (MODEST_MSG_VIEW_WINDOW(win)); + if (MODEST_IS_MSG_VIEW_WINDOW (win)) + dimmed = _msg_download_in_progress (MODEST_MSG_VIEW_WINDOW(win)); if (dimmed) modest_dimming_rule_set_notification (rule, ""); } @@ -191,6 +192,13 @@ modest_ui_dimming_rules_on_delete (ModestWindow *win, gpointer user_data) if (folder_view && gtk_widget_is_focus (folder_view)) dimmed = modest_ui_dimming_rules_on_delete_folder (win, rule); + + if (header_view && folder_view && + !gtk_widget_is_focus (header_view) && + !gtk_widget_is_focus (folder_view)) { + dimmed = TRUE; + modest_dimming_rule_set_notification (rule, dgettext("hildon-common-strings", "ckct_ib_nothing_to_delete")); + } } else { dimmed = modest_ui_dimming_rules_on_delete_folder (win, rule); } @@ -204,7 +212,7 @@ gboolean modest_ui_dimming_rules_on_delete_folder (ModestWindow *win, gpointer user_data) { ModestDimmingRule *rule = NULL; - TnyFolderType types[5]; + TnyFolderType types[6]; gboolean dimmed = FALSE; g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE); @@ -216,6 +224,7 @@ modest_ui_dimming_rules_on_delete_folder (ModestWindow *win, gpointer user_data) types[2] = TNY_FOLDER_TYPE_SENT; types[3] = TNY_FOLDER_TYPE_INBOX; types[4] = TNY_FOLDER_TYPE_ROOT; + types[5] = TNY_FOLDER_TYPE_ARCHIVE; /* Check dimmed rule */ @@ -225,7 +234,7 @@ modest_ui_dimming_rules_on_delete_folder (ModestWindow *win, gpointer user_data) modest_dimming_rule_set_notification (rule, _("mail_in_ui_folder_delete_error")); } if (!dimmed) { - dimmed = _selected_folder_is_any_of_type (win, types, 5); + dimmed = _selected_folder_is_any_of_type (win, types, 6); if (dimmed) modest_dimming_rule_set_notification (rule, _("mail_in_ui_folder_delete_error")); } @@ -368,7 +377,8 @@ modest_ui_dimming_rules_on_reply_msg (ModestWindow *win, gpointer user_data) modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading")); } if (!dimmed) { - dimmed = _msg_download_in_progress (MODEST_MSG_VIEW_WINDOW(win)); + if (MODEST_IS_MSG_VIEW_WINDOW (win)) + dimmed = _msg_download_in_progress (MODEST_MSG_VIEW_WINDOW (win)); if (dimmed) modest_dimming_rule_set_notification (rule, ""); } @@ -454,7 +464,7 @@ modest_ui_dimming_rules_on_delete_msg (ModestWindow *win, gpointer user_data) if (!dimmed) { dimmed = _selected_msg_sent_in_progress (win); if (dimmed) - modest_dimming_rule_set_notification (rule, _("mcen_ib_message_unableto_delete")); + modest_dimming_rule_set_notification (rule, _("ckct_ib_unable_to_delete]")); } } else if (MODEST_IS_MSG_VIEW_WINDOW (win)) { @@ -464,7 +474,8 @@ modest_ui_dimming_rules_on_delete_msg (ModestWindow *win, gpointer user_data) modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading")); } if (!dimmed) { - dimmed = !modest_msg_view_window_has_headers_model (MODEST_MSG_VIEW_WINDOW(win)); + if (MODEST_IS_MSG_VIEW_WINDOW (win)) + dimmed = !modest_msg_view_window_has_headers_model (MODEST_MSG_VIEW_WINDOW (win)); if (dimmed) { gchar *num = g_strdup("1"); gchar *message = g_strdup_printf(_("mcen_nc_unable_to_delete_n_messages"), num); @@ -530,7 +541,8 @@ modest_ui_dimming_rules_on_details (ModestWindow *win, gpointer user_data) /* Check dimmed rule */ if (!dimmed) { - dimmed = _msg_download_in_progress (MODEST_MSG_VIEW_WINDOW(win)); + if (MODEST_IS_MSG_VIEW_WINDOW (win)) + dimmed = _msg_download_in_progress (MODEST_MSG_VIEW_WINDOW (win)); if (dimmed) modest_dimming_rule_set_notification (rule, ""); } @@ -665,7 +677,8 @@ modest_ui_dimming_rules_on_view_window_move_to (ModestWindow *win, gpointer user modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading")); } if (!dimmed) { - dimmed = !modest_msg_view_window_has_headers_model (MODEST_MSG_VIEW_WINDOW(win)); + if (MODEST_IS_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, _("mcen_ib_unable_to_move_mail_attachment")); } @@ -888,11 +901,6 @@ modest_ui_dimming_rules_on_cut (ModestWindow *win, gpointer user_data) /* 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) @@ -957,9 +965,10 @@ modest_ui_dimming_rules_on_view_previous (ModestWindow *win, gpointer user_data) modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading")); } if (!dimmed) { - dimmed = modest_msg_view_window_first_message_selected (MODEST_MSG_VIEW_WINDOW(win)); - if (dimmed) - modest_dimming_rule_set_notification (rule, ""); + if (MODEST_IS_MSG_VIEW_WINDOW (win)) + dimmed = modest_msg_view_window_first_message_selected (MODEST_MSG_VIEW_WINDOW(win)); +/* if (dimmed) */ +/* modest_dimming_rule_set_notification (rule, ""); */ } return dimmed; @@ -982,9 +991,10 @@ modest_ui_dimming_rules_on_view_next (ModestWindow *win, gpointer user_data) modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading")); } if (!dimmed) { - dimmed = modest_msg_view_window_last_message_selected (MODEST_MSG_VIEW_WINDOW(win)); - if (dimmed) - modest_dimming_rule_set_notification (rule, ""); + if (MODEST_IS_MSG_VIEW_WINDOW (win)) + dimmed = modest_msg_view_window_last_message_selected (MODEST_MSG_VIEW_WINDOW (win)); +/* if (dimmed) */ +/* modest_dimming_rule_set_notification (rule, ""); */ } return dimmed; @@ -1028,7 +1038,7 @@ modest_ui_dimming_rules_on_cancel_sending (ModestWindow *win, gpointer user_data } if (!dimmed) { dimmed = !_sending_in_progress (win); - if (dimmed) + if (dimmed) modest_dimming_rule_set_notification (rule, ""); } @@ -1209,8 +1219,6 @@ _selected_folder_is_MMC_or_POP_root (ModestMainWindow *win) } - - static gboolean _selected_folder_is_empty (ModestMainWindow *win) { @@ -1304,7 +1312,7 @@ _selected_folder_is_any_of_type (ModestWindow *win, MODEST_WIDGET_TYPE_FOLDER_VIEW); /* If no folder view, always dimmed */ if (!folder_view) - return TRUE; + return FALSE; /* Get selected folder as parent of new folder to create */ folder = modest_folder_view_get_selected (MODEST_FOLDER_VIEW(folder_view)); @@ -1312,7 +1320,7 @@ _selected_folder_is_any_of_type (ModestWindow *win, if (!(folder && TNY_IS_FOLDER(folder))) { if (folder) g_object_unref (folder); - return TRUE; + return FALSE; } /* Check folder type */ @@ -1913,12 +1921,17 @@ _invalid_folder_for_purge (ModestWindow *win, /* If it's POP then dim */ if (modest_protocol_info_get_transport_store_protocol (proto_str) == MODEST_PROTOCOL_STORE_POP) { - GList *attachments; - gint n_selected; + GList *attachments = NULL; + gint n_selected = 0; result = TRUE; - attachments = modest_msg_view_window_get_attachments (MODEST_MSG_VIEW_WINDOW(win)); - n_selected = g_list_length (attachments); - g_list_free (attachments); + + /* TODO: This check is here to prevent a gwarning, but this looks like a logic error. + * murrayc */ + if (MODEST_IS_MSG_VIEW_WINDOW (win)) { + attachments = modest_msg_view_window_get_attachments (MODEST_MSG_VIEW_WINDOW(win)); + n_selected = g_list_length (attachments); + g_list_free (attachments); + } modest_dimming_rule_set_notification (rule, ngettext ("mail_ib_unable_to_pure_attach_pop_mail_singular",