[gtk+] Fix the colord support in GtkPrinterCups when the PPD is loaded async



commit bf71b88319c598354d861c5dbb653daa502aab6b
Author: Richard Hughes <richard hughsie com>
Date:   Thu Apr 26 17:13:49 2012 +0100

    Fix the colord support in GtkPrinterCups when the PPD is loaded async
    
    If the PPD is not available when the printer is loaded then the PPD options are
    not available and we can't get the correct qualifier to use with colord.
    
    When the PPD becomes available, refresh the profile title to reflect reality.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=674890

 modules/printbackends/cups/gtkprintercups.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/modules/printbackends/cups/gtkprintercups.c b/modules/printbackends/cups/gtkprintercups.c
index 3a45e2f..128b3b3 100644
--- a/modules/printbackends/cups/gtkprintercups.c
+++ b/modules/printbackends/cups/gtkprintercups.c
@@ -505,6 +505,15 @@ colord_client_connect_cb (GObject *source_object,
 
   g_object_unref (printer);
 }
+
+static void
+colord_printer_details_aquired_cb (GtkPrinterCups *printer,
+                                   gboolean success,
+                                   gpointer user_data)
+{
+  /* refresh the device */
+  colord_update_device (printer);
+}
 #endif
 
 /**
@@ -550,6 +559,11 @@ gtk_printer_cups_new (const char      *name,
                          colord_client_connect_cb,
                          g_object_ref (printer));
     }
+
+    /* update the device when we read the PPD */
+    g_signal_connect (printer, "details-acquired",
+                      G_CALLBACK (colord_printer_details_aquired_cb),
+                      printer);
 #endif
   return printer;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]