[gnome-control-center] printers: Make the printer address always sensitive



commit 6bfc60b7790a334ed1438f15c80ff28bce4ce5af
Author: Felipe Borges <felipeborges gnome org>
Date:   Wed Feb 15 15:54:12 2017 +0100

    printers: Make the printer address always sensitive
    
    This patch individually updates the sensitivity of the
    PpDetailsDialog child widgets, so we can leave the printer
    address label always sensitive.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=778682

 panels/printers/details-dialog.ui   |    2 +-
 panels/printers/pp-details-dialog.c |   13 ++++++++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/panels/printers/details-dialog.ui b/panels/printers/details-dialog.ui
index c90a236..181bbcd 100644
--- a/panels/printers/details-dialog.ui
+++ b/panels/printers/details-dialog.ui
@@ -149,7 +149,7 @@
             </child>
 
             <child>
-              <object class="GtkButtonBox">
+              <object class="GtkButtonBox" id="driver_buttons">
                 <property name="orientation">vertical</property>
                 <property name="spacing">10</property>
                 <property name="halign">start</property>
diff --git a/panels/printers/pp-details-dialog.c b/panels/printers/pp-details-dialog.c
index e530713..6a98f88 100644
--- a/panels/printers/pp-details-dialog.c
+++ b/panels/printers/pp-details-dialog.c
@@ -47,6 +47,7 @@ struct _PpDetailsDialog {
   GtkLabel *printer_model_label;
   GtkStack *printer_model_stack;
   GtkWidget *search_for_drivers_button;
+  GtkWidget *driver_buttons;
 
   gchar        *printer_name;
   gchar        *printer_location;
@@ -349,6 +350,15 @@ select_ppd_manually (GtkButton       *button,
 }
 
 static void
+update_sensitivity (PpDetailsDialog *self,
+                    gboolean         sensitive)
+{
+  gtk_widget_set_sensitive (GTK_WIDGET (self->printer_name_entry), sensitive);
+  gtk_widget_set_sensitive (GTK_WIDGET (self->printer_location_entry), sensitive);
+  gtk_widget_set_sensitive (GTK_WIDGET (self->driver_buttons), sensitive);
+}
+
+static void
 pp_details_dialog_init (PpDetailsDialog *self)
 {
   gtk_widget_init_template (GTK_WIDGET (self));
@@ -367,6 +377,7 @@ pp_details_dialog_class_init (PpDetailsDialogClass *klass)
   gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_model_label);
   gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_model_stack);
   gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, search_for_drivers_button);
+  gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, driver_buttons);
 
   gtk_widget_class_bind_template_callback (widget_class, printer_name_edit_cb);
   gtk_widget_class_bind_template_callback (widget_class, printer_name_changed);
@@ -409,7 +420,7 @@ pp_details_dialog_new (GtkWindow            *parent,
   gtk_entry_set_text (GTK_ENTRY (self->printer_location_entry), printer_location);
   gtk_label_set_text (GTK_LABEL (self->printer_model_label), printer_make_and_model);
 
-  gtk_widget_set_sensitive (gtk_dialog_get_content_area (GTK_DIALOG (self)), sensitive);
+  update_sensitivity (self, sensitive);
 
   return self;
 }


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