diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c index 2223d0bdf2678f4c4fed1d842d3b3991d7ff6c95..1d491c2e46e8af7df13c95570b8b4b78111a8856 100644 --- a/src/nautilus-files-view.c +++ b/src/nautilus-files-view.c @@ -6008,6 +6008,30 @@ action_cut (GSimpleAction *action, nautilus_file_list_free (selection); } +static void +action_copy_current_location (GSimpleAction *action, + GVariant *state, + gpointer user_data) +{ + NautilusFilesView *view; + GdkClipboard *clipboard; + GList *files; + NautilusFilesViewPrivate *priv; + + view = NAUTILUS_FILES_VIEW (user_data); + priv = nautilus_files_view_get_instance_private (view); + + if (priv->directory_as_file != NULL) + { + files = g_list_append (NULL, nautilus_file_ref (priv->directory_as_file)); + + clipboard = gtk_widget_get_clipboard (GTK_WIDGET (view)); + nautilus_clipboard_prepare_for_files (clipboard, files, FALSE); + + nautilus_file_list_free (files); + } +} + static void action_create_links_in_place (GSimpleAction *action, GVariant *state, @@ -7015,6 +7039,7 @@ const GActionEntry view_entries[] = { "new-folder", action_new_folder }, { "select-all", action_select_all }, { "paste", action_paste_files }, + { "copy-current-location", action_copy_current_location }, { "paste_accel", action_paste_files_accel }, { "create-link", action_create_links }, { "new-document" }, @@ -7630,6 +7655,10 @@ real_update_actions_state (NautilusFilesView *view) action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), "preview-selection"); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), selection_count != 0); + action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), + "copy-current-location"); + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), + !selection_contains_search); /* Drive menu */ show_mount = (selection != NULL); diff --git a/src/resources/ui/nautilus-files-view-context-menus.ui b/src/resources/ui/nautilus-files-view-context-menus.ui index b159703666eb80b3bbd70ac4fdd137b80f1703aa..40a066aba6516a3f6dc8bd6b040cfc8007f5c422 100644 --- a/src/resources/ui/nautilus-files-view-context-menus.ui +++ b/src/resources/ui/nautilus-files-view-context-menus.ui @@ -20,6 +20,10 @@ _Open With Other Application view.open-current-directory-with-other-application + + _Copy Location + view.copy-current-location +