mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 14:10:30 +00:00
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:
parent
d85f02a994
commit
b9155dcb1a
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user