_define_main_window_dimming_state (ModestMainWindow *window)
{
DimmedState *state = NULL;
+ GtkWidget *focused_widget = NULL;
GtkWidget *header_view = NULL;
TnyList *selected_headers = NULL;
TnyIterator *iter = NULL;
state->all_has_attachments = FALSE;
state->sent_in_progress = FALSE;
+ /* Get focused widget */
+ focused_widget = gtk_window_get_focus (GTK_WINDOW (window));
+ if (MODEST_IS_FOLDER_VIEW (focused_widget)) {
+ state->n_selected++;
+ return state;
+ } else if (MODEST_IS_HEADER_VIEW (focused_widget)) {
+ header_view = focused_widget;
+ } else {
+ header_view = modest_main_window_get_child_widget (window, MODEST_WIDGET_TYPE_HEADER_VIEW);
+ }
+
/* Get header view and selected headers */
- header_view = modest_main_window_get_child_widget (window, MODEST_WIDGET_TYPE_HEADER_VIEW);
selected_headers = modest_header_view_get_selected_headers (MODEST_HEADER_VIEW(header_view));
if (!selected_headers)
return state;
/* Check dimmed rule */
if (!dimmed) {
- if (MODEST_IS_MSG_VIEW_WINDOW (win))
- dimmed = _msg_download_in_progress (MODEST_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) {
- if (MODEST_IS_MSG_VIEW_WINDOW (win))
- dimmed = _msg_download_in_progress (MODEST_MSG_VIEW_WINDOW (win));
+ dimmed = _msg_download_in_progress (MODEST_MSG_VIEW_WINDOW (win));
if (dimmed)
modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_reply"));
}
/* 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)
+ /* Get focused widget */
+ GtkWidget *focused = gtk_window_get_focus (GTK_WINDOW (win));
+
+ if (MODEST_IS_HEADER_VIEW (focused)) {
+ 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;
}
/* 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"));
+ /* Get focused widget */
+ GtkWidget *focused = gtk_window_get_focus (GTK_WINDOW (win));
+
+ if (MODEST_IS_HEADER_VIEW (focused)) {
+ 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"));
+ }
}
}
g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW(win), FALSE);
- /* Check dimmed rule */
+ /* Check dimmed rule */
if (!dimmed) {
- dimmed = _transfer_mode_enabled (win);
+ dimmed = _transfer_mode_enabled (win);
if (dimmed)
- modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading"));
+ modest_dimming_rule_set_notification (
+ rule, _("mail_ib_notavailable_downloading"));
}
if (!dimmed) {
- if (MODEST_IS_MSG_VIEW_WINDOW (win))
- dimmed = modest_msg_view_window_first_message_selected (MODEST_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) {
- if (MODEST_IS_MSG_VIEW_WINDOW (win))
- dimmed = modest_msg_view_window_last_message_selected (MODEST_MSG_VIEW_WINDOW (win));
+ dimmed = modest_msg_view_window_last_message_selected (MODEST_MSG_VIEW_WINDOW (win));
modest_dimming_rule_set_notification (rule, NULL);
}