app_menu = hildon_app_menu_new ();
/* Settings menu buttons */
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_reply"),
- G_CALLBACK (modest_ui_actions_on_reply),
- group, G_CALLBACK (modest_ui_dimming_rules_on_reply_msg));
add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_replytoall"),
G_CALLBACK (modest_ui_actions_on_reply_all),
group, G_CALLBACK (modest_ui_dimming_rules_on_reply_msg));
add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_forward"),
G_CALLBACK (modest_ui_actions_on_forward),
group, G_CALLBACK (modest_ui_dimming_rules_on_reply_msg));
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_viewer_newemail"),
- G_CALLBACK (modest_ui_actions_on_new_msg),
- group, G_CALLBACK (modest_ui_dimming_rules_on_new_msg));
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_messagedetails"),
- G_CALLBACK (modest_ui_actions_on_details),
- group, G_CALLBACK (modest_ui_dimming_rules_on_details));
+
+ add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_mark_as_read"),
+ G_CALLBACK (modest_ui_actions_on_mark_as_read),
+ group, G_CALLBACK (modest_ui_dimming_rules_on_mark_as_read_msg_in_view));
+ add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_mark_as_unread"),
+ G_CALLBACK (modest_ui_actions_on_mark_as_unread),
+ group, G_CALLBACK (modest_ui_dimming_rules_on_mark_as_unread_msg_in_view));
+
add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_viewer_save_attachments"),
G_CALLBACK (modest_ui_actions_save_attachments),
group, G_CALLBACK (modest_ui_dimming_rules_on_save_attachments));
add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_remove_attachments"),
G_CALLBACK (modest_ui_actions_remove_attachments),
group, G_CALLBACK (modest_ui_dimming_rules_on_remove_attachments));
+
+ add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_viewer_newemail"),
+ G_CALLBACK (modest_ui_actions_on_new_msg),
+ group, G_CALLBACK (modest_ui_dimming_rules_on_new_msg));
add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_viewer_addtocontacts"),
G_CALLBACK (modest_ui_actions_on_add_to_contacts),
group, G_CALLBACK (modest_ui_dimming_rules_on_add_to_contacts));
gboolean
+modest_ui_dimming_rules_on_mark_as_read_msg_in_view (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ TnyHeader *header;
+ TnyHeaderFlags flags;
+ 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);
+
+ header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (win));
+ if (!header) {
+ dimmed = TRUE;
+ }
+
+ if (!dimmed) {
+ flags = tny_header_get_flags (header);
+ if (flags & TNY_HEADER_FLAG_SEEN)
+ dimmed = TRUE;
+ }
+
+ if (header)
+ g_object_unref (header);
+ return dimmed;
+}
+
+
+gboolean
+modest_ui_dimming_rules_on_mark_as_unread_msg_in_view (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ TnyHeader *header;
+ TnyHeaderFlags flags;
+ 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);
+
+ header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (win));
+ if (!header) {
+ dimmed = TRUE;
+ }
+
+ if (!dimmed) {
+ flags = tny_header_get_flags (header);
+ if (!(flags & TNY_HEADER_FLAG_SEEN))
+ dimmed = TRUE;
+ }
+
+ if (header)
+ g_object_unref (header);
+ return dimmed;
+}
+
+gboolean
modest_ui_dimming_rules_on_mark_as_read_msg (ModestWindow *win, gpointer user_data)
{
ModestDimmingRule *rule = NULL;
gboolean modest_ui_dimming_rules_on_contents_msg (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_always_dimmed (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_details (ModestWindow *win, gpointer user_data);
+gboolean modest_ui_dimming_rules_on_mark_as_read_msg_in_view (ModestWindow *win, gpointer user_data);
+gboolean modest_ui_dimming_rules_on_mark_as_unread_msg_in_view (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_mark_as_read_msg (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_mark_as_unread_msg (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_move_to (ModestWindow *win, gpointer user_data);