[gnome-control-center/gnome-3-2] Printers: Make +/- buttons insensitive when can not connect to CUPS



commit 3c1442ceba56a68b89740e0b13ba6dcefd422845
Author: Marek Kasik <mkasik redhat com>
Date:   Fri Oct 14 19:25:04 2011 +0200

    Printers: Make +/- buttons insensitive when can not connect to CUPS
    
    Check whether sad computer is displayed and set sensitivity accordingly.
    The check doesn't try to connect to CUPS because of performance reasons.

 panels/printers/cc-printers-panel.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c
index 187a601..e729121 100644
--- a/panels/printers/cc-printers-panel.c
+++ b/panels/printers/cc-printers-panel.c
@@ -1123,6 +1123,8 @@ actualize_printers_list (CcPrintersPanel *self)
   g_free (current_printer_name);
   g_free (current_printer_instance);
   g_object_unref (store);
+
+  actualize_sensitivity (self);
 }
 
 static void
@@ -2256,6 +2258,7 @@ actualize_sensitivity (gpointer user_data)
   gboolean                 is_discovered = FALSE;
   gboolean                 printer_selected;
   gboolean                 local_server = TRUE;
+  gboolean                 no_cups = FALSE;
   gint                     i;
 
   priv = PRINTERS_PANEL_PRIVATE (self);
@@ -2289,14 +2292,18 @@ actualize_sensitivity (gpointer user_data)
       cups_server[0] != '/')
     local_server = FALSE;
 
+  widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "notebook");
+  if (gtk_notebook_get_current_page (GTK_NOTEBOOK (widget)) == NOTEBOOK_NO_CUPS_PAGE)
+    no_cups = TRUE;
+
   widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "printer-add-button");
-  gtk_widget_set_sensitive (widget, local_server && is_authorized);
+  gtk_widget_set_sensitive (widget, local_server && is_authorized && !no_cups);
 
   widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "printer-add-button2");
-  gtk_widget_set_sensitive (widget, local_server && is_authorized);
+  gtk_widget_set_sensitive (widget, local_server && is_authorized && !no_cups);
 
   widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "printer-remove-button");
-  gtk_widget_set_sensitive (widget, local_server && !is_discovered && is_authorized && printer_selected);
+  gtk_widget_set_sensitive (widget, local_server && !is_discovered && is_authorized && printer_selected && !no_cups);
 
   widget = (GtkWidget*) gtk_builder_get_object (priv->builder, "printer-disable-switch");
   gtk_widget_set_sensitive (widget, local_server && !is_discovered && is_authorized);



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