diff options
Diffstat (limited to 'src/nautilus-canvas-view.c')
-rw-r--r-- | src/nautilus-canvas-view.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/nautilus-canvas-view.c b/src/nautilus-canvas-view.c index 07199c9f6..e19fb09a9 100644 --- a/src/nautilus-canvas-view.c +++ b/src/nautilus-canvas-view.c @@ -1055,6 +1055,18 @@ update_sort_action_state_hint (NautilusCanvasView *canvas_view) g_variant_unref (state_hint); } +static gboolean +showing_recent_directory (NautilusView *view) +{ + NautilusFile *file; + + file = nautilus_view_get_directory_as_file (view); + if (file != NULL) { + return nautilus_file_is_in_recent (file); + } + return FALSE; +} + static void nautilus_canvas_view_update_actions_state (NautilusView *view) { @@ -1103,6 +1115,9 @@ nautilus_canvas_view_update_actions_state (NautilusView *view) action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), "keep-aligned"); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), canvas_view->details->supports_keep_aligned); + action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), "sort"); + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), + !showing_recent_directory (view)); if (canvas_view->details->supports_keep_aligned) { keep_aligned = nautilus_canvas_container_is_keep_aligned (get_canvas_container (canvas_view)); g_action_change_state (action, g_variant_new_boolean (keep_aligned)); |