X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-ui-dimming-rules.c;h=6b6af4f9abdc23546d64532fd7a52f26a4857690;hp=adfd3a7db50fea80a64abd648ac8f8ae823f5560;hb=81d949c4ed42a31732c189d6274434b62251fba9;hpb=95ce2fba8b5a5a0e018cb19ae2a0ce8857daf03f diff --git a/src/modest-ui-dimming-rules.c b/src/modest-ui-dimming-rules.c index adfd3a7..6b6af4f 100644 --- a/src/modest-ui-dimming-rules.c +++ b/src/modest-ui-dimming-rules.c @@ -265,7 +265,12 @@ modest_ui_dimming_rules_on_sort (ModestWindow *win, gpointer user_data) /* Check dimmed rule */ if (!dimmed) { dimmed = _selected_folder_is_root (MODEST_MAIN_WINDOW(win)); - modest_dimming_rule_set_notification (rule, NULL); + modest_dimming_rule_set_notification (rule, _CS("ckdg_ib_nothing_to_sort")); + } + + if (!dimmed) { + dimmed = _selected_folder_is_empty (MODEST_MAIN_WINDOW(win)); + modest_dimming_rule_set_notification (rule, _CS("ckdg_ib_nothing_to_sort")); } return dimmed; @@ -463,7 +468,7 @@ modest_ui_dimming_rules_on_delete_msg (ModestWindow *win, gpointer user_data) if (!dimmed) { dimmed = _selected_msg_sent_in_progress (win); if (dimmed) - modest_dimming_rule_set_notification (rule, _("ckct_ib_unable_to_delete")); + modest_dimming_rule_set_notification (rule, _CS("ckct_ib_unable_to_delete")); } } else if (MODEST_IS_MSG_VIEW_WINDOW (win)) { @@ -480,7 +485,7 @@ modest_ui_dimming_rules_on_delete_msg (ModestWindow *win, gpointer user_data) if (!dimmed) { dimmed = !modest_msg_view_window_has_headers_model (MODEST_MSG_VIEW_WINDOW(win)); if (dimmed) { - modest_dimming_rule_set_notification (rule, _("ckct_ib_unable_to_delete")); + modest_dimming_rule_set_notification (rule, _CS("ckct_ib_unable_to_delete")); } } } @@ -1164,6 +1169,24 @@ _selected_folder_is_root (ModestMainWindow *win) g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE); + /* All accounts are root items: */ + GtkWidget *folder_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW(win), + MODEST_WIDGET_TYPE_FOLDER_VIEW); + if (folder_view) { + gboolean is_account = FALSE; + TnyFolderStore *folder_store = + modest_folder_view_get_selected (MODEST_FOLDER_VIEW(folder_view)); + if (folder_store) { + is_account = TNY_IS_ACCOUNT (folder_store); + g_object_unref (folder_store); + folder_store = NULL; + } + + if (is_account) + return TRUE; + } + + /* Try something more precise: */ types[0] = TNY_FOLDER_TYPE_ROOT; /* Check folder type */ @@ -1298,7 +1321,7 @@ _selected_folder_is_any_of_type (ModestWindow *win, guint i=0; gboolean result = FALSE; - /*Get curent folder */ + /*Get current folder */ if (MODEST_IS_MAIN_WINDOW(win)) { /* Get folder view */ @@ -1346,11 +1369,8 @@ _folder_is_any_of_type (TnyFolder *folder, g_return_val_if_fail (TNY_IS_FOLDER(folder), FALSE); /* Get folder type */ - if (modest_tny_folder_is_local_folder (folder)) - folder_type = modest_tny_folder_get_local_folder_type (folder); - else - folder_type = modest_tny_folder_guess_folder_type (folder); - + folder_type = modest_tny_folder_guess_folder_type (folder); + /* Check foler type */ for (i=0; i < ntypes; i++) { result = result || folder_type == types[i];