X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-ui-dimming-rules.c;h=83ca7051094f5ce4f3c4ba75a1c87a2044ee9575;hp=96635ce8599105406fa85dc620195ed641a21bb3;hb=f3a813cb451afaca780a03fdc8b04df47c59ca52;hpb=903abcb2b57ae81ffdf55c300d5a8be3843a12f6 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)