Modified menus in message view to fit specs. Added mark (un)read action.
authorJose Dapena Paz <jdapena@igalia.com>
Thu, 4 Dec 2008 21:25:00 +0000 (21:25 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Thu, 4 Dec 2008 21:25:00 +0000 (21:25 +0000)
pmo-drop-split-view-r6668

src/hildon2/modest-msg-view-window.c
src/modest-ui-dimming-rules.c
src/modest-ui-dimming-rules.h

index 7fc5c9e..9b19302 100644 (file)
@@ -3195,27 +3195,30 @@ setup_menu (ModestMsgViewWindow *self, ModestDimmingRulesGroup *group)
        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));
index 42525ee..cb8b48b 100644 (file)
@@ -869,6 +869,65 @@ 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)
+{
+       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;
index 4ab51b8..be3509e 100644 (file)
@@ -53,6 +53,8 @@ gboolean modest_ui_dimming_rules_on_reply_msg (ModestWindow *win, gpointer user_
 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);