* Review dimming rules of 'delete' and 'delete folder'
authorJavier Fernandez Garcia-Boente <jfernandez@igalia.com>
Sat, 30 Jun 2007 10:28:04 +0000 (10:28 +0000)
committerJavier Fernandez Garcia-Boente <jfernandez@igalia.com>
Sat, 30 Jun 2007 10:28:04 +0000 (10:28 +0000)
* Fixes: NB#61254

pmo-trunk-r2506

src/maemo/modest-main-window-ui-dimming.h
src/modest-ui-dimming-rules.c
src/modest-ui-dimming-rules.h

index 51056a4..c9e9e3f 100644 (file)
@@ -20,7 +20,7 @@ static const ModestDimmingEntry modest_main_window_menu_dimming_entries [] = {
        { "/MenuBar/EmailMenu/EmailForwardMenu",  G_CALLBACK(modest_ui_dimming_rules_on_reply_msg) },
        { "/MenuBar/EmailMenu/EmailContentsMenu", G_CALLBACK(modest_ui_dimming_rules_on_contents_msg) },
        { "/MenuBar/EmailMenu/EmailPurgeAttachmentsMenu", G_CALLBACK(modest_ui_dimming_rules_on_remove_attachments) },
-       { "/MenuBar/EmailMenu/EmailDeleteMenu",  G_CALLBACK(modest_ui_dimming_rules_on_delete_msg) },
+       { "/MenuBar/EmailMenu/EmailDeleteMenu",  G_CALLBACK(modest_ui_dimming_rules_on_delete) },
        { "/MenuBar/EmailMenu/EmailDetailsMenu", G_CALLBACK(modest_ui_dimming_rules_on_details) },
 
        /* Edit Menu */
@@ -93,7 +93,7 @@ static const ModestDimmingEntry modest_main_window_toolbar_dimming_entries [] =
        /* Toolbar */
        { "/ToolBar/ToolbarMessageNew", NULL },
        { "/ToolBar/ToolbarMessageReply", G_CALLBACK(modest_ui_dimming_rules_on_reply_msg) },
-       { "/ToolBar/ToolbarDeleteMessage", G_CALLBACK(modest_ui_dimming_rules_on_delete_msg) },
+       { "/ToolBar/ToolbarDeleteMessage", G_CALLBACK(modest_ui_dimming_rules_on_delete) },
        { "/ToolBar/ToolbarToggleView", NULL },
        { "/ToolBar/ToolbarSort", G_CALLBACK(modest_ui_dimming_rules_on_sort) },
        { "/ToolBar/ToolbarSendReceive", G_CALLBACK(modest_ui_dimming_rules_on_send_receive) },
index 4a6c322..d3c620d 100644 (file)
@@ -167,6 +167,37 @@ modest_ui_dimming_rules_on_new_folder (ModestWindow *win, gpointer user_data)
 }
 
 gboolean 
+modest_ui_dimming_rules_on_delete (ModestWindow *win, gpointer user_data)
+{
+       ModestDimmingRule *rule = NULL;
+       GtkWidget *folder_view = NULL;
+       GtkWidget *header_view = NULL;  
+       gboolean dimmed = FALSE;
+
+       g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE);
+       g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
+       rule = MODEST_DIMMING_RULE (user_data);
+       
+       /* Get the folder view */
+       folder_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW(win),
+                                                          MODEST_WIDGET_TYPE_FOLDER_VIEW);
+
+       /* Get header view */
+       header_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW(win),
+                                                          MODEST_WIDGET_TYPE_HEADER_VIEW);
+
+       if (header_view && gtk_widget_is_focus (header_view)) 
+               dimmed = modest_ui_dimming_rules_on_delete_msg (win, rule);
+
+       if (folder_view && gtk_widget_is_focus (folder_view)) 
+               dimmed = modest_ui_dimming_rules_on_delete_folder (win, rule);
+
+       return dimmed;
+}
+
+
+
+gboolean 
 modest_ui_dimming_rules_on_delete_folder (ModestWindow *win, gpointer user_data)
 {
        ModestDimmingRule *rule = NULL;
index 003d079..2b6b65c 100644 (file)
@@ -40,14 +40,15 @@ G_BEGIN_DECLS
 gboolean modest_ui_dimming_rules_on_new_msg (ModestWindow *win, gpointer user_data);
 gboolean modest_ui_dimming_rules_on_new_folder (ModestWindow *win, gpointer user_data);
 gboolean modest_ui_dimming_rules_on_csm_new_folder (ModestWindow *win, gpointer user_data);
+gboolean modest_ui_dimming_rules_on_delete (ModestWindow *win, gpointer user_data);
 gboolean modest_ui_dimming_rules_on_delete_folder (ModestWindow *win, gpointer user_data);
+gboolean modest_ui_dimming_rules_on_delete_msg (ModestWindow *win, gpointer user_data);
 gboolean modest_ui_dimming_rules_on_rename_folder (ModestWindow *win, gpointer user_data);
 gboolean modest_ui_dimming_rules_on_sort (ModestWindow *win, gpointer user_data);
 gboolean modest_ui_dimming_rules_on_open_msg (ModestWindow *win, gpointer user_data);
 gboolean modest_ui_dimming_rules_on_reply_msg (ModestWindow *win, gpointer user_data);
 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_delete_msg (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 (ModestWindow *win, gpointer user_data);
 gboolean modest_ui_dimming_rules_on_mark_as_unread_msg (ModestWindow *win, gpointer user_data);