From 3b8888acda6c25f86f98ee0adceacbdb4befdf57 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 22 Dec 2019 14:49:26 -0500 Subject: [PATCH] printbackend: Add a list model getter Now that we have a list model for printers, we can start using it. --- gtk/gtkprintbackend.c | 13 +++++++++++++ gtk/gtkprintbackendprivate.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/gtk/gtkprintbackend.c b/gtk/gtkprintbackend.c index a6f44c08ca..eadd4125d5 100644 --- a/gtk/gtkprintbackend.c +++ b/gtk/gtkprintbackend.c @@ -471,6 +471,19 @@ gtk_print_backend_get_printer_list (GtkPrintBackend *backend) return result; } +GListModel * +gtk_print_backend_get_printers (GtkPrintBackend *backend) +{ + if (!backend->priv->printer_list_requested) + { + if (GTK_PRINT_BACKEND_GET_CLASS (backend)->request_printer_list) + GTK_PRINT_BACKEND_GET_CLASS (backend)->request_printer_list (backend); + backend->priv->printer_list_requested = TRUE; + } + + return G_LIST_MODEL (backend->priv->printers); +} + gboolean gtk_print_backend_printer_list_is_done (GtkPrintBackend *backend) { diff --git a/gtk/gtkprintbackendprivate.h b/gtk/gtkprintbackendprivate.h index 1c6b91e228..c6505b7c7c 100644 --- a/gtk/gtkprintbackendprivate.h +++ b/gtk/gtkprintbackendprivate.h @@ -149,6 +149,8 @@ GType gtk_print_backend_get_type (void) G_GNUC_CONST; GDK_AVAILABLE_IN_ALL GList *gtk_print_backend_get_printer_list (GtkPrintBackend *print_backend); GDK_AVAILABLE_IN_ALL +GListModel *gtk_print_backend_get_printers (GtkPrintBackend *print_backend); +GDK_AVAILABLE_IN_ALL gboolean gtk_print_backend_printer_list_is_done (GtkPrintBackend *print_backend); GDK_AVAILABLE_IN_ALL GtkPrinter *gtk_print_backend_find_printer (GtkPrintBackend *print_backend,