]> Pileus Git - ~andy/gtk/commitdiff
Re-select the current printer to update per-printer ui. (#348245, Don
authorMatthias Clasen <mclasen@redhat.com>
Thu, 17 Aug 2006 04:48:39 +0000 (04:48 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Thu, 17 Aug 2006 04:48:39 +0000 (04:48 +0000)
2006-08-17  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkprintunixdialog.c (gtk_print_unix_dialog_set_manual_capabilities):
Re-select the current printer to update per-printer ui.
(#348245, Don Scorgie)

ChangeLog
ChangeLog.pre-2-10
gtk/gtkprintunixdialog.c

index 02ce3e26ac450a2a1b7aa1150346b933bc91278b..c4e4e815cb7056de032e6e28b81007dd9dabf6ee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2006-08-17  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkprintunixdialog.c (gtk_print_unix_dialog_set_manual_capabilities): 
+       Re-select the current printer to update per-printer ui. 
+       (#348245, Don Scorgie)
+
        * gtk/gtkfilechooserbutton.c (set_info_get_info_cb) 
        (model_add_special_get_info_cb): Handle the case where the
        filechooser button is destroyed quickly.
index 02ce3e26ac450a2a1b7aa1150346b933bc91278b..c4e4e815cb7056de032e6e28b81007dd9dabf6ee 100644 (file)
@@ -1,5 +1,9 @@
 2006-08-17  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkprintunixdialog.c (gtk_print_unix_dialog_set_manual_capabilities): 
+       Re-select the current printer to update per-printer ui. 
+       (#348245, Don Scorgie)
+
        * gtk/gtkfilechooserbutton.c (set_info_get_info_cb) 
        (model_add_special_get_info_cb): Handle the case where the
        filechooser button is destroyed quickly.
index 722232eb67d057fef1cebf12e296feb74d124bfd..220e6a2875b9f65eeea027bcf699cf371e8b4451 100644 (file)
@@ -2732,8 +2732,24 @@ void
 gtk_print_unix_dialog_set_manual_capabilities (GtkPrintUnixDialog   *dialog,
                                               GtkPrintCapabilities  capabilities)
 {
-  dialog->priv->manual_capabilities = capabilities;
+  GtkPrintUnixDialogPrivate *priv = dialog->priv;
+
+  g_print ("set caps %d\n", capabilities);
+  priv->manual_capabilities = capabilities;
   update_dialog_from_capabilities (dialog);
+
+  if (priv->current_printer)
+    {
+      GtkTreeSelection *selection;
+
+      selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->printer_treeview));
+
+      g_object_unref (priv->current_printer);
+      priv->current_printer = NULL;
+      priv->internal_printer_change = TRUE;
+      selected_printer_changed (selection, dialog);
+      priv->internal_printer_change = FALSE;
+   }
 }
 
 #define __GTK_PRINT_UNIX_DIALOG_C__