From ef4ee3d410d53ef714d03566d5d25c130e92b1fe Mon Sep 17 00:00:00 2001 From: Packit Service Date: Jan 08 2021 06:13:07 +0000 Subject: Apply patch 0002-dbus-manager-Implement-creation-of-new-folders.patch patch_name: 0002-dbus-manager-Implement-creation-of-new-folders.patch present_in_specfile: true location_in_specfile: 2 --- diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml index 4588762..4e67f13 100644 --- a/data/dbus-interfaces.xml +++ b/data/dbus-interfaces.xml @@ -38,5 +38,8 @@ + + + diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c index 4da1c72..337a732 100644 --- a/src/nautilus-dbus-manager.c +++ b/src/nautilus-dbus-manager.c @@ -95,6 +95,28 @@ handle_copy_file (NautilusDBusFileOperations *object, } static gboolean +handle_create_folder (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation, + const gchar *uri) +{ + g_autoptr (GFile) file = NULL; + g_autoptr (GFile) parent_file = NULL; + g_autofree gchar *basename = NULL; + g_autofree gchar *parent_file_uri = NULL; + + file = g_file_new_for_uri (uri); + basename = g_file_get_basename (file); + parent_file = g_file_get_parent (file); + parent_file_uri = g_file_get_uri (parent_file); + + nautilus_file_operations_new_folder (NULL, parent_file_uri, basename, + NULL, NULL); + + nautilus_dbus_file_operations_complete_create_folder (object, invocation); + return TRUE; /* invocation was handled */ +} + +static gboolean handle_copy_uris (NautilusDBusFileOperations *object, GDBusMethodInvocation *invocation, const gchar **sources, @@ -172,6 +194,10 @@ nautilus_dbus_manager_init (NautilusDBusManager *self) "handle-trash-files", G_CALLBACK (handle_trash_files), self); + g_signal_connect (self->file_operations, + "handle-create-folder", + G_CALLBACK (handle_create_folder), + self); } static void