summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Borges <felipeborges@gnome.org>2017-02-15 15:54:12 +0100
committerFelipe Borges <felipeborges@gnome.org>2017-02-15 15:56:32 +0100
commit6bfc60b7790a334ed1438f15c80ff28bce4ce5af (patch)
treea8af2d5f7e7fdb25635644789325e1559ee10a43
parent86f131a1cb070bc521379d6afc9b5bc1874e56cd (diff)
downloadgnome-control-center-6bfc60b7790a334ed1438f15c80ff28bce4ce5af.tar.gz
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
-rw-r--r--panels/printers/details-dialog.ui2
-rw-r--r--panels/printers/pp-details-dialog.c13
2 files changed, 13 insertions, 2 deletions
diff --git a/panels/printers/details-dialog.ui b/panels/printers/details-dialog.ui
index c90a2368f..181bbcd24 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 e530713d0..6a98f88ec 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;
}