[gtk/gtk-3-24] file-system-model: Refactor a helper
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/gtk-3-24] file-system-model: Refactor a helper
- Date: Mon, 27 Apr 2020 14:26:35 +0000 (UTC)
commit 3b5e10ef4d27471a2ecc8bce2eadb01d09cf8cf1
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Sun Apr 26 17:38:49 2020 -0400
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 67a34806e6..0fa44536d9 100644
--- a/gtk/gtkfilesystemmodel.c
+++ b/gtk/gtkfilesystemmodel.c
@@ -1215,16 +1215,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
@@ -1232,18 +1247,9 @@ 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);
-
gdk_threads_enter ();
- if (info != NULL)
- {
- query_done_helper (GTK_FILE_SYSTEM_MODEL (data), file, info);
- g_object_unref (info);
- }
+ query_done_helper (object, res, data, FALSE);
gdk_threads_leave ();
}
@@ -2166,19 +2172,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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]