* Review dimming rules of viewer window toolbar.
* Fixes: NB#60441, NB#61044
pmo-trunk-r2465
{ "/ToolBar/ToolbarMessageReply", G_CALLBACK(modest_ui_dimming_rules_on_reply_msg) },
{ "/ToolBar/ToolbarMessageMoveTo", G_CALLBACK(modest_ui_dimming_rules_on_move_to) },
{ "/ToolBar/ToolbarDeleteMessage", G_CALLBACK(modest_ui_dimming_rules_on_delete_msg) },
- { "/ToolBar/ToolbarFindInMessage", NULL },
+ { "/ToolBar/FindInMessage", G_CALLBACK(modest_ui_dimming_rules_on_find_msg) },
{ "/ToolBar/ToolbarMessageBack", G_CALLBACK(modest_ui_dimming_rules_on_view_previous) },
{ "/ToolBar/ToolbarMessageNext", G_CALLBACK(modest_ui_dimming_rules_on_view_next) },
{ "/ToolBar/ToolbarCancel", NULL },
{
ModestWindowPrivate *parent_priv;
ModestMsgViewWindowPrivate *priv;
- GtkWidget *widget = NULL;
+/* GtkWidget *widget = NULL; */
g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW (self));
/* Sets current toolbar mode */
priv->current_toolbar_mode = mode;
- /* Get toolbar widget */
- widget = gtk_ui_manager_get_widget (parent_priv->ui_manager, "/ToolBar");
+ /* Update toolbar dimming state */
+ modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (self));
switch (mode) {
case TOOLBAR_MODE_NORMAL:
- gtk_widget_set_sensitive (widget, TRUE);
/* widget = gtk_ui_manager_get_action (parent_priv->ui_manager, "/ToolBar/ToolbarMessageReply"); */
/* gtk_action_set_sensitive (widget, TRUE); */
/* widget = gtk_ui_manager_get_action (parent_priv->ui_manager, "/ToolBar/ToolbarDeleteMessage"); */
break;
case TOOLBAR_MODE_TRANSFER:
- gtk_widget_set_sensitive (widget, FALSE);
/* widget = gtk_ui_manager_get_action (parent_priv->ui_manager, "/ToolBar/ToolbarMessageReply"); */
/* gtk_action_set_sensitive (widget, FALSE); */
/* widget = gtk_ui_manager_get_action (parent_priv->ui_manager, "/ToolBar/ToolbarDeleteMessage"); */
gtk_widget_show (GTK_WIDGET (parent_priv->toolbar));
set_toolbar_mode (MODEST_MSG_VIEW_WINDOW(self), TOOLBAR_MODE_NORMAL);
+
} else {
gtk_widget_set_no_show_all (parent_priv->toolbar, TRUE);
gtk_widget_hide (GTK_WIDGET (parent_priv->toolbar));
}
+gboolean
+modest_msg_view_window_transfer_mode_enabled (ModestMsgViewWindow *self)
+{
+ ModestMsgViewWindowPrivate *priv;
+
+ g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (self), FALSE);
+ priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE(self);
+
+ return priv->current_toolbar_mode == TOOLBAR_MODE_TRANSFER;
+}
+
static void
cancel_progressbar (GtkToolButton *toolbutton,
ModestMsgViewWindow *self)
gtk_window_set_title (GTK_WINDOW (window), subject);
}
+
static gboolean _sending_in_progress (ModestWindow *win);
static gboolean _marked_as_deleted (ModestWindow *win);
static gboolean _invalid_attachment_for_purge (ModestWindow *win, ModestDimmingRule *rule);
+static gboolean _transfer_mode_enabled (ModestWindow *win);
gboolean
/* Check dimmed rule */
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 (MODEST_MSG_VIEW_WINDOW(win));
if (dimmed)
modest_dimming_rule_set_notification (rule, "");
}
else if (MODEST_IS_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 = !modest_msg_view_window_has_headers_model (MODEST_MSG_VIEW_WINDOW(win));
if (dimmed) {
gchar *num = g_strdup("1");
/* Check dimmed rule */
if (!dimmed) {
+ dimmed = _transfer_mode_enabled (win);
+ if (dimmed)
+ 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 (dimmed)
modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_move_mail_attachment"));
-
+ }
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_find_msg (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW(win), FALSE);
+ g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
+ rule = MODEST_DIMMING_RULE (user_data);
+
+ /* Check dimmed rule */
+ if (!dimmed) {
+ dimmed = _transfer_mode_enabled (win);
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading"));
}
return dimmed;
if (!dimmed) {
dimmed = _clipboard_is_empty (win);
if (dimmed)
- modest_dimming_rule_set_notification (rule, "");
+ modest_dimming_rule_set_notification (rule, dgettext("hildon-common-strings", "ecoc_ib_edwin_nothing_to_paste"));
}
if (!dimmed) {
dimmed = _selected_folder_is_any_of_type (win, types, 3);
/* Check dimmed rule */
if (!dimmed) {
+ dimmed = _transfer_mode_enabled (win);
+ if (dimmed)
+ 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, "");
/* Check dimmed rule */
if (!dimmed) {
+ dimmed = _transfer_mode_enabled (win);
+ if (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, "");
/* Check dimming */
result = !modest_header_view_has_selected_headers (MODEST_HEADER_VIEW(header_view));
if (result)
- modest_dimming_rule_set_notification (rule, _("mcen_ib_select_one_message"));
+ modest_dimming_rule_set_notification (rule, _("mcen_ib_no_message_selected"));
}
return result;
return result;
}
+static gboolean
+_transfer_mode_enabled (ModestWindow *win)
+{
+ gboolean result = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (win), FALSE);
+
+ /* Check dimming */
+ result = modest_msg_view_window_transfer_mode_enabled (MODEST_MSG_VIEW_WINDOW (win));
+
+ return result;
+}
gboolean modest_ui_dimming_rules_on_cancel_sending (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_send_receive (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_add_to_contacts (ModestWindow *win, gpointer user_data);
+gboolean modest_ui_dimming_rules_on_find_msg (ModestWindow *win, gpointer user_data);
G_END_DECLS
#endif
TnyFolderType
modest_msg_view_window_get_folder_type (ModestMsgViewWindow *window);
+/**
+ * modest_msg_view_window_transfer_mode_enabled:
+ * @window: a #ModestMsgViewWindow
+ *
+ * Determines if some transfer operation is in progress.
+ *
+ * Returns: TRUE if transfer mode is enabled, FASE otherwise.
+*/
+gboolean
+modest_msg_view_window_transfer_mode_enabled (ModestMsgViewWindow *self);
+
G_END_DECLS
#endif /* __MODEST_MSG_VIEW_WINDOW_H__ */