/* 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, "");
}
/* Check dimmed rule */
if (!dimmed) {
dimmed = _selected_folder_is_root (MODEST_MAIN_WINDOW(win));
- if (dimmed)
- modest_dimming_rule_set_notification (rule, "");
+ modest_dimming_rule_set_notification (rule, NULL);
}
return dimmed;
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, "");
+ modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_reply"));
}
}
if (!dimmed) {
dimmed = _selected_msg_sent_in_progress (win);
if (dimmed)
- modest_dimming_rule_set_notification (rule, _("ckct_ib_unable_to_delete]"));
+ modest_dimming_rule_set_notification (rule, _("ckct_ib_unable_to_delete"));
}
}
else if (MODEST_IS_MSG_VIEW_WINDOW (win)) {
modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading"));
}
if (!dimmed) {
+ dimmed = _marked_as_deleted (win);
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, _("mcen_ib_message_already_deleted"));
+ }
+ if (!dimmed) {
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);
-/* modest_dimming_rule_set_notification (rule, _("mcen_nc_unable_to_delete_n_messages")); */
- modest_dimming_rule_set_notification (rule, message);
- g_free(message);
- g_free(num);
+ modest_dimming_rule_set_notification (rule, _("ckct_ib_unable_to_delete"));
}
}
}
/* 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, "");
}
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"));
}
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));
+ modest_dimming_rule_set_notification (rule, NULL);
}
return dimmed;
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));
+ modest_dimming_rule_set_notification (rule, NULL);
}
return dimmed;
gboolean result = FALSE;
TnyHeaderFlags flags;
- g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE);
-
flags = TNY_HEADER_FLAG_DELETED;
/* Check dimmed rule */
g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE);
+ /* All accounts are root items: */
+ GtkWidget *folder_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW(win),
+ MODEST_WIDGET_TYPE_FOLDER_VIEW);
+ if (folder_view) {
+ gboolean is_account = FALSE;
+ TnyFolderStore *folder_store =
+ modest_folder_view_get_selected (MODEST_FOLDER_VIEW(folder_view));
+ if (folder_store) {
+ is_account = TNY_IS_ACCOUNT (folder_store);
+ g_object_unref (folder_store);
+ folder_store = NULL;
+ }
+
+ if (is_account)
+ return TRUE;
+ }
+
+ /* Try something more precise: */
types[0] = TNY_FOLDER_TYPE_ROOT;
/* Check folder type */
guint i=0;
gboolean result = FALSE;
- /*Get curent folder */
+ /*Get current folder */
if (MODEST_IS_MAIN_WINDOW(win)) {
/* Get folder view */
g_return_val_if_fail (TNY_IS_FOLDER(folder), FALSE);
/* Get folder type */
- if (modest_tny_folder_is_local_folder (folder))
- folder_type = modest_tny_folder_get_local_folder_type (folder);
- else
- folder_type = modest_tny_folder_guess_folder_type (folder);
-
+ folder_type = modest_tny_folder_guess_folder_type (folder);
+
/* Check foler type */
for (i=0; i < ntypes; i++) {
result = result || folder_type == types[i];
TnyHeaderFlags mask,
gboolean opposite)
{
+ ModestWindow *main_window = NULL;
GtkWidget *header_view = NULL;
TnyList *selected_headers = NULL;
TnyIterator *iter = NULL;
TnyHeaderFlags flags;
gboolean result = FALSE;
+ if (MODEST_IS_MAIN_WINDOW (win))
+ main_window = win;
+ else {
+ main_window =
+ modest_window_mgr_get_main_window (modest_runtime_get_window_mgr ());
+ }
+
+
/* Get header view to check selected messages */
- header_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW(win),
+ header_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW(main_window),
MODEST_WIDGET_TYPE_HEADER_VIEW);
/* Check no selection */
/* Get folder and account of message */
msg = modest_msg_view_window_get_message (MODEST_MSG_VIEW_WINDOW (win));
g_return_val_if_fail(msg != NULL, TRUE);
- folder = tny_msg_get_folder (msg);
+ folder = tny_msg_get_folder (msg);
if (folder == NULL) {
modest_dimming_rule_set_notification (rule, _("mail_ib_unable_to_purge_attachments"));
- goto frees;
+ goto frees;
}
g_object_unref (msg);
} else if (MODEST_IS_MAIN_WINDOW (win)) {
return FALSE;
folder = TNY_FOLDER (modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view)));
if (folder == NULL || ! TNY_IS_FOLDER (folder))
- return FALSE;
- g_object_ref (folder);
-
+ goto frees;
} else {
g_return_val_if_reached (FALSE);
}
/* 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",