From b9155dcb1aca84bf5214f729ed623a2258ee9a0b Mon Sep 17 00:00:00 2001 From: Peter Bloomfield Date: Sun, 26 Apr 2020 17:38:49 -0400 Subject: [PATCH] file-system-model: Refactor a helper Push more common code into the helper for gtk_file_system_model_query_done() and gtk_file_system_model_one_query_done(). --- gtk/gtkfilesystemmodel.c | 46 +++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c index 9de81a4f89..0a9e348b7e 100644 --- a/gtk/gtkfilesystemmodel.c +++ b/gtk/gtkfilesystemmodel.c @@ -1205,16 +1205,31 @@ gtk_file_system_model_got_files (GObject *object, GAsyncResult *res, gpointer da /* Helper for gtk_file_system_model_query_done and * gtk_file_system_model_one_query_done */ static void -query_done_helper (GtkFileSystemModel *model, - GFile *file, - GFileInfo *info) +query_done_helper (GObject * object, + GAsyncResult *res, + gpointer data, + gboolean do_thaw_updates) { + GtkFileSystemModel *model; + GFile *file = G_FILE (object); + GFileInfo *info; guint id; + info = g_file_query_info_finish (file, res, NULL); + if (info == NULL) + return; + + model = GTK_FILE_SYSTEM_MODEL (data); + _gtk_file_system_model_update_file (model, file, info); id = node_get_for_file (model, file); gtk_file_system_model_sort_node (model, id); + + if (do_thaw_updates) + thaw_updates (model); + + g_object_unref (info); } static void @@ -1222,16 +1237,7 @@ gtk_file_system_model_query_done (GObject * object, GAsyncResult *res, gpointer data) { - GFile *file = G_FILE (object); - GFileInfo *info; - - info = g_file_query_info_finish (file, res, NULL); - - if (info != NULL) - { - query_done_helper (GTK_FILE_SYSTEM_MODEL (data), file, info); - g_object_unref (info); - } + query_done_helper (object, res, data, FALSE); } static void @@ -2150,19 +2156,7 @@ gtk_file_system_model_one_query_done (GObject * object, GAsyncResult *res, gpointer data) { - GFile *file = G_FILE (object); - GFileInfo *info; - - info = g_file_query_info_finish (file, res, NULL); - - if (info != NULL) - { - GtkFileSystemModel *model = GTK_FILE_SYSTEM_MODEL (data); - - query_done_helper (model, file, info); - g_object_unref (info); - thaw_updates (model); - } + query_done_helper (object, res, data, TRUE); } void