summaryrefslogtreecommitdiff
path: root/src/nautilus-view-model.h
diff options
context:
space:
mode:
authorCorey Berla <corey@berla.me>2023-01-20 10:36:59 -0800
committerCorey Berla <corey@berla.me>2023-04-07 20:46:45 -0700
commitcb406e31a41511b0450ab9a714813de335afd445 (patch)
tree63161b1ddfe18eecd5aebc9fa99a66a7d49abdb2 /src/nautilus-view-model.h
parent65f420907b0541a371a0815399c8834ceb72a62f (diff)
downloadnautilus-wip/corey/performance-remove-files.tar.gz
files-view: Replace REMOVE_FILE with REMOVE_FILESwip/corey/performance-remove-files
Files are added in bulk to the view with ADD_FILES, but then removed from the view with REMOVE_FILE, which takes a single file. This is very inefficient in the case where a large number of items are deleted. In other words, if you delete a folder with 1,000 items, the process completes very quickly, but if you delete the 1,000 items, Nautilus will hang for an extended period of time. This can be a common problem if the view is current showing Trash, and the the trash is emptied.
Diffstat (limited to 'src/nautilus-view-model.h')
-rw-r--r--src/nautilus-view-model.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nautilus-view-model.h b/src/nautilus-view-model.h
index 718412652..89b3c3713 100644
--- a/src/nautilus-view-model.h
+++ b/src/nautilus-view-model.h
@@ -21,9 +21,9 @@ NautilusViewItem * nautilus_view_model_get_item_from_file (NautilusViewModel *se
GQueue * nautilus_view_model_get_items_from_files (NautilusViewModel *self,
GQueue *files);
/* Don't use inside a loop, use nautilus_view_model_remove_all_items instead. */
-void nautilus_view_model_remove_item (NautilusViewModel *self,
- NautilusViewItem *item,
- NautilusDirectory *directory);
+void nautilus_view_model_remove_items (NautilusViewModel *self,
+ GList *items,
+ NautilusDirectory *directory);
void nautilus_view_model_remove_all_items (NautilusViewModel *self);
/* Don't use inside a loop, use nautilus_view_model_add_items instead. */
void nautilus_view_model_add_item (NautilusViewModel *self,