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().
This commit is contained in:
Peter Bloomfield 2020-04-26 17:38:49 -04:00
parent d85f02a994
commit b9155dcb1a

View File

@ -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