/* Init state */
state = g_slice_new0 (DimmedState);
state->n_selected = 0;
- state->already_opened_msg = FALSE;
+ state->already_opened_msg = 0;
state->any_marked_as_deleted = FALSE;
state->all_marked_as_deleted = FALSE;
state->any_marked_as_seen = FALSE;
/* Already opened */
mgr = modest_runtime_get_window_mgr ();
- if (!state->already_opened_msg)
- state->already_opened_msg = modest_window_mgr_find_registered_header (mgr, header, NULL);
+ if (modest_window_mgr_find_registered_header (mgr, header, NULL))
+ state->already_opened_msg++;
/* Mark as deleted */
/* Init state */
state = g_slice_new0 (DimmedState);
state->n_selected = 0;
- state->already_opened_msg = FALSE;
+ state->already_opened_msg = 0;
state->any_marked_as_deleted = FALSE;
state->all_marked_as_deleted = FALSE;
state->any_marked_as_seen = FALSE;
all_has_attach = all_has_attach && (flags & TNY_HEADER_FLAG_ATTACHMENTS);
state->all_has_attachments = all_has_attach;
if (!state->any_has_attachments)
- state->any_has_attachments = flags & TNY_HEADER_FLAG_ATTACHMENTS;
+ state->any_has_attachments = (flags & TNY_HEADER_FLAG_ATTACHMENTS)?1:0;
/* sent in progress */
msg_uid = modest_tny_send_queue_get_msg_id (header);
modest_ui_dimming_rules_on_delete_msg (ModestWindow *win, gpointer user_data)
{
ModestDimmingRule *rule = NULL;
- guint n_messages = 0;
const DimmedState *state = NULL;
gboolean dimmed = FALSE;
dimmed = _invalid_msg_selected (MODEST_MAIN_WINDOW(win), FALSE, user_data);
}
if (!dimmed) {
- dimmed = state->already_opened_msg;
- n_messages = state->n_selected;
+ dimmed = (state->already_opened_msg > 0) ? TRUE : FALSE;
if (dimmed) {
- gchar *num = g_strdup_printf ("%d", n_messages);
- gchar *message = g_strdup_printf(_("mcen_nc_unable_to_delete_n_messages"), num);
+ gchar *num = NULL, *message = NULL;
+
+ num = g_strdup_printf ("%d", state->already_opened_msg);
+ message = g_strdup_printf(_("mcen_nc_unable_to_delete_n_messages"), num);
modest_dimming_rule_set_notification (rule, message);
+ g_free(num);
g_free(message);
- g_free(num);
}
}
}
g_object_unref (folder_store);
+ } else {
+ dimmed = TRUE;
+ modest_dimming_rule_set_notification (rule, "");
}
if (!dimmed) {
dimmed = _msg_download_in_progress (win);
{
GtkWidget *folder_view = NULL;
ModestDimmingRule *rule = NULL;
- guint n_messages = 0;
const DimmedState *state = NULL;
gboolean dimmed = FALSE;
/* Check diming rules for messages transfer */
if (!dimmed) {
- dimmed = state->already_opened_msg;
- n_messages = state->n_selected;
+ dimmed = (state->already_opened_msg > 0) ? TRUE : FALSE;
if (dimmed) {
- gchar *message = g_strdup_printf(_("emev_bd_unabletomove_items"), n_messages);
+ gchar *message = g_strdup_printf(_("emev_bd_unabletomove_items"),
+ state->already_opened_msg);
modest_dimming_rule_set_notification (rule, message);
g_free(message);
}
/* Check if the selected message in main window has attachments */
if (!dimmed && MODEST_IS_MAIN_WINDOW (win)) {
- dimmed = state->any_has_attachments;
+ dimmed = !(state->any_has_attachments);
if (dimmed)
modest_dimming_rule_set_notification (rule, _("mail_ib_unable_to_purge_attachments"));
}
modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_cut_mess"));
}
if (!dimmed) {
- dimmed = state->already_opened_msg;
+ dimmed = (state->already_opened_msg > 0) ? TRUE : FALSE;
if(dimmed)
modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_cut_mess"));
}
modest_dimming_rule_set_notification (rule, _(""));
}
if (!dimmed) {
- dimmed = state->already_opened_msg;
+ dimmed = (state->already_opened_msg > 0) ? TRUE : FALSE;
if(dimmed)
modest_dimming_rule_set_notification (rule, _(""));
}
}
if (!dimmed) {
- GtkClipboard *clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
+ dimmed = GTK_IS_TOGGLE_BUTTON (focused);
+ }
+
+ if (!dimmed) {
ModestEmailClipboard *e_clipboard = modest_runtime_get_email_clipboard ();
dimmed = modest_email_clipboard_cleared (e_clipboard) &&
- !gtk_clipboard_wait_is_text_available (clipboard);
+ (modest_msg_edit_window_get_clipboard_text(MODEST_MSG_EDIT_WINDOW (win)) != NULL);
}
return dimmed;
result = TRUE;
modest_dimming_rule_set_notification (rule, _("mail_ib_unable_to_purge_editable_msg"));
} else {
- /* We're currently disabling purge in any local store */
- result = TRUE;
- modest_dimming_rule_set_notification (rule, _("mail_ib_unable_to_purge_attachments"));
+ result = FALSE;
}
} else {
const gchar *proto_str = tny_account_get_proto (TNY_ACCOUNT (account));