Skip to content

Instantly share code, notes, and snippets.

@itzexor
Created February 26, 2016 06:37
Show Gist options
  • Save itzexor/1286e527f55fed04e21d to your computer and use it in GitHub Desktop.
Save itzexor/1286e527f55fed04e21d to your computer and use it in GitHub Desktop.
blah
diff --git a/libnemo-private/nemo-file-operations.c b/libnemo-private/nemo-file-operations.c
index cfb7bf3..70fe2ba 100644
--- a/libnemo-private/nemo-file-operations.c
+++ b/libnemo-private/nemo-file-operations.c
@@ -147,6 +147,7 @@ typedef struct {
gboolean should_confirm;
NemoOpCallback done_callback;
gpointer done_callback_data;
+ int num_deletions_since_progress;
} EmptyTrashJob;
typedef struct {
@@ -6437,6 +6438,7 @@ nemo_file_operations_new_file (GtkWidget *parent_view,
static void
delete_trash_file (CommonJob *job,
GFile *file,
+ int *progress_counter,
gboolean del_file,
gboolean del_children)
{
@@ -6460,7 +6462,7 @@ delete_trash_file (CommonJob *job,
(info = g_file_enumerator_next_file (enumerator, job->cancellable, NULL)) != NULL) {
child = g_file_get_child (file,
g_file_info_get_name (info));
- delete_trash_file (job, child, TRUE,
+ delete_trash_file (job, child, progress_counter, TRUE,
g_file_info_get_file_type (info) == G_FILE_TYPE_DIRECTORY);
g_object_unref (child);
g_object_unref (info);
@@ -6472,7 +6474,10 @@ delete_trash_file (CommonJob *job,
if (!job_aborted (job) && del_file) {
g_file_delete (file, job->cancellable, NULL);
- nemo_progress_info_pulse_progress (job->progress);
+ if ((*progress_counter)++ > 100) {
+ nemo_progress_info_pulse_progress (job->progress);
+ *progress_counter = 0;
+ }
}
}
@@ -6507,7 +6512,7 @@ empty_trash_job (GIOSchedulerJob *io_job,
common = (CommonJob *)job;
common->io_job = io_job;
- nemo_progress_info_start (common->progress);
+ nemo_progress_info_start (common->progress);
if (job->should_confirm && !job_aborted (common)) {
confirmed = confirm_empty_trash (common);
@@ -6521,7 +6526,7 @@ empty_trash_job (GIOSchedulerJob *io_job,
for (l = job->trash_dirs;
l != NULL && !job_aborted (common);
l = l->next) {
- delete_trash_file (common, l->data, FALSE, TRUE);
+ delete_trash_file (common, l->data, &job->num_deletions_since_progress, FALSE, TRUE);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment