[nautilus/wip/muktupavels/delete] dbus-manager: add ask_confirmation parameter to EmptyTrash
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/muktupavels/delete] dbus-manager: add ask_confirmation parameter to EmptyTrash
- Date: Mon, 6 Apr 2020 13:33:08 +0000 (UTC)
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]