summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2020-04-06 16:32:09 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2020-04-06 21:19:15 +0300
commit7425abd7c00b98b7dfe1e7c44f1effbe9db96f69 (patch)
treebd618c44c781bfab60db021f862b7db66bbe6ac2
parent7adf189c8ddc3e62ff0c7f0f26af3d6316b0a302 (diff)
downloadnautilus-7425abd7c00b98b7dfe1e7c44f1effbe9db96f69.tar.gz
dbus-manager: add ask_confirmation parameter to EmptyTrash
https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/504
-rw-r--r--data/dbus-interfaces2.xml1
-rw-r--r--src/nautilus-dbus-manager.c10
-rw-r--r--src/nautilus-file-operations.c3
-rw-r--r--src/nautilus-file-operations.h1
-rw-r--r--src/nautilus-trash-bar.c2
-rw-r--r--src/nautilus-window.c2
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 */