Add toolbar action to copy current location

Resolves: #2098578
This commit is contained in:
Ondrej Holy 2022-06-21 17:23:34 +02:00
parent 1897738f3d
commit 3ec5c57d54
3 changed files with 253 additions and 1 deletions

View File

@ -0,0 +1,89 @@
From 18fd27b5789758a7cbf97c8ab59b57d890923779 Mon Sep 17 00:00:00 2001
From: utkarshvg2401 <utkarshvg2401@gmail.com>
Date: Fri, 1 Apr 2022 10:48:08 +0530
Subject: [PATCH] files-view: Add menu item to copy current path
Currently, there is no option to directly copy the path of the current open directory.
This can be useful when users want to use the path of the directory in the terminal or some code.
Close https://gitlab.gnome.org/GNOME/nautilus/-/issues/1966
---
src/nautilus-files-view.c | 29 +++++++++++++++++++
.../ui/nautilus-files-view-context-menus.ui | 6 ++++
2 files changed, 35 insertions(+)
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 378e6bdba..1e1025eed 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -6123,6 +6123,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;
+ GtkClipboard *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 = nautilus_clipboard_get (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,
@@ -7154,6 +7178,7 @@ const GActionEntry view_entries[] =
{ "select-all", action_select_all },
{ "paste", action_paste_files },
{ "paste_accel", action_paste_files_accel },
+ { "copy-current-location", action_copy_current_location },
{ "create-link", action_create_links },
{ "new-document" },
/* Selection menu */
@@ -7789,6 +7814,10 @@ real_update_actions_state (NautilusFilesView *view)
g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
can_move_files && !selection_contains_recent &&
!selection_contains_starred);
+ 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 27764c9a7..22a1cb231 100644
--- a/src/resources/ui/nautilus-files-view-context-menus.ui
+++ b/src/resources/ui/nautilus-files-view-context-menus.ui
@@ -14,6 +14,12 @@
<attribute name="label" translatable="yes">Add to _Bookmarks</attribute>
<attribute name="action">win.bookmark-current-location</attribute>
</item>
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">_Copy Location</attribute>
+ <attribute name="action">view.copy-current-location</attribute>
+ </item>
+ </section>
<section>
<item>
<attribute name="label" translatable="yes">Create _Link</attribute>
--
2.36.1

View File

@ -0,0 +1,156 @@
diff -ruN nautilus-40.2/po/ca.po nautilus-40.2.translations/po/ca.po
--- nautilus-40.2/po/ca.po 2022-06-21 17:20:51.823378453 +0200
+++ nautilus-40.2.translations/po/ca.po 2022-06-21 17:22:25.337339247 +0200
@@ -5907,3 +5907,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "Introduïu una contrasenya aquí."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:24
+msgid "_Copy Location"
+msgstr "_Copia la ubicació"
diff -ruN nautilus-40.2/po/de.po nautilus-40.2.translations/po/de.po
--- nautilus-40.2/po/de.po 2022-06-21 17:20:51.825378453 +0200
+++ nautilus-40.2.translations/po/de.po 2022-06-21 17:22:25.422339211 +0200
@@ -6034,3 +6034,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "Geben Sie hier ein Passwort ein."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:24
+msgid "_Copy Location"
+msgstr "Ort _kopieren"
diff -ruN nautilus-40.2/po/es.po nautilus-40.2.translations/po/es.po
--- nautilus-40.2/po/es.po 2022-06-21 17:20:51.827378452 +0200
+++ nautilus-40.2.translations/po/es.po 2022-06-21 17:22:25.461339195 +0200
@@ -11269,3 +11269,8 @@
#| msgid "Enter password…"
msgid "Enter a password here."
msgstr "Introduzca una contraseña aquí."
+
+# src/nautilus-location-bar.c:401
+#: src/resources/ui/nautilus-files-view-context-menus.ui:24
+msgid "_Copy Location"
+msgstr "Copiar _ubicación"
diff -ruN nautilus-40.2/po/fa.po nautilus-40.2.translations/po/fa.po
--- nautilus-40.2/po/fa.po 2022-06-21 17:20:51.828378451 +0200
+++ nautilus-40.2.translations/po/fa.po 2022-06-21 17:22:25.482339186 +0200
@@ -10626,3 +10626,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "این‌جا گذرواژه‌ای وارد کنید."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:24
+msgid "_Copy Location"
+msgstr "_رونوشت از مکان"
diff -ruN nautilus-40.2/po/fr.po nautilus-40.2.translations/po/fr.po
--- nautilus-40.2/po/fr.po 2022-06-21 17:20:51.830378450 +0200
+++ nautilus-40.2.translations/po/fr.po 2022-06-21 17:22:25.496339180 +0200
@@ -6019,3 +6019,7 @@
#| msgid "Enter password…"
msgid "Enter a password here."
msgstr "Saisissez un mot de passe ici."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:34
+msgid "_Copy Location"
+msgstr "Co_pier lemplacement"
diff -ruN nautilus-40.2/po/fur.po nautilus-40.2.translations/po/fur.po
--- nautilus-40.2/po/fur.po 2022-06-21 17:20:51.830378450 +0200
+++ nautilus-40.2.translations/po/fur.po 2022-06-21 17:22:25.507339176 +0200
@@ -8140,3 +8140,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:209
msgid "Enter a password here."
msgstr "Inserìs achì une password."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:24
+msgid "_Copy Location"
+msgstr "_Copie posizion"
diff -ruN nautilus-40.2/po/gl.po nautilus-40.2.translations/po/gl.po
--- nautilus-40.2/po/gl.po 2022-06-21 17:20:51.831378450 +0200
+++ nautilus-40.2.translations/po/gl.po 2022-06-21 17:22:25.526339168 +0200
@@ -5897,3 +5897,8 @@
#| msgid "Enter password…"
msgid "Enter a password here."
msgstr "Escriba un contrasinal aquí…"
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:24
+#| msgid "Location"
+msgid "_Copy Location"
+msgstr "_Copiar localización"
diff -ruN nautilus-40.2/po/he.po nautilus-40.2.translations/po/he.po
--- nautilus-40.2/po/he.po 2022-06-21 17:20:51.831378450 +0200
+++ nautilus-40.2.translations/po/he.po 2022-06-21 17:22:25.549339158 +0200
@@ -11143,3 +11143,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "נא למלא כאן ססמה."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:34
+msgid "_Copy Location"
+msgstr "ה_עתקת מיקום"
diff -ruN nautilus-40.2/po/oc.po nautilus-40.2.translations/po/oc.po
--- nautilus-40.2/po/oc.po 2022-06-21 17:20:51.840378446 +0200
+++ nautilus-40.2.translations/po/oc.po 2022-06-21 17:22:25.719339087 +0200
@@ -7540,3 +7540,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "Picatz un senhal aquí."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:34
+msgid "_Copy Location"
+msgstr "_Copiar l'emplaçament"
diff -ruN nautilus-40.2/po/pt.po nautilus-40.2.translations/po/pt.po
--- nautilus-40.2/po/pt.po 2022-06-21 17:20:51.841378446 +0200
+++ nautilus-40.2.translations/po/pt.po 2022-06-21 17:22:25.803339052 +0200
@@ -6495,3 +6495,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "Introduza aqui uma palavra-passe."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:34
+msgid "_Copy Location"
+msgstr "_Copiar localização"
diff -ruN nautilus-40.2/po/ru.po nautilus-40.2.translations/po/ru.po
--- nautilus-40.2/po/ru.po 2022-06-21 17:20:51.843378445 +0200
+++ nautilus-40.2.translations/po/ru.po 2022-06-21 17:22:25.840339036 +0200
@@ -6587,3 +6587,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "Введите пароль здесь."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:34
+msgid "_Copy Location"
+msgstr "_Копировать адрес"
diff -ruN nautilus-40.2/po/tr.po nautilus-40.2.translations/po/tr.po
--- nautilus-40.2/po/tr.po 2022-06-21 17:20:51.845378444 +0200
+++ nautilus-40.2.translations/po/tr.po 2022-06-21 17:22:25.992338972 +0200
@@ -6606,3 +6606,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "Buraya parola gir…"
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:24
+msgid "_Copy Location"
+msgstr "Konumu _Kopyala"
diff -ruN nautilus-40.2/po/uk.po nautilus-40.2.translations/po/uk.po
--- nautilus-40.2/po/uk.po 2022-06-21 17:20:51.846378444 +0200
+++ nautilus-40.2.translations/po/uk.po 2022-06-21 17:22:26.013338964 +0200
@@ -6030,3 +6030,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "Тут слід ввести пароль."
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:34
+msgid "_Copy Location"
+msgstr "_Копіювати адресу"
diff -ruN nautilus-40.2/po/zh_CN.po nautilus-40.2.translations/po/zh_CN.po
--- nautilus-40.2/po/zh_CN.po 2022-06-21 17:20:51.847378443 +0200
+++ nautilus-40.2.translations/po/zh_CN.po 2022-06-21 17:22:26.070338940 +0200
@@ -6197,3 +6197,7 @@
#: src/resources/ui/nautilus-compress-dialog.ui:225
msgid "Enter a password here."
msgstr "在此处输入密码。"
+
+#: src/resources/ui/nautilus-files-view-context-menus.ui:34
+msgid "_Copy Location"
+msgstr "复制位置(_C)"

View File

@ -6,7 +6,7 @@
Name: nautilus
Version: 40.2
Release: 7%{?dist}
Release: 8%{?dist}
Summary: File manager for GNOME
License: GPLv3+
@ -29,6 +29,10 @@ Patch7: file-operations-Fix-progress-when-skipping-during-ex.patch
Patch8: compress-dialog-Set-keyboard-focus-on-the-row-with-t.patch
Patch9: compress-dialog-controller-Fit-popover-fit-on-X11.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2098578
Patch10: files-view-Add-menu-item-to-copy-current-path.patch
Patch11: files-view-Backport-translations.patch
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gettext
@ -159,6 +163,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
%doc %{_datadir}/gtk-doc/html/libnautilus-extension/
%changelog
* Mon Jun 20 2022 Ondrej Holy <oholy@redhat.com> - 40.2-8
- Add toolbar action to copy current location (#2098578)
* Wed Mar 16 2022 Ondrej Holy <oholy@redhat.com> - 40.2-7
- Update translations for encrypted archives support (#2064754)