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



commit 745de6ca1a3ccd72590740bb622708c29f9778dc
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    | 10 ++++++----
 src/nautilus-file-operations.c |  3 ++-
 src/nautilus-file-operations.h |  1 +
 src/nautilus-trash-bar.c       |  2 +-
 src/nautilus-window.c          |  2 +-
 6 files changed, 12 insertions(+), 7 deletions(-)
---
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..56213268b 100644
--- a/src/nautilus-dbus-manager.c
+++ b/src/nautilus-dbus-manager.c
@@ -320,16 +320,17 @@ handle_move_uris2 (NautilusDBusFileOperations2  *object,
 
 /* FIXME: Needs a callback for maintaining alive the application */
 static void
-handle_empty_trash_internal (NautilusFileOperationsDBusData *dbus_data)
+handle_empty_trash_internal (gboolean                        ask_confirmation,
+                             NautilusFileOperationsDBusData *dbus_data)
 {
-    nautilus_file_operations_empty_trash (NULL, dbus_data);
+    nautilus_file_operations_empty_trash (NULL, ask_confirmation, dbus_data);
 }
 
 static gboolean
 handle_empty_trash (NautilusDBusFileOperations *object,
                     GDBusMethodInvocation      *invocation)
 {
-    handle_empty_trash_internal (NULL);
+    handle_empty_trash_internal (TRUE, NULL);
 
     nautilus_dbus_file_operations_complete_empty_trash (object, invocation);
     return TRUE; /* invocation was handled */
@@ -338,13 +339,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);
 
-    handle_empty_trash_internal (dbus_data);
+    handle_empty_trash_internal (ask_confirmation, dbus_data);
 
     nautilus_dbus_file_operations2_complete_empty_trash (object, invocation);
     return TRUE; /* invocation was handled */
diff --git a/src/nautilus-file-operations.c b/src/nautilus-file-operations.c
index 75d6e2100..ce5bdd901 100644
--- a/src/nautilus-file-operations.c
+++ b/src/nautilus-file-operations.c
@@ -7976,6 +7976,7 @@ empty_trash_thread_func (GTask        *task,
 
 void
 nautilus_file_operations_empty_trash (GtkWidget                      *parent_view,
+                                      gboolean                        ask_confirmation,
                                       NautilusFileOperationsDBusData *dbus_data)
 {
     g_autoptr (GTask) task = NULL;
@@ -7991,7 +7992,7 @@ 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;
+    job->should_confirm = ask_confirmation;
 
     inhibit_power_manager ((CommonJob *) job, _("Emptying Trash"));
 
diff --git a/src/nautilus-file-operations.h b/src/nautilus-file-operations.h
index 4d3ef321a..8236e0e06 100644
--- a/src/nautilus-file-operations.h
+++ b/src/nautilus-file-operations.h
@@ -59,6 +59,7 @@ void nautilus_file_operations_copy_move   (const GList                    *item_
                                            NautilusCopyCallback            done_callback,
                                            gpointer                        done_callback_data);
 void nautilus_file_operations_empty_trash (GtkWidget                      *parent_view,
+                                           gboolean                        ask_confirmation,
                                            NautilusFileOperationsDBusData *dbus_data);
 void nautilus_file_operations_new_folder  (GtkWidget                      *parent_view,
                                            NautilusFileOperationsDBusData *dbus_data,
diff --git a/src/nautilus-trash-bar.c b/src/nautilus-trash-bar.c
index f2a694a5e..8c63333d2 100644
--- a/src/nautilus-trash-bar.c
+++ b/src/nautilus-trash-bar.c
@@ -168,7 +168,7 @@ trash_bar_response_cb (GtkInfoBar *infobar,
     {
         case TRASH_BAR_RESPONSE_EMPTY:
         {
-            nautilus_file_operations_empty_trash (window, NULL);
+            nautilus_file_operations_empty_trash (window, TRUE, NULL);
         }
         break;
 
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index b33775926..b1685b5b0 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -1160,7 +1160,7 @@ action_empty_trash (GSimpleAction *action,
 {
     NautilusWindow *window = NAUTILUS_WINDOW (user_data);
 
-    nautilus_file_operations_empty_trash (GTK_WIDGET (window), NULL);
+    nautilus_file_operations_empty_trash (GTK_WIDGET (window), TRUE, NULL);
 }
 
 /* Callback used for the "properties" menu item from the places sidebar */


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