Fix for NB#59458 (should dim sort button when the selected folder
authorJose Dapena Paz <jdapena@igalia.com>
Mon, 11 Jun 2007 11:01:23 +0000 (11:01 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Mon, 11 Jun 2007 11:01:23 +0000 (11:01 +0000)
is a root folder).
* src/maemo/modest-main-window-ui-dimming.h:
        * Added dimming handler for sort dialog actions.
* src/modest-ui-dimming-rules.[ch]:
        * Added dimming handler for sort dialog actions. Should
          be dimmed when the folder is a root folder.

Restored the UI menu actions available in viewer.
* src/maemo/ui/modest-msg-view-window-ui.xml:
        * Readded show toolbar actions.
        * Readded find in page actions.

pmo-trunk-r2147

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

index 01d6edb..82ca9a5 100644 (file)
@@ -36,7 +36,7 @@ static const ModestDimmingEntry modest_main_window_menu_dimming_entries [] = {
 
        /* View Menu */
        { "/MenuBar/ViewMenu", NULL },
-       { "/MenuBar/ViewMenu/ViewSortMenu", NULL },
+       { "/MenuBar/ViewMenu/ViewSortMenu", G_CALLBACK(modest_ui_dimming_rules_on_sort) },
        { "/MenuBar/ViewMenu/ViewToggleFoldersMenu", NULL },
        { "/MenuBar/ViewMenu/ViewToggleFullscreenMenu", NULL },
        { "/MenuBar/ViewMenu/ViewShowToolbarMainMenu", NULL },
@@ -95,7 +95,7 @@ static const ModestDimmingEntry modest_main_window_toolbar_dimming_entries [] =
        { "/ToolBar/ToolbarMessageReply", G_CALLBACK(modest_ui_dimming_rules_on_reply_msg) },
        { "/ToolBar/ToolbarDeleteMessage", G_CALLBACK(modest_ui_dimming_rules_on_delete_msg) },
        { "/ToolBar/ToolbarToggleView", NULL },
-       { "/ToolBar/ToolbarSort", NULL },
+       { "/ToolBar/ToolbarSort", G_CALLBACK(modest_ui_dimming_rules_on_sort) },
        { "/ToolBar/ToolbarSendReceive", NULL },
        { "/ToolBar/ToolbarCancel", NULL },
 };
index 52bcfff..94f6761 100644 (file)
       <separator/>
       <menuitem name="ViewToggleFullscreenMenu" action="ViewToggleFullscreen"/>
       <separator/>
+      <menu name="ViewShowToolbarMenu" action="ViewShowToolbar">
+       <menuitem name="ViewShowToolbarNormalScreenMenu" action="ViewShowToolbarNormalScreen"/>
+       <menuitem name="ViewShowToolbarFullScreenMenu" action="ViewShowToolbarFullScreen"/>
+      </menu>
+      <separator/>
       <menuitem name="ViewPreviousMessageMenu" action="ViewPreviousMessage"/>
       <menuitem name="ViewNextMessageMenu" action="ViewNextMessage"/>
     </menu>
@@ -79,8 +84,7 @@
    <menu name="ToolsMenu" action="Tools">
       <menuitem name="ToolsAddToContactsMenu" action="ToolsAddToContacts"/>
       <separator/>
-
-<!--       <menuitem name="ToolsFindOnPageMenu" action="ToolsFindOnPage"/> -->
+      <menuitem name="ToolsFindInMessageMenu" action="ToolsFindInMessage"/>
       <menuitem name="ToolsSearchMessagesMenu" action="ToolsSearchMessages"/>
       <separator/>
       <menuitem name="ToolsHelpMenu" action="ToolsHelp"/>
index 96635ce..83ca705 100644 (file)
@@ -44,6 +44,7 @@ static gboolean _already_opened_msg (ModestWindow *win);
 static gboolean _selected_msg_marked_as (ModestWindow *win, TnyHeaderFlags mask, gboolean opposite);
 static gboolean _selected_folder_not_writeable (ModestMainWindow *win);
 static gboolean _selected_folder_is_any_of_type (ModestMainWindow *win, TnyFolderType types[], guint ntypes);
+static gboolean _selected_folder_is_root_or_inbox (ModestMainWindow *win);
 static gboolean _selected_folder_is_root (ModestMainWindow *win);
 static gboolean _selected_folder_is_empty (ModestMainWindow *win);
 static gboolean _msg_download_in_progress (ModestMsgViewWindow *win);
@@ -115,9 +116,24 @@ modest_ui_dimming_rules_on_delete_folder (ModestWindow *win, gpointer user_data)
        if (!dimmed)
                dimmed = _selected_folder_not_writeable (MODEST_MAIN_WINDOW(win));
        if (!dimmed)
+               dimmed = _selected_folder_is_root_or_inbox (MODEST_MAIN_WINDOW(win));
+
+       return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_sort (ModestWindow *win, gpointer user_data)
+{
+       gboolean dimmed = FALSE;
+
+       g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE);
+               
+       /* Check dimmed rule */ 
+       if (!dimmed)
                dimmed = _selected_folder_is_root (MODEST_MAIN_WINDOW(win));
 
        return dimmed;
+       
 }
 
 gboolean 
@@ -131,7 +147,7 @@ modest_ui_dimming_rules_on_rename_folder (ModestWindow *win, gpointer user_data)
        if (!dimmed)
                dimmed = _selected_folder_not_writeable (MODEST_MAIN_WINDOW(win));
        if (!dimmed)
-               dimmed = _selected_folder_is_root (MODEST_MAIN_WINDOW(win));
+               dimmed = _selected_folder_is_root_or_inbox (MODEST_MAIN_WINDOW(win));
 
        return dimmed;
 }
@@ -504,7 +520,7 @@ _selected_folder_not_writeable (ModestMainWindow *win)
 }
 
 static gboolean
-_selected_folder_is_root (ModestMainWindow *win)
+_selected_folder_is_root_or_inbox (ModestMainWindow *win)
 {
        TnyFolderType types[2];
        gboolean result = FALSE;
@@ -550,6 +566,22 @@ _selected_folder_is_root (ModestMainWindow *win)
        return result;
 }
 
+static gboolean
+_selected_folder_is_root (ModestMainWindow *win)
+{
+       TnyFolderType types[1];
+       gboolean result = FALSE;
+
+       g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE);
+
+       types[0] = TNY_FOLDER_TYPE_ROOT; 
+
+       /* Check folder type */
+       result = _selected_folder_is_any_of_type (win, types, 1);
+               
+       return result;
+}
+
 
 static gboolean
 _selected_folder_is_empty (ModestMainWindow *win)
index 8b6291e..9301eeb 100644 (file)
@@ -41,6 +41,7 @@ gboolean modest_ui_dimming_rules_on_new_msg (ModestWindow *win, gpointer user_da
 gboolean modest_ui_dimming_rules_on_new_folder (ModestWindow *win, gpointer user_data);
 gboolean modest_ui_dimming_rules_on_delete_folder (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);