summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCodeboybebop <codeboy.bebop@gmail.com>2022-07-16 19:27:19 +0000
committerAntónio Fernandes <antoniojpfernandes@gmail.com>2022-07-16 19:27:19 +0000
commit4677dbe104928f1d82305c2aa08604e4fa72eb80 (patch)
treecd6da767930798073c75675df1237ee06561e64c
parent2f1e0d25f68eda6fdab3f3da0032f6ac19237e7f (diff)
downloadnautilus-4677dbe104928f1d82305c2aa08604e4fa72eb80.tar.gz
nautilus-files-view.c: separated actions for creating a link
Single action for creating a link can be either enabled and visible or disabled and invisible. Creating separate action allows hiding entry in context menu without disabling a shortcut. Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2315
-rw-r--r--src/nautilus-files-view.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 5c8729c30..d060f3915 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -6917,6 +6917,7 @@ const GActionEntry view_entries[] =
{ "copy-current-location", action_copy_current_location },
{ "paste_accel", action_paste_files_accel },
{ "create-link", action_create_links },
+ { "create-link-shortcut", action_create_links },
{ "new-document" },
/* Selection menu */
{ "scripts" },
@@ -6931,6 +6932,7 @@ const GActionEntry view_entries[] =
{ "cut", action_cut},
{ "copy", action_copy},
{ "create-link-in-place", action_create_links_in_place },
+ { "create-link-in-place-shortcut", action_create_links_in_place },
{ "move-to", action_move_to},
{ "copy-to", action_copy_to},
{ "move-to-trash", action_move_to_trash},
@@ -7044,6 +7046,11 @@ update_actions_clipboard_contents_received (GObject *source_object,
g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
can_link_from_copied_files &&
settings_show_create_link);
+ action = g_action_map_lookup_action (G_ACTION_MAP (priv->view_action_group),
+ "create-link-shortcut");
+ g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+ can_link_from_copied_files &&
+ !settings_show_create_link);
}
static void
@@ -7519,6 +7526,12 @@ real_update_actions_state (NautilusFilesView *view)
can_create_files &&
settings_show_create_link);
action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group),
+ "create-link-in-place-shortcut");
+ g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+ can_copy_files &&
+ can_create_files &&
+ !settings_show_create_link);
+ action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group),
"copy-to");
g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
can_copy_files);
@@ -9364,7 +9377,9 @@ nautilus_files_view_class_init (NautilusFilesViewClass *klass)
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_i, GDK_CONTROL_MASK | GDK_SHIFT_MASK, "view.invert-selection", NULL);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_space, 0, "view.preview-selection", NULL);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_m, GDK_CONTROL_MASK, "view.create-link", NULL);
+ gtk_widget_class_add_binding_action (widget_class, GDK_KEY_m, GDK_CONTROL_MASK, "view.create-link-shortcut", NULL);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_m, GDK_CONTROL_MASK | GDK_SHIFT_MASK, "view.create-link-in-place", NULL);
+ gtk_widget_class_add_binding_action (widget_class, GDK_KEY_m, GDK_CONTROL_MASK | GDK_SHIFT_MASK, "view.create-link-in-place-shortcut", NULL);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Return, GDK_CONTROL_MASK, "view.open-item-new-tab", NULL);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Return, GDK_SHIFT_MASK, "view.open-item-new-window", NULL);
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_o, GDK_CONTROL_MASK | GDK_ALT_MASK, "view.open-item-location", NULL);