Commit Graph

35 Commits

Author SHA1 Message Date
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
Marek Kasik
5ac8cb4576 Bug 551386 – gtk_printer_set_is_default() always sets TRUE
2008-09-09  Marek Kasik  <mkasik@redhat.com>
	Bug 551386 – gtk_printer_set_is_default() always sets TRUE

	* gtk/gtkprinter.c: sets the is_default parameter to the value
	given by caller

svn path=/trunk/; revision=21325
2008-09-09 07:58:37 +00:00
Marek Kasik
6e7941db6d Bug 535158 – can't rearrange the order of multi pages per side
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
2008-08-21 10:25:27 +00:00
Matthias Clasen
1eb96eadfc Bug 384940 – handle rejecting jobs and authentication meaningfully
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-07-15 17:34:34 +00:00
Matthias Clasen
59ae44d00e RH bug 204621 - "GtkPrint" asks for "Letter" size paper when "A4" size
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-21 02:17:30 +00:00
Matthias Clasen
f51751d2d8 Use g_value_set_static_string() where appropriate. (#515042, Christian
2008-02-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilesystemmodel.c:
        * gtk/gtkprinter.c:
        * gtk/gtkwidget.c: Use g_value_set_static_string() where
        appropriate.  (#515042, Christian Persch)


svn path=/trunk/; revision=19527
2008-02-12 15:41:30 +00:00
Matthias Clasen
32530a9f78 More default property value fixes
svn path=/trunk/; revision=19277
2007-12-28 17:29:53 +00:00
Carlos Garcia Campos
eb7f97bb9b Add new capability GTK_PRINT_CAPABILITY_NUMBER_UP.
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)

svn path=/trunk/; revision=17963
2007-05-28 10:41:09 +00:00
Matthias Clasen
35169d6675 Document new api
svn path=/trunk/; revision=17932
2007-05-26 18:59:43 +00:00
Richard Hult
b12112dda2 Fix typo to get the build working.
2007-05-26  Richard Hult  <richard@imendio.com>

	* gtk/gtkprinter.c: (gtk_printer_set_location): Fix typo to get the
	build working.

svn path=/trunk/; revision=17926
2007-05-26 08:07:37 +00:00
Matthias Clasen
2470acff89 More of the same
svn path=/trunk/; revision=17925
2007-05-26 07:13:52 +00:00
Christian Persch
be87e9a8cd Make gtk_printer_get_capabilities public, and move the
2007-04-30  Christian Persch  <chpe@gnome.org>

	* docs/reference/gtk/gtk-sections.txt:
	* gtk/gtk.symbols:
	* gtk/gtkprinter-private.h:
	* gtk/gtkprinter.c: (gtk_printer_get_capabilities),
	(gtk_print_capabilities_get_type):
	* gtk/gtkprinter.h:
	* gtk/gtkprintunixdialog.c: (selected_printer_changed):
	Make gtk_printer_get_capabilities public, and move the
	GtkPrintCapabilities definition to gtkprinter.h. Bug #390437.

svn path=/trunk/; revision=17746
2007-04-30 19:12:00 +00:00
Matthias Clasen
bcbbbe5101 Make gtk_printer_has_details() and gtk_printer_request_details() public.
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtk.symbols:
        * gtk/gtkprinter-private.h:
        * gtk/gtkprinter.[hc]: Make gtk_printer_has_details() and
        gtk_printer_request_details() public.

        * gtk/gtkpagesetupunixdialog.c:
        * gtk/gtkprintunixdialog.c: Update callers.  (#389203,
        Christian Persch)



svn path=/trunk/; revision=17690
2007-04-29 04:42:13 +00:00
Christian Persch
4f5e5b4834 Make gtk_printer_list_papers public. Bug #345587.
2006-12-24  Christian Persch  <chpe@cvs.gnome.org>

	* docs/reference/gtk/gtk-sections.txt:
	* gtk/gtk.symbols:
	* gtk/gtkpagesetupunixdialog.c: (fill_paper_sizes_from_printer):
	* gtk/gtkprinter-private.h:
	* gtk/gtkprinter.c: (gtk_printer_list_papers):
	* gtk/gtkprinter.h: Make gtk_printer_list_papers public. Bug #345587.
2006-12-24 13:16:05 +00:00
Matthias Clasen
f149073fa5 Always call the destroy notify 2006-06-30 13:20:15 +00:00
Matthias Clasen
f8f9384537 Documentation additions and fixes.
2006-06-28  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprinter.c:
        * gtk/gtkprintunixdialog.c:
        * gtk/gtkprintoperationpreview.c:
        * gtk/gtkprintcontext.c (gtk_print_context_set_cairo_context):
        * gtk/gtklabel.c (gtk_label_set_line_wrap_mode):
        * gtk/gtkentry.c (gtk_entry_new):
        * gtk/gtkprintoperation.c (gtk_print_operation_set_custom_tab_label):
        * gtk/gtkclipboard.c (gtk_clipboard_wait_for_rich_text): Documentation
        additions and fixes.

        * gtk/gtkaspectframe.h:
        * gtk/gtkaboutdialog.c:
        * gtk/gtkcalendar.c:
        * gtk/gtkinputdialog.c:
        * gtk/gtk.symbols: Remove unnecessary includes.

        * gtk/gtkprogress.[hc]:
        * gtk/gtkitemfactory.[hc]: Don't unnecessarily use GTK_COMPILATION,
        remove unnecessary includes.
2006-06-29 09:18:07 +00:00
Matthias Clasen
5639c85057 Fix printer enumeration 2006-06-25 08:24:34 +00:00
Matthias Clasen
01c092c00c broken pipe 2006-06-22 02:29:37 +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
Matthias Clasen
a4290e7000 cleanup 2006-06-21 17:14:05 +00:00
Matthias Clasen
7969d88c42 Forgotten files 2006-06-19 22:18:38 +00:00
Matthias Clasen
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
Matthias Clasen
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
Matthias Clasen
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
Alexander Larsson
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
Matthias Clasen
2606a4eb79 Don't return values from void functions.
2006-05-22  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprinter.c (_gtk_printer_prepare_for_print)
	(_gtk_printer_get_settings_from_options)
	(_gtk_printer_request_details): Don't return values from void
	functions.

	* gtk/gtkrecentchooserutils.c (delegate_unselect_uri): Don't
	return a value from a void function.

	* gtk/gtkfilesystem.c (gtk_file_system_cancel_operation): Don't
	return a value from a void function.  Also, don't put
	semicolons behind G_DEFINE_TYPE. (#342543)
2006-05-22 12:53:13 +00:00
Matthias Clasen
dfbaef6b88 Cosmetic cleanups.
* gtk/gtkprinter.c (gtk_printer_class_init):
	* gtk/gtkprintjob.c (gtk_print_job_class_init):
	* gtk/gtkprintoperation.c (gtk_print_operation_class_init):
	Cosmetic cleanups.
2006-05-16 16:13:48 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +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
Matthias Clasen
99677a97ee broken pipe 2006-05-02 13:12:11 +00:00
Christian Persch
061f252873 Use a priv variable when accessing priv multiple times in the same
2006-05-02  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkpagesetupunixdialog.c:
	* gtk/gtkprintcontext.c:
	* gtk/gtkprinter.c:
	* gtk/gtkprinteroptionwidget.c:
	* gtk/gtkprintjob.c:
	* gtk/gtkprintoperation-unix.c:
	* gtk/gtkprintoperation.c:
	* gtk/gtkprintunixdialog.c: Use a priv variable when accessing priv
	  multiple times in the same function. Bug #340288.
2006-05-02 12:48:52 +00:00
Alexander Larsson
7261cff2d7 Don't ref the backend since the backend owns the printer.
2006-04-24  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkprinter.c:
	Don't ref the backend since the backend owns the printer.
2006-04-24 16:18:05 +00:00
Matthias Clasen
0d10969b9f Match parameter names with the headers.
2006-04-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkclipboard.h:
	* gtk/gtkprinter.c:
	* gtk/gtkprintsettings.h:
	* gtk/gtkprintsettings.c: Match parameter names with the headers.

	* gtk/gtkprintoperation-unix.c (gtk_print_run_page_setup_dialog):
	Add docs.

	* gtk/gtktextbufferrichtext.c (gtk_text_buffer_deserialize):
	* gtk/gtkstatusicon.c (gtk_status_icon_get_storage_type):
	* gtk/gtktreeview.c (gtk_tree_view_set_search_position_func):
	* gtk/gtktreeview.c (gtk_tree_view_get_headers_clickable):
	* gtk/gtkcellrendererspin.c (gtk_cell_renderer_spin_new):
	* gtk/gtkmenu.c (gtk_menu_get_for_attach_widget): Fix the docs.
2006-04-24 05:42:12 +00:00
Matthias Clasen
8cf2909eb6 Use g types, add documentation, and some stylistic fixups.
2006-04-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprinter-private.h:
	* gtk/gtkprintbackend.h:
	* gtk/gtkprinter.[hc]:
	* gtk/gtkprintjob.[hc]: Use g types, add documentation, and some
	stylistic fixups.

	* gtk/gtkaboutdialog.c (activate_url): Avoid a compiler warning.
2006-04-24 03:47:22 +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