[nautilus/wip/muktupavels/delete] dbus-manager: add ask_confirmation parameter to EmptyTrash



commit 4bd433250ac4e9da811ad7c1c21e0b114747645b
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Mon Apr 6 16:32:09 2020 +0300

    dbus-manager: add ask_confirmation parameter to EmptyTrash
    
    https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/504

 data/dbus-interfaces2.xml                |  1 +
 src/nautilus-dbus-manager.c              |  3 +++
 src/nautilus-file-operations-dbus-data.c | 15 +++++++++++++++
 src/nautilus-file-operations-dbus-data.h |  5 +++++
 src/nautilus-file-operations.c           | 10 +++++++++-
 5 files changed, 33 insertions(+), 1 deletion(-)
---
diff --git a/data/dbus-interfaces2.xml b/data/dbus-interfaces2.xml
index c375b7e75..8bd24bbdd 100644
--- a/data/dbus-interfaces2.xml
+++ b/data/dbus-interfaces2.xml
@@ -50,6 +50,7 @@
       <arg type='a{sv}' name='platform_data' direction='in'/>
     </method>
     <method name='EmptyTrash'>
+      <arg type="b" name="ask_confirmation" direction='in'/>
       <arg type='a{sv}' name='platform_data' direction='in'/>
     </method>
     <method name='TrashURIs'>
diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c
index 61441a6b5..9fb806176 100644
--- a/src/nautilus-dbus-manager.c
+++ b/src/nautilus-dbus-manager.c
@@ -338,11 +338,14 @@ handle_empty_trash (NautilusDBusFileOperations *object,
 static gboolean
 handle_empty_trash2 (NautilusDBusFileOperations2 *object,
                      GDBusMethodInvocation       *invocation,
+                     gboolean                     ask_confirmation,
                      GVariant                    *platform_data)
 {
     g_autoptr (NautilusFileOperationsDBusData) dbus_data = NULL;
 
     dbus_data = nautilus_file_operations_dbus_data_new (platform_data);
+    nautilus_file_operations_dbus_data_set_ask_confirmation (dbus_data,
+                                                             ask_confirmation);
 
     handle_empty_trash_internal (dbus_data);
 
diff --git a/src/nautilus-file-operations-dbus-data.c b/src/nautilus-file-operations-dbus-data.c
index 666253f58..5ac374e3f 100644
--- a/src/nautilus-file-operations-dbus-data.c
+++ b/src/nautilus-file-operations-dbus-data.c
@@ -25,6 +25,8 @@ struct _NautilusFileOperationsDBusData
     char *parent_handle;
 
     guint32 timestamp;
+
+    gboolean ask_confirmation;
 };
 
 NautilusFileOperationsDBusData *
@@ -73,3 +75,16 @@ nautilus_file_operations_dbus_data_get_timestamp (NautilusFileOperationsDBusData
 {
     return self->timestamp;
 }
+
+void
+nautilus_file_operations_dbus_data_set_ask_confirmation (NautilusFileOperationsDBusData *self,
+                                                         gboolean                        ask_confirmation)
+{
+    self->ask_confirmation = ask_confirmation;
+}
+
+gboolean
+nautilus_file_operations_dbus_data_get_ask_confirmation (NautilusFileOperationsDBusData *self)
+{
+    return self->ask_confirmation;
+}
diff --git a/src/nautilus-file-operations-dbus-data.h b/src/nautilus-file-operations-dbus-data.h
index d15226ff4..6a83ba157 100644
--- a/src/nautilus-file-operations-dbus-data.h
+++ b/src/nautilus-file-operations-dbus-data.h
@@ -31,4 +31,9 @@ const char                     *nautilus_file_operations_dbus_data_get_parent_ha
 
 guint32                         nautilus_file_operations_dbus_data_get_timestamp     
(NautilusFileOperationsDBusData *self);
 
+void                            nautilus_file_operations_dbus_data_set_ask_confirmation 
(NautilusFileOperationsDBusData *self,
+                                                                                         gboolean            
            ask_confirmation);
+
+gboolean                        nautilus_file_operations_dbus_data_get_ask_confirmation 
(NautilusFileOperationsDBusData *self);
+
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NautilusFileOperationsDBusData, nautilus_file_operations_dbus_data_unref)
diff --git a/src/nautilus-file-operations.c b/src/nautilus-file-operations.c
index 75d6e2100..22fc4e3b9 100644
--- a/src/nautilus-file-operations.c
+++ b/src/nautilus-file-operations.c
@@ -7991,7 +7991,15 @@ nautilus_file_operations_empty_trash (GtkWidget                      *parent_vie
     job = op_job_new (EmptyTrashJob, parent_window, dbus_data);
     job->trash_dirs = g_list_prepend (job->trash_dirs,
                                       g_file_new_for_uri ("trash:"));
-    job->should_confirm = TRUE;
+
+    if (dbus_data != NULL)
+    {
+        job->should_confirm = nautilus_file_operations_dbus_data_get_ask_confirmation (dbus_data);
+    }
+    else
+    {
+        job->should_confirm = TRUE;
+    }
 
     inhibit_power_manager ((CommonJob *) job, _("Emptying Trash"));
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]