GNOME Bugzilla – Bug 398414
Printing to file with multiple pages per sheet
Last modified: 2008-01-02 18:35:04 UTC
It's impossible to select more than one page per sheet from printing dialog when printing to a file. This capability could be implemented by the application, so even if it's not supported directly by gtk+ we should be able to enable it manually. A new capability GTK_PRINT_CAPABILITY_NUMBER_UP or something like that could be added, so that we'll be able to enable this feature with gtk_print_unix_dialog_set_manual_capabilities().
Created attachment 88489 [details] [review] Proposed patch This patch fixes the problem. It adds a new capability ( GTK_PRINT_CAPABILITY_NUMBER_UP).
Created attachment 88491 [details] [review] Updated patch I forgot to add documentation for the new capability.
This is not how the other capabilities work - What I would expect here is that the print dialog sets the sensitivity of the n_up option depending on the capability, and print backends report it - ie the cups backend would have to add the n_up capability, and the file backend would not.
Created attachment 88838 [details] [review] New patch Agree, I never liked the option menu with only one option. So, here is an updated patch.
The documentation for the new capability should say what it stands for, not just "Since 2.12". Other than that, it looks good to me, please commit with the doc change.
2007-05-28 Carlos Garcia Campos <carlosgc@gnome.org> * gtk/gtkprinter.[ch]: Add new capability GTK_PRINT_CAPABILITY_NUMBER_UP. * docs/reference/gtk/tmpl/gtkprintunixdialog.sgml: * gtk/gtkprintunixdialog.c: (update_dialog_from_capabilities): * modules/printbackends/file/gtkprintbackendfile.c: (file_printer_get_options), (file_printer_get_settings_from_options): * modules/printbackends/cups/gtkprintbackendcups.c: (cups_printer_get_capabilities): Add a new print capability to specify whether print dialog will offer printing multiple pages per sheet. (#398414)
Shouldn't GTK_PRINT_CAPABILITY_NUMBER_UP also have been added to the capabilities in gtkprintoperation-unix.c (get_print_dialog) ?