From: Jose Dapena Paz Date: Mon, 11 Jun 2007 11:01:23 +0000 (+0000) Subject: Fix for NB#59458 (should dim sort button when the selected folder X-Git-Tag: git_migration_finished~3355 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=f3a813cb451afaca780a03fdc8b04df47c59ca52 Fix for NB#59458 (should dim sort button when the selected folder 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 --- diff --git a/src/maemo/modest-main-window-ui-dimming.h b/src/maemo/modest-main-window-ui-dimming.h index 01d6edb..82ca9a5 100644 --- a/src/maemo/modest-main-window-ui-dimming.h +++ b/src/maemo/modest-main-window-ui-dimming.h @@ -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 }, }; diff --git a/src/maemo/ui/modest-msg-view-window-ui.xml b/src/maemo/ui/modest-msg-view-window-ui.xml index 52bcfff..94f6761 100644 --- a/src/maemo/ui/modest-msg-view-window-ui.xml +++ b/src/maemo/ui/modest-msg-view-window-ui.xml @@ -66,6 +66,11 @@ + + + + + @@ -79,8 +84,7 @@ - - + diff --git a/src/modest-ui-dimming-rules.c b/src/modest-ui-dimming-rules.c index 96635ce..83ca705 100644 --- a/src/modest-ui-dimming-rules.c +++ b/src/modest-ui-dimming-rules.c @@ -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) diff --git a/src/modest-ui-dimming-rules.h b/src/modest-ui-dimming-rules.h index 8b6291e..9301eeb 100644 --- a/src/modest-ui-dimming-rules.h +++ b/src/modest-ui-dimming-rules.h @@ -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);