Commit Graph

29 Commits

Author SHA1 Message Date
Marek Kasik
52c7ad6de3 Test connection to all given addresses when printing
Go to the next address given by CUPS if we fail to connect to
previous address (#603637).
(cherry picked from commit f8ac123192)
2010-06-10 09:50:59 -04:00
Marek Kasik
a3e0766218 Add support for 'auth-info' attribute to the CUPS backend
Check for 'auth-info-required' attribute from printer attributes to
find out whether an authentization of user is needed.
Change password dialog of print backend to be able to require informations
requested thru 'auth-info-required' (#566522).
2009-09-24 15:34:56 +02:00
mark@ecs.vuw.ac.nz
1eff9aba24 Signalize that CUPS connection is available when EISCONN occurs
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>
2009-05-19 16:08:21 +02:00
Marek Kasik
91190ce281 Add ability to print in number-up mode for file backend and lpr backend
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".
2009-05-13 18:28:42 +02:00
Marek Kasik
2c5ae21cdc Adds authentication support of CUPS backend
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-04-21 14:24:32 +02:00
Matthias Clasen
8ec27f7760 Bug 346903 – gtk_enumerate_printers needs events to complete
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-17 22:07:10 +00:00
Matthias Clasen
6f789132c5 Fix build with old cups
svn path=/trunk/; revision=21079
2008-08-11 19:59:50 +00:00
Michael Natterer
8fda215cc0 remove return value, this function returns void.
2008-08-06  Michael Natterer  <mitch@imendio.com>

	* modules/printbackends/cups/gtkcupsutils.c
	(gtk_cups_connection_test_free): remove return value, this
	function returns void.


svn path=/trunk/; revision=21022
2008-08-06 11:59:35 +00:00
Matthias Clasen
e9d978dff9 Bug 424207 – printing hangs on unreachable cups server
svn path=/trunk/; revision=20923
2008-07-31 23:56:17 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
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-06-30 23:01:56 +00:00
Michael Natterer
6720ef6d80 modules/printbackends/cups/gtkcupsutils.c
2008-05-28  Michael Natterer  <mitch@gimp.org>

	* modules/printbackends/cups/gtkcupsutils.c
	* modules/printbackends/cups/gtkprintbackendcups.c
	* modules/printbackends/file/gtkprintbackendfile.c
	* modules/printbackends/lpr/gtkprintbackendlpr.c: include
	<gtk/gtk.h> instead of individual files.


svn path=/trunk/; revision=20210
2008-05-28 12:49:11 +00:00
Matthias Clasen
68c4796380 Fix a casting problem. (#485662, patch by Herbert Valerio Riedel)
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkcupsutils.c: Fix a casting problem.
        (#485662, patch by Herbert Valerio Riedel)



svn path=/trunk/; revision=19025
2007-11-22 06:04:41 +00:00
Matthias Clasen
c87cfa8afd Include config.h first. (#467719)
2007-09-09  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/lpr/gtkprintbackendlpr.c:
        * modules/printbackends/cups/gtkcupsutils.c:
        * modules/printbackends/cups/gtkprintbackendcups.c: Include
        config.h first.  (#467719)



svn path=/trunk/; revision=18772
2007-09-09 20:13:58 +00:00
Wouter Bolsterlee
e1cf3b525b Fix typo that broke the build.
2007-09-07  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* modules/printbackends/cups/gtkcupsutils.c:
	(_post_send): Fix typo that broke the build.

svn path=/trunk/; revision=18755
2007-09-07 19:25:13 +00:00
Matthias Clasen
378eb68948 Check for the cups function httpGetAuthString().
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-09-07 18:32:36 +00:00
Matthias Clasen
ab5a9520df Dectect if cups allows access to the http_t authstring field.
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-07-23 17:02:04 +00:00
Matthias Clasen
388b14515a Enable SSL support. (#451070, Vince Busam)
2007-06-29  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackend/cups/gtkcupsutils.c (_post_check):
        (_get_check): Enable SSL support.  (#451070, Vince Busam)



svn path=/trunk/; revision=18293
2007-06-29 18:41:23 +00:00
Matthias Clasen
88d4546a36 Correct some copyright lines.
2007-04-28  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/lpr/*:
        * modules/printbackends/cups/*: Correct some copyright lines.

        * configure.in:
        * modules/printbackends/Makefile.am:
        * modules/printbackends/test/*: Add a test print backend.
        (#409089, John Palmieri)


svn path=/trunk/; revision=17686
2007-04-29 03:31:03 +00:00
Matthias Clasen
0cd6108945 Support raw printers
svn path=/trunk/; revision=17568
2007-03-28 15:53:08 +00:00
Matthias Clasen
5490174708 Cleanups
svn path=/trunk/; revision=17036
2007-01-03 20:34:00 +00:00
Matthias Clasen
29282c6ec9 Fix some IPP compliance issues. (#391523, Albrecht Dress)
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
2007-01-01 23:47:45 +00:00
Matthias Clasen
da91672d46 forgotten file 2006-12-27 06:50:31 +00:00
Matthias Clasen
d503f5d028 Properly pass multi-value options to cups. (#355350, Jürg Billeter)
2006-12-10  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkcupsutils.c (gtk_cups_request_encode_option):
	Properly pass multi-value options to cups.  (#355350, Jürg Billeter)
2006-12-11 04:08:42 +00:00
Matthias Clasen
7e480bb4b8 Complete the fix for bug 357280 2006-10-03 18:19:15 +00:00
Matthias Clasen
be8f3c72ea Apply a patch by John Palmieri to use buffered io using GIOChannels, clean
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-21 18:16:58 +00:00
Alexander Larsson
50d17b73b6 Further updates from the GtkPrintContext functions rename.
2006-05-31  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtk.symbols:
	* demos/gtk-demo/printing.c:
	* tests/print-editor.c:
	* tests/testnouiprint.c:
	* tests/testprint.c:
	* tests/testprintfileoperation.c:
	Further updates from the GtkPrintContext functions rename.

	* modules/printbackends/cups/gtkcupsutils.c:
	Always set requesting-user-name when doing cups requests.
2006-05-31 14:06:02 +00:00
Alexander Larsson
c36d8f3cb3 Added new symbols
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.
2006-05-04 13:43:32 +00:00
Alexander Larsson
27f746fbd0 Merge the gtk-printing branch. For more detailed ChangeLog entries, see
2006-04-21  Alexander Larsson  <alexl@redhat.com>

        Merge the gtk-printing branch.
	For more detailed ChangeLog entries, see the branch.

	* .cvsignore:
	* Makefile.am:
	* configure.in:
	* docs/tools/widgets.c:
	* gtk+-unix-print-2.0.pc.in:
	* gtk/Makefile.am:
	* gtk/gen-paper-names.c:
	* gtk/gtk.h:
	* gtk/gtk.symbols:
	* gtk/gtkenums.h:
	* gtk/gtkiconfactory.c:
	* gtk/gtkmarshalers.list:
	* gtk/gtkpagesetup.[ch]:
	* gtk/gtkpagesetupunixdialog.[ch]:
	* gtk/gtkpapersize.[ch]:
	* gtk/gtkprint-win32.[ch]:
	* gtk/gtkprintbackend.[ch]:
	* gtk/gtkprintcontext.[ch]:
	* gtk/gtkprinter-private.h:
	* gtk/gtkprinter.[ch]:
	* gtk/gtkprinteroption.[ch]:
	* gtk/gtkprinteroptionset.[ch]:
	* gtk/gtkprinteroptionwidget.[ch]:
	* gtk/gtkprintjob.[ch]:
	* gtk/gtkprintoperation-private.h:
	* gtk/gtkprintoperation-unix.c:
	* gtk/gtkprintoperation-win32.c:
	* gtk/gtkprintoperation.[ch]:
	* gtk/gtkprintsettings.[ch]:
	* gtk/gtkprintunixdialog.[ch]:
	* gtk/paper_names.c:
	* gtk/paper_names_offsets.c:
	Platform independent printing API and implementations
	for unix and windows.

	* gtk/gtkstock.h:
	* gtk/stock-icons/24/gtk-orientation-landscape.png:
	* gtk/stock-icons/24/gtk-orientation-portrait.png:
	* gtk/stock-icons/24/gtk-orientation-reverse-landscape.png:
	Add stock icons for page orientation.

	* modules/Makefile.am:
	* modules/printbackends/Makefile.am:
	* modules/printbackends/cups/Makefile.am:
	* modules/printbackends/cups/gtkcupsutils.[ch]:
	* modules/printbackends/cups/gtkprintbackendcups.[ch]:
	* modules/printbackends/cups/gtkprintercups.[ch]:

	Cups printing backend for unix.

	* modules/printbackends/lpr/Makefile.am:
	* modules/printbackends/lpr/gtkprintbackendlpr.[ch]:
	lpr printing backend for unix.

	* modules/printbackends/pdf/Makefile.am:
	* modules/printbackends/pdf/gtkprintbackendpdf.[ch]:
	print-to-pdf printing backend for unix.

	* tests/.cvsignore:
	* tests/Makefile.am:
	* tests/print-editor.c:
	Test application for printing.

	* gdk/gdk.symbols:
	* gdk/win32/gdkevents-win32.c:
	* gdk/win32/gdkwin32.h:
	Add gdk_win32_set_modal_dialog_libgtk_only so that we can pump the
	mainloop while displaying a win32 common dialog.

	* gdk/directfb/Makefile.am:
	Whitespace cleanup.
2006-04-21 15:09:32 +00:00