diff -Nru gnome-cups-manager-0.25/gnome-cups-manager/printer-properties.c gnome-cups-manager-0.25.new/gnome-cups-manager/printer-properties.c --- gnome-cups-manager-0.25/gnome-cups-manager/printer-properties.c 2004-09-08 14:46:49.000000000 -0400 +++ gnome-cups-manager/printer-properties.c 2004-09-16 17:27:12.400231616 -0400 @@ -77,16 +77,31 @@ label_vs_entry (GladeXML *xml, char const *entry, char const *label, char const *val) { - GtkWidget *w = glade_xml_get_widget (xml, entry); - if (gnome_cups_can_admin ()) + GtkWidget *w; + + /* + ** If we can admin, use the entry widget so we can change settings. + ** Make sure we don't use the entry box on the name widgets, as + ** cups won't let us change it anyway. + */ + if (gnome_cups_can_admin () && !g_str_equal(label, "name_label")) + { + /* Show the entry */ + w = glade_xml_get_widget (xml, entry); gtk_entry_set_text (GTK_ENTRY (w), val); - else - gtk_widget_hide (w); - w = glade_xml_get_widget (xml, label); - if (gnome_cups_can_admin ()) + /* Hide the label */ + w = glade_xml_get_widget (xml, label); gtk_widget_hide (w); + } else + { + /* Hide the entry */ + w = glade_xml_get_widget (xml, entry); + gtk_widget_hide (w); + /* Show the label */ + w = glade_xml_get_widget (xml, label); gtk_label_set_text (GTK_LABEL (w), val); + } } static void