When a SIGPIPE signal is raised during printing with lpr,
application should not be killed by the signal but a standard
error-workflow should be performed (bug #503776).
Change default values returned by gtk_print_settings_get_printer_lpi()
and gtk_print_settings_get_resolution{_x, _y}(). New values are 150 for
lpi and 300 for resolution (instead of 0) (#590861).
Print when Enter pressed in Name entry or Command Line entry in the
print dialog (#564695).
Add gtk_printer_option_set_activates_default() function and
gtk_printer_option_get_activates_default() function to control
behaviour of GtkPrinterOptionWidget.
Add test for EISCONN error when testing whether a connection to CUPS server
is available (#576678 - patch by mark@ecs.vuw.ac.nz).
Signed-off-by: Marek Kasik <mkasik@redhat.com>
GtkPrintOperation is now able to render multiple pages per sheet by its
own. The most important changes are in these functions:
* increment_page_sequence
* prepare_data
* common_render_page
* print_pages_idle
Patch also changes set of choices for 2 pages per sheet mode when
landscape orientation is used to "Top to bottom" and "Bottom to top".
Adds authentication support of CUPS backend against CUPS server.
Print dialog is now capable to ask user for password and pass it
to the CUPS server. It is also possible to authenticate user
through Kerberos (GSS-API) (#384940).
2009-02-12 Marek Kasik <mkasik@redhat.com>
Bug 568571 – Asian am/pm format on cups print backend's time parsing
* modules/printbackends/cups/gtkprintbackendcups.c: Add Asian am/pm
format into formats recognized by CUPS backend
svn path=/trunk/; revision=22319
2009-02-10 Takao Fujiwara <takao.fujiwara@sun.com>
Bug 571015 libprintbackend-cups has unlocalized strings
* modules/printbackends/cups/gtkprintbackendcups.c:
Added a translator comment with the request of translators.
svn path=/trunk/; revision=22304
2009-01-21 Marek Kasik <mkasik@redhat.com>
Bug 561801 - "scheduled printing" doesn't function as expected
* gtk/gtkprintunixdialog: Add tooltip.
* modules/printbackends/cups/gtkprintbackendcups.c: Add conversion
from local time to utc time for scheduled printing.
svn path=/trunk/; revision=22158
2008-10-30 Marek Kasik <mkasik@redhat.com>
Bug 339714 - Set printer dpi on cairo ps/pdf surfaces when printing
* gtk/gtk.symbols
* gtk/gtkprintsettings.c
* gtk/gtkprintsettings.h
* docs/reference/gtk/gtk-sections.txt
* modules/printbackends/file/gtkprintbackendfile.c
* modules/printbackends/test/gtkprintbackendtest.c
* modules/printbackends/cups/gtkprintbackendcups.c
* modules/printbackends/lpr/gtkprintbackendlpr.c:
Added lpi (lines per inch) setting to GtkPrintSettings and support
for anamorphic dpi. Surface fallback resolution is set to 2*lpi.
svn path=/trunk/; revision=21733
2008-09-30 Marek Kasik <mkasik@redhat.com>
Bug 344522 – support non-local destination files (GtkPrint):
* gtk/gtkprintunixdialog.c
* gtk/gtkprinteroptionwidget.c: Process URI instead of filename.
* modules/printbackends/file/gtkprintbackendfile.c: Add ability
to save files on non-local filesystems.
svn path=/trunk/; revision=21552
2008-09-25 Marek Kasik <mkasik@redhat.com>
Bug 553241 – double freed pointer in lpr_write cause firefox3 crash
* modules/printbackends/lpr/gtkprintbackendlpr.c:
The redundant freeing of memory was removed.
Patch by Chris Wang
svn path=/trunk/; revision=21516
2008-09-17 Matthias Clasen <mclasen@redhat.com>
Bug 346903 – gtk_enumerate_printers needs events to complete
* gtk/gtkprintbackend.h:
* gtk/gtkprintbackend.c: Add a GtkPrintBackend::status property.
* modules/printbackends/cups/gtkcupsutils.h:
* modules/printbackends/cups/gtkcupsutils.c: Turn the connection
test into a tristate available/unavailable/in progress.
* modules/printbackends/cups/gtkprintbackendcups.c: Use a single
connection test instance for getting the default printer and for
getting the printer list. Set the GtkPrintBackend::status property
according to the result of the connection test. Use the printer-type
attribute to find the default printer, if cups supports it.
* gtk/gtkprinter.c: When enumerating printers, give up when
the backend status is 'unavailable'.
* gtk/gtkprintunixdialog.c (printer_status_cb): Select the printer
when it is the default and nothing else has been selected yet.
svn path=/trunk/; revision=21417
2008-09-11 Marek Kasik <mkasik@redhat.com>
Bug 551378 - Print dialog: should try UDS when fetching PPD for
localhost
* modules/printbackends/cups/gtkprintbackendcups.c: Add ability
to get PPD file from CUPS through Unix domain socket
svn path=/trunk/; revision=21345
2008-08-21 Marek Kasik <mkasik@redhat.com>
Bug 535158 – can't rearrange the order of multi pages per side
* gtk/gtkprinter.c
* gtk/gtkprinter.h
* gtk/gtkprintunixdialog.c
* gtk/gtkprintsettings.c
* gtk/gtkprintsettings.h
* gtk/gtkenums.h
* modules/printbackends/cups/gtkprintbackendcups.c: Allow user to
specify layout of pages per sheet in number-up mode
svn path=/trunk/; revision=21175
Patch by Marek Kasik:
* modules/printbackends/cups/gtkprintbackendcups.c: Get the list of
available cover pages and the default front and back cover pages
from the cups server.
svn path=/trunk/; revision=20839
Patch by Marek Kasik, icons by Mike Langlie:
* gtk/gtk.symbols:
* gtk/gtkprintbackend.h:
* gtk/gtkprinter.[hc]: Add new paused and accepting-jobs properties
and getters/setters.
* gtk/gtkstock.h:
* gtk/gtkiconfactory.c:
* gtk/Makefile.am:
* gtk/stock-icons/{16,24}/gtk-print-paused.{png,svg}: New icon.
* modules/printbackends/cups/gtkprintbackendcups.c:
* gtk/gtkprintunixdialog.c: Handle paused and job-rejecting
printers.
svn path=/trunk/; revision=20838
2008-06-30 Cody Russell <bratsche@gnome.org>
* Practically everything changed.
Change all references of GIMP Toolkit (and variations of it)
to GTK+ Toolkit, showing no mercy at all to our beloved
ancestry. (#540529)
svn path=/trunk/; revision=20709
2008-05-29 Michael Natterer <mitch@imendio.org>
* gtk/Makefile.am
* gtk/gtkunixprint.h: add a single-include header for the unix
print stuff.
* gtk/gtkpagesetupunixdialog.h
* gtk/gtkprinter.h
* gtk/gtkprintjob.h
* gtk/gtkprintunixdialog.h: add single-include guards that #error
out if GTK_DISABLE_SINGLE_INCLUDES is defined and any of these
files is included individually.
* gtk/gtkprintbackend.h
* gtk/gtkprinter-private.h
* modules/printbackends/cups/gtkprintbackendcups.c
* modules/printbackends/cups/gtkprintercups.h
* modules/printbackends/lpr/gtkprintbackendlpr.c
* tests/buildertest.c
* tests/defaultvaluetest.c
* docs/tools/widgets.c: include <gtk/gtkunixprint.h> instead of
individual files.
svn path=/trunk/; revision=20230
* modules/printbackends/cups/gtkprintbackendcups.c
(cups_printer_create_cairo_surface): Fall back to PostScript level 2
if the printer does not support level 3. Patch by Marek Kašík.
svn path=/trunk/; revision=20203
was chosen
Patch by Marek Kasik.
* gtk/gtk.symbols:
* gtk/gtkprinter.[hc]: Add gtk_printer_get_default_page_size.
* gtk/gtkprintbackend.[hc]: Add fallback implementation.
* modules/printbackends/file/gtkprintbackendfile.c:
* modules/printbackends/cups/gtkprintbackendcups.c: Implement
get_default_page_size.
* gtk/gtkpagesetupunixdialog.c: When selecting a different printer,
select its default paper size.
* gtk/gtkprintunixdialog.c: If no explicit page setup has been set,
use the printer default.
* gtk/gtkprintoperation-unix.c: Don't create an empty page setup
if we don't have a default page setup.
svn path=/trunk/; revision=20120
2008-05-05 Matthias Clasen <mclasen@redhat.com>
Apply a patch by Marek Kasik <mkasik@redhat.com> to display
more printer status information in the print dialog.
* modules/printbackends/cups/gtkprintbackendcups.c: Translate
printer-state-reasons into suitable messages and icons.
* gtk/stock-icons/16/gtk-print-error.{svg,png}:
* gtk/stock-icons/16/gtk-print-report.{svg,png}:
* gtk/stock-icons/16/gtk-print-warning.{svg,png}:
* gtk/Makefile.am:
* gtk/gtkstock.h: New stock icons to display printer state.
svn path=/trunk/; revision=20076
* modules/printbackend/cups/gtkprintbackendcups.c
(cups_printer_get_options): Fix the blacklist handling.
Patch by Marek Kašík.
svn path=/trunk/; revision=20058
2008-04-18 Michael Natterer <mitch@imendio.com>
* modules/printbackends/cups/gtkprintercups.[ch]
(gtk_printer_cups_get_ppd_name): change return value and local
variable to const gchar* to fix warning about discarding const
qualifier.
svn path=/trunk/; revision=20021
2008-03-12 Jens Granseuer <jensgr@gmx.net>
* modules/printbackends/cups/gtkprintbackendcups.c:
(cups_printer_prepare_for_print): Don't define variables in the
middle of a block. (#522067)
svn path=/trunk/; revision=19789
2008-03-12 Michael Natterer <mitch@imendio.com>
* modules/printbackends/cups/gtkprintbackendcups.c: include
<glib/gstdio.h> for g_fopen().
svn path=/trunk/; revision=19775
2008-03-11 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Use
g_ascii_formatd when formatting custom paper sizes, since
cups doesn't handle , as decimal separator. (#521548)
svn path=/trunk/; revision=19762
2007-09-07 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for the cups function httpGetAuthString().
* modules/printbackends/cups/gtkcupsutils.c: Use httpGetAuthString()
if available. (#467414, Claudio Saavedra)
svn path=/trunk/; revision=18753
2007-08-09 Sven Neumann <sven@gimp.org>
* modules/printbackends/file/gtkprintbackendfile.c: change the
file extension when the file format is changed in the Print dialog
(#356630).
svn path=/trunk/; revision=18600
2007-07-23 Matthias Clasen <mclasen@redhat.com>
* configure.in: Dectect if cups allows access to the http_t
authstring field.
* modules/printbackends/cups/gtkcupsutils.c: Rely on the
HAVE_HTTP_AUTHSTRING define done by configure.
svn path=/trunk/; revision=18527
2007-04-30 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Get all
the printer attributes when getting the list of printers,
not via separate requests. (#387889, Krishan Purahoo)
svn path=/trunk/; revision=17741
2007-04-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkpapersize.[hc]: Rename gtk_paper_size_get_builtins()
to gtk_paper_size_get_paper_sizes() and optionally include
custom paper sizes.
* gtk/gtkpagesetupunixdialog.c: Internally export a function
to load custom paper sizes.
* modules/printbackends/file/gtkprintbackendfile.c: Implement
printer_list_papers, returning all paper sizes. (#434329,
Christian Persch)
svn path=/trunk/; revision=17728
2007-04-26 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/lpr/gtkprintbackendlpr.c
(gtk_print_backend_lpr_init): Mark the printer list as done.
(#428665, Bogdan Gheorghe)
svn path=/trunk/; revision=17653
2007-04-23 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Reduce
the amount of debug spew if we are not debugging.
svn path=/trunk/; revision=17619
2007-01-17 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Don't use
httpGetFd() when building against cups 1.1
svn path=/trunk/; revision=17170
2007-01-03 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Close
the http connection after getting the PPD.
svn path=/trunk/; revision=17042
2007-01-01 Matthias Clasen <mclasen@redhat.com>
Fix some IPP compliance issues. (#391523, Albrecht Dress)
* modules/printbackends/cups/gtkcupsutils.c
(gtk_cups_request_encode_option): Use IPP_TAG_JOB, not
IPP_TAG_OPERATION.
* modules/printbackends/cups/gtkprintbackendcups.c
(gtk_print_backend_cups_print_stream): Don't add the
requesting-user-name attribute a second time.
svn path=/trunk/; revision=17002
2006-12-27 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Use
getters for http fields where available. (#364866,
Björn Lindqvist)
2006-11-25 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Make
print dialog work when 'BrowseShortNames Off' is specified
in cups configuration. Patch by Tim Waugh.
2006-10-02 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c (available_choices):
Only use the group name field if cups is new enough. (#357280)
2006-08-28 Matthias Clasen <mclasen@redhat.com>
* modules/printbackend/cups/gtkprintbackendcups.c: Use a
resonable timeout of 3 seconds when polling for printer
list updates, instead of 300000 seconds...
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/file/gtkprintbackendfile.c: Improve
the handling of the default output filename, to ensure
that we default to output.ps when only PostScript output
is possible. (#348236, Don Scorgie)
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c (create_pickone_option):
Simplify, make it build against cups 1.1. (#350329)
2006-07-19 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/file/gtkprintbackendfile.c
(file_printer_get_settings_from_options): Check if option
is NULL before using it. (#348014, Christian Persch)
* gtk/gtkprinteroption.h:
* gtk/gtkprinteroptionwidget.c:
* modules/printbackends/cups/gtkprintbackendcups.c:
add GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD,
GTK_PRINTER_OPTION_TYPE_PICKONE_PASSCODE,
GTK_PRINTER_OPTION_TYPE_PICKONE_REAL,
GTK_PRINTER_OPTION_TYPE_PICKONE_INT,
and GTK_PRINTER_OPTION_TYPE_PICKONE_STRING options to support a subset
of the new CUPS 1.2 custom options spec
* modules/printbackends/cups/gtkprintbackendcups.c:
(cups_request_printer_list_cb): Get the name of the first printer
in a class to use when requesting a PPD
(cups_request_ppd_cb, cups_request_ppd): Fix the parameters of
the "details-acquired" signal emittion
(cups_request_ppd): get the ppd name from the cups printer
* modules/printbackends/cups/gtkprintercups.c (gtk_printer_cups_get_ppd_name):
New method for getting the name of the ppd we should request
2006-06-21 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/file/gtkprintbackendfile.c:
Apply a patch by Christian Persch to support PostScript and PDF
output.
2006-06-21 Matthias Clasen <mclasen@redhat.com>
Apply a patch by John Palmieri to use buffered io using
GIOChannels, clean up error handling and support Cups 1.2
api in the printing code.
* acconfig.h:
* configure.in: Detect Cups 1.2
* gtk/gtkdebug.h:
* gtk/gtkmain.c: Add a printing debug key.
* gtk/gtkprintbackend.[hc]: Remove the GError parameter from
gtk_print_backend_print_stream, and take a GIOChannel instead
of an fd.
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.c: Replace the fd parameter of
_gtk_printer_create_cairo_surface by a GIOChannel.
* gtk/gtkprintjob.[hc]: Remove the GError parameter from
gtk_print_job_send and make it return void.
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintjob.c: Adjust callers, add some debugging support.
* modules/printbackends/Makefile.am: Fix DIST_SUBDIRS.
* modules/printbackends/cups/Makefile.am:
* modules/printbackends/lpr/Makefile.am: Add debug CFLAGS.
* modules/printbackends/cups/gtkcupsutils.[hc]:
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/file/gtkprintbackendfile.c:
* modules/printbackends/lpr/gtkprintbackendfile.c: Adapt to
the GIOChannel and GError changes, add debug output
2006-06-20 Christian Persch <chpe@cvs.gnome.org>
* configure.in
* gtk/Makefile.am
* modules/printbackends/Makefile.am
A modules/printbackends/file/.cvsignore
A modules/printbackends/file/Makefile.am
A modules/printbackends/file/gtkprintbackendfile.c
A modules/printbackends/file/gtkprintbackendfile.h
R modules/printbackends/pdf/*:
Rename "pdf" backend to "file" backend. Step 2 from bug #339592.
2006-06-20 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkprinteroptionwidget.c: (filesave_changed_cb),
(alternative_set), (construct_widgets): Convert input to filename
encoding and construct an URI from that.
* gtk/gtkprintsettings.h: Add OUTPUT_FILE_FORMAT and OUTPUT_URI keys.
* modules/printbackends/pdf/gtkprintbackendpdf.c: Use those defines.
Step 1 from bug #339592.
2006-06-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.c (_gtk_printer_get_options):
* gtk/gtkprintbackend.h: Add a capabilities argument to the
printer_get_options method and to the _gtk_printer_get_options
function
* modules/printbackends/lpr/gtkprintbackendlpr.c
(lpr_printer_get_options):
* modules/printbackends/pdf/gtkprintbackendpdf.c
(pdf_printer_get_options):
* modules/printbackends/cups/gtkprintbackendcups.c
(cups_printer_get_options):
* gtk/gtkprintunixdialog.c (selected_printer_changed): Adjust
callers and implementations.
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c (is_printer_active): Use
gtk_printer_accepts_ps here.
* modules/printbackends/pdf/gtkprintbackendpdf.c (gtk_print_backend_pdf_init):
Mark the virtual "Print to PDF" printer as not accepting PS.
* gtk/gtk.symbols:
* gtk/gtkprinter.h:
* gtk/gtkprinter.c: Add two new properties accepts-pdf and
accepts-ps (with getters) to allow learning supported formats.
2006-05-24 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintunixdialog.[ch]:
Add gtk_print_unix_dialog_set_manual_capabilities that controls
what widgets to enable in the dialog depending on the apps
capabilities.
* gtk/gtkprintbackend.[ch]:
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.c:
* gtk/gtkprintjob.h:
Add printer_get_capabilities to backend.
Move some fallback calls to the printbackend base class.
* gtk/gtkprintoperation-unix.c:
Set manual capabilities
* modules/printbackends/cups/gtkprintbackendcups.c:
Implement get_capabilities
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Move some methods to baseclass.
2006-05-15 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintbackend.[ch]: (_gtk_print_backend_create):
Never unload print backends.
Remove gtk_print_backend_unref_at_idle.
* modules/printbackends/cups/gtkprintbackendcups.c:
(cups_dispatch_watch_finalize):
Don't use the unref_at_idle hack since that caused
deadlocks. Instead we never unload print backends, which
is not really a big problem.
2006-05-12 Alexander Larsson <alexl@redhat.com>
* gtk/gtkrecentmanager.c:
Fix build errors.
* gtk/gtk.symbols:
* demos/gtk-demo/printing.c:
* gtk/gtkprintoperation-win32.c:
* gtk/gtkprintoperation.[ch]:
* gtk/gtkprintsettings.[ch]:
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
* tests/print-editor.c:
* tests/testnouiprint.c:
* tests/testprint.c:
* tests/testprintfileoperation.c:
Rename functions from nr_of_pages to n_pages, and num_copies to
n_copies to match other gtk+ names.
* gtk/gtkmenu.c: (gtk_menu_popdown):
Only re-set window group on popdown if we set it on popup (i.e.
if there is a parent menu shell).
Fixed part of bug #340401
* gtk/gtkwindow.c:
Add (contruct) property "transient-for" to GtkWindow. This
is needed for the fix to bug #340401.
* gtk/gtkprintunixdialog.c:
Use the transient-for property on construction and populate the dialog
with widgets after that. This fixes bug #340401.
More n_pages renames.
2006-05-10 John (J5) Palmieri <johnp@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c:
make the _CUPS_MAP_ATTR_STR macro not dup the string so we don't
leak
2006-05-05 Christian Persch <chpe@cvs.gnome.org>
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c: Always register
the type with the type module, even if it had been registered
before. Fixes bug #340676.
2006-05-04 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
Added new symbols
* gtk/gtkpagesetupunixdialog.c:
* gtk/gtkprintunixdialog.c:
Destroy backends when finalizing dialogs.
Fix printer leak in selected_printer_changed.
* gtk/gtkprintbackend.[ch]:
Convert from interface to baseclass.
Move printer hashtable here so that the baseclass can handle
the slightly complicated ownership model.
Add gtk_print_backend_destroy which runs the dispose method,
causing the ref-cycles between the backend and its printers
to be broken.
Add gtk_print_backend_unref_at_idle().
* gtk/gtkprinter.[ch]:
GtkPrinter objects now ref their backend so that its always
availible, since its needed for the printer object to work.
This causes a reference-cycle that is broken using
gtk_print_backend_destroy.
Add gtk_printer_compare.
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.c:
Implement !show_dialog for unix.
Make sure the print data is fully spooled before returning
from a sync run_dialog.
* modules/printbackends/cups/gtkcupsutils.[ch]:
Add gtk_cups_request_ipp_add_strings
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/cups/gtkprintercups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Convert backends to derive instead of implementing interface.
Move common code into baseclass.
CUPS:
Remove the printer polling in dispose, not finalize.
In the cups watch, remove the backend at idle instead of
immediately, since the unref can cause the module to be unloaded.
Limit the number of printer attributes requested
Get printer uri in initial printer listing so that we can use
the printer object immediately.
* tests/Makefile.am:
* tests/testnouiprint.c:
Add testcase for !show_dialog.