Commit Graph

148 Commits

Author SHA1 Message Date
c855dc61b5 broken pre-commit script 2006-12-28 04:22:46 +00:00
da91672d46 forgotten file 2006-12-27 06:50:31 +00:00
c5ef6f4b39 Use getters for http fields where available. (#364866, Björn Lindqvist)
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-12-27 06:49:49 +00:00
721c3bc101 Replace a lot of idle and timeout calls by the new gdk_threads api.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * *.c: Replace a lot of idle and timeout calls by
        the new gdk_threads api.
2006-12-22 19:10:43 +00:00
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
7ad533044a Make print dialog work when 'BrowseShortNames Off' is specified in cups
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-11-25 05:12:48 +00:00
b99bea2489 Don't pass NULL to strncpy. (#359537, patch by Carlos Garcia Campos)
2006-11-15  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkprintbackendcups.c (cups_printer_get_options):
	Don't pass NULL to strncpy.  (#359537, patch by  Carlos Garcia Campos)
2006-11-15 18:54:43 +00:00
7e480bb4b8 Complete the fix for bug 357280 2006-10-03 18:19:15 +00:00
29d0ac8db5 Complete the fix for bug 357280.
2006-10-03  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Complete
        the fix for bug 357280.
2006-10-03 15:05:05 +00:00
f647f66400 Only use the group name field if cups is new enough. (#357280)
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-10-02 05:39:31 +00:00
1c061cb55e Add. 2006-09-06 18:45:19 +00:00
a9dc0eb466 Send printer-list-done on error.
2006-08-31  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkprintbackendcups.c (cups_request_printer_list_cb): Send printer-list-done on error.
2006-08-31 17:44:07 +00:00
af2d60ab70 Use a resonable timeout of 3 seconds when polling for printer list
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-28 18:03:44 +00:00
919cdba486 Handle filename encoding consistently. (#351812, Christian Persch)
2006-08-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprinteroptionwidget.c (update_widgets):
	* modules/printbackends/file/gtkprintbackendfile.c
	(output_file_from_settings): Handle filename encoding
	consistently.  (#351812, Christian Persch)
2006-08-18 01:30:24 +00:00
0e2e8d83f5 Improve the handling of the default output filename, to ensure that we
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-17 04:57:00 +00:00
430a9d5ea8 Simplify, make it build against cups 1.1. (#350329)
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-08-15 16:05:13 +00:00
cb3669e1a1 Check if option is NULL before using it. (#348014, Christian Persch)
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)
2006-07-19 15:52:48 +00:00
5713af241a Make bits from my last commit are conditionally compiled only if cups 1.2
* modules/printbackends/cups/gtkprintbackendcups.c:
  Make bits from my last commit are conditionally compiled
  only if cups 1.2 is available.
2006-07-18 21:47:04 +00:00
7d2ec5d007 add GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD,
* 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
2006-07-18 18:26:51 +00:00
828014328c Get the name of the first printer in a class to use when requesting a PPD
* 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-07-06 17:55:32 +00:00
e070fdf693 Fix compilation with cups 1.1 2006-06-22 13:09:29 +00:00
894d81c829 Apply a patch by Christian Persch to support PostScript and PDF output.
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 19:06:58 +00:00
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
bc1dbd58d5 Add an GError parameter.
2006-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprintbackend.h:
	* gtk/gtkprintbackend.c (gtk_print_backend_print_stream): Add an
	GError parameter.

	* modules/printbackends/file/gtkprintbackendfile.c
	(gtk_print_backend_file_print_stream):
	* modules/printbackends/lpr/gtkprintbackendlpr.c
	(gtk_print_backend_lpr_print_stream):
	* modules/printbackends/cups/gtkprintbackendcups.c
	(gtk_print_backend_cups_print_stream):
	* gtk/gtkprintjob.c (gtk_print_job_send): Update all callers and
	implementations.
2006-06-21 05:56:14 +00:00
6ffc87bb80 Cleanups 2006-06-21 05:08:43 +00:00
d14e9a14ad configure.in gtk/Makefile.am Rename "pdf" backend to "file" backend. Step
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 18:42:46 +00:00
0bce4d271a Convert input to filename encoding and construct an URI from that. Add
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-20 17:36:55 +00:00
7a44ce3366 Add a capabilities argument to the printer_get_options method and to the
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-19 05:09:49 +00:00
374e181734 Fix a typo: s/Extention/Extension/.
2006-06-17  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/pdf/gtkprintbackendpdf.c:
	* modules/printbackends/lpr/gtkprintbackendlpr.c: Fix a typo:
	s/Extention/Extension/.
2006-06-17 05:19:18 +00:00
505c6149cc Use stock print icons; make it compile 2006-06-17 01:04:50 +00:00
956bcb4393 Add a GtkPrintSettings parameter to the printer_create_cairo_surface
2006-06-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprintbackend.h: Add a GtkPrintSettings parameter to the
	printer_create_cairo_surface method.

	* modules/printbackends/pdf/gtkprintbackendpdf.c:
	* modules/printbackends/cups/gtkprintbackendcups.c:
	* modules/printbackends/lpr/gtkprintbackendlpr.c:
	* gtk/gtkprinter.c (_gtk_printer_create_cairo_surface):
	* gtk/gtkprinter-private.h:
	* gtk/gtkprintjob.c (gtk_print_job_get_surface): Adapt all users.
2006-06-16 18:29:09 +00:00
0f0e499c12 fix 345038 2006-06-16 05:08:14 +00:00
82743b9f21 fix the print-to-pdf icon 2006-06-16 04:02:34 +00:00
809c8d565f Use gtk_printer_accepts_ps here.
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-06-12 17:45:49 +00:00
1f09da45a6 use the passed in destroy notify 2006-06-11 02:40:02 +00:00
289d59857f Use cairo_pdf_surface_set_dpi by cairo_surface_set_fallback_resolution.
2006-06-10  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkprintoperation.c:
        * modules/printbackends/pdf/gtkprintbackendpdf.c: Use
        cairo_pdf_surface_set_dpi by cairo_surface_set_fallback_resolution.
        (#344512, Elijah Newren)
2006-06-11 02:30:58 +00:00
a075c94acb Fix a C99ism 2006-06-07 12:59:05 +00:00
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
70376f280a Add gtk_print_unix_dialog_set_manual_capabilities that controls what
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-24 10:50:57 +00:00
3f529199e5 Added gtk_print_job_set/get_track_print_status
2006-05-15  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkprintjob.[ch]:
	Added gtk_print_job_set/get_track_print_status

	* gtk/gtkprintoperation-private.h:
	* gtk/gtkprintoperation.[ch]:
	Add gtk_print_operation_set_track_print_status.

	* gtk/gtkprintoperation-unix.c:
	Implement track_print_status on unix

	* gtk/gtkprintoperation-win32.c:
	Implement track_print_status on win32

	* gtk/gtk.symbols:
	Added symbols

	* modules/printbackends/cups/gtkprintbackendcups.c:
	Implement track_print_status for cups

	* tests/print-editor.c:
	Test track_print_status.
2006-05-15 16:22:38 +00:00
5e0dc70323 Never unload print backends. Remove gtk_print_backend_unref_at_idle.
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-15 15:24:12 +00:00
c459feaab1 Fix build errors.
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-12 09:47:58 +00:00
2b0ffdac07 make the _CUPS_MAP_ATTR_STR macro not dup the string so we don't leak
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-10 00:42:23 +00:00
9ef568468e Always register the type with the type module, even if it had been
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-05 20:22:27 +00:00
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
ab7c146eb4 . 2006-04-29 04:57:30 +00:00
e6e2f91b19 some more options 2006-04-25 04:38:07 +00:00
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