[gnome-control-center] Printers: Show correct icon in information tab



commit b0288811dd66018d15c95d6498e5abe0428c042a
Author: Marek Kasik <mkasik redhat com>
Date:   Tue Jan 24 13:15:32 2012 +0100

    Printers: Show correct icon in information tab
    
    Set correct icon in main tab of Printers panel (remote vs. local).

 panels/printers/cc-printers-panel.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c
index decb76e..3cdb23d 100644
--- a/panels/printers/cc-printers-panel.c
+++ b/panels/printers/cc-printers-panel.c
@@ -497,12 +497,14 @@ printer_selection_changed_cb (GtkTreeSelection *selection,
   GtkTreeIter             iter;
   GtkWidget              *widget;
   gboolean                sensitive;
+  GValue                  value = G_VALUE_INIT;
   gchar                  *printer_make_and_model = NULL;
   gchar                  *printer_model = NULL;
   gchar                  *reason = NULL;
   gchar                 **printer_reasons = NULL;
   gchar                  *marker_types = NULL;
   gchar                  *printer_name = NULL;
+  gchar                  *printer_icon = NULL;
   gchar                  *printer_type = NULL;
   gchar                  *active_jobs = NULL;
   gchar                  *supply_type = NULL;
@@ -579,6 +581,7 @@ printer_selection_changed_cb (GtkTreeSelection *selection,
       gtk_tree_model_get (model, &iter,
 			  PRINTER_ID_COLUMN, &id,
 			  PRINTER_NAME_COLUMN, &printer_name,
+			  PRINTER_ICON_COLUMN, &printer_icon,
 			  -1);
     }
   else
@@ -757,6 +760,19 @@ printer_selection_changed_cb (GtkTreeSelection *selection,
         }
 
       widget = (GtkWidget*)
+        gtk_builder_get_object (priv->builder, "printer-icon");
+      g_value_init (&value, G_TYPE_INT);
+      g_object_get_property ((GObject *) widget, "icon-size", &value);
+
+      if (printer_icon)
+        {
+          gtk_image_set_from_icon_name ((GtkImage *) widget, printer_icon, g_value_get_int (&value));
+          g_free (printer_icon);
+        }
+      else
+        gtk_image_set_from_icon_name ((GtkImage *) widget, "printer", g_value_get_int (&value));
+
+      widget = (GtkWidget*)
         gtk_builder_get_object (priv->builder, "printer-name-label");
 
       if (printer_name)



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