Add a new radio button "Selection" to the print dialog. Its presence
depends on calling of functions gtk_print_operation_set_support_selection()
and gtk_print_dialog_unix_set_support_selection().
Sensitivity of the radio depends on calling of
functions gtk_print_operation_set_has_selection() and
gtk_print_dialog_unix_set_has_selection().
There are new properties GtkPrintUnixDialog::support-selection,
GtkPrintUnixDialog::has-selection, GtkPrintOperation::support-selection
and GtkPrintOperation::has-selection. Corresponding getters are
gtk_print_dialog_unix_get_support_selection(),
gtk_print_dialog_unix_get_has_selection(),
gtk_print_operation_get_support_selection() and
gtk_print_operation_get_has_selection().
Application has to set number of pages to which the selection will be formated
in GtkPrintOperation::begin-print's callback by the
gtk_print_operation_set_n_pages() function (bug #344519).
There is also new property GtkPrintUnixDialog::manual-capabilities controled by
gtk_print_unix_dialog_set_manual_capabilities() and
gtk_print_unix_dialog_get_manual_capabilities().
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".
2008-12-19 Marek Kasik <mkasik@redhat.com>
Bug 339318 - Allow page rendering to (optionally) happen in a thread
* gtk/gtk.symbols: API change
* doc/reference/gtk/gtk-sections.txt: API change
* gtk/gtkprintoperation-private.h
* gtk/gtkprintoperation.h
* gtk/gtkprintoperation.c: Adds 2 new functions
gtk_print_operation_set_defer_drawing()
- Sets up the GtkPrintOperation to wait for calling of
gtk_print_operation_draw_page_finish() from application. It can
be used for drawing page in another thread.
This function must be called in the callback of "draw-page"
signal.
gtk_print_operation_draw_page_finish()
- Signalize that drawing of particular page is complete.
It is called after completion of page drawing (e.g. drawing
in another thread).
If gtk_print_operation_set_defer_drawing() was called before,
then this function has to be called by application. In another
case it is called by the library itself.
svn path=/trunk/; revision=21913
2008-10-26 Philip Withnall <philip@tecnocode.co.uk>
Bug 530454 – Clarify page_nr when printing
* gtk/gtkprintoperation.c (gtk_print_operation_class_init):
Point out
that page_nr is 0-based in the documentation.
svn path=/trunk/; revision=21714
2008-08-21 Marek Kasik <mkasik@redhat.com>
Bug 545875 – evo crashed when trying to print pages 6-7 of a 1 page
email
* gtk/gtkprintoperation.c: Clamp page ranges to correct ranges
svn path=/trunk/; revision=21177
* gtk/gtkprintoperation-unix.c
(_gtk_print_operation_platform_backend_create_preview_surface):
Handle failure to create temp file by returning NULL.
* gtk/gtkprintoperation.c (gtk_print_operation_preview_handler):
Return FALSE if surface creation fails.
(print_pages): If the preiew signal is not handled, show an
error dialog.
svn path=/trunk/; revision=20715
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-23 Hans Breuer <hans@breuer.org>
* gtk/gtkprintoperation.c : check surface status after ceating a pdf.
Avoids crashing when the target can not be written, bug #537685
* gdk/win32/gdkdisplay-win32.c : runtime linking of ProcessIdToSessionId
* gtk/gtkfilesystem.c : variadic macros are not supported with c89 and
it was not needed here anyway.
svn path=/trunk/; revision=20370
2007-10-05 Murray Cumming <murrayc@murrayc.com>
* gtk/gtkprintoperation.c: (print_pages_idle):
Revert the change on 2007-04-29 (Also check
the default handler when deciding whether to emit the
paginate signal. (#345345, Yevgen Muntyan)).
This stopped printing from working in gtkmm, and is apparently
not appropriate anyway. Bug #482089.
svn path=/trunk/; revision=18885
2007-09-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation.c (print_pages_idle): Some more
fixed to prevent segfaults with missing or nonsensical ranges.
svn path=/trunk/; revision=18854
2007-09-21 Jean Brefort <jean.brefort@normalesup.org>
* gtk/gtkprintoperation.c: (print_pages_idle): abort printing
when the range is NULL. (#478803)
svn path=/trunk/; revision=18853
2007-05-15 Torsten Schoenfeld <kaffeetisch@gmx.de>
* gtk/gtkprintoperation.c (pdf_end_run): Unset priv->platform_data and
priv->free_platform_data to prevent gtk_print_operation_finalize()
from freeing the cairo surface a second time.
svn path=/trunk/; revision=17851
2007-04-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation.c: Translate the default job
name, and don't utf8-validate the job name in the
setter. (#421993, Morten Welinder)
svn path=/trunk/; revision=17726
2007-04-29 Matthias Clasen <mclasen@redhat.com>
Fix some issues with reference handling in the printing
code. (#429902, Mathias Hasselmann)
* gtk/gtkprintoperation.c (gtk_print_operation_finalize):
Unref the print context, if we have one.
(gtk_print_operation_done): Add a default ::done handler
that unrefs the print context.
(preview_ready): Take a reference on the print operation
preview here.
(print_pages_idle): ...not here,
(preview_print_idle_done): ...and release it here.
* tests/print-editor.c (preview_cb): Take a reference
on the print operation here.
svn path=/trunk/; revision=17722
2007-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation.c (print_pages_idle): Don't get
stuck in a recursive mainloop if a synchronous preview
is cancelled.
svn path=/trunk/; revision=17721
2007-04-29 Matthias Clasen <mclasen@redhat.com>
Make the emission of ::end-print and ::done consistent
for previews. (#347567, Yevgen Muntyan)
* gtk/gtkprintoperation.c (preview_iface_end_preview): Set
the finished status here.
(preview_end_run): ...and not here.
(print_pages_idle_done): Emit ::done for a cancelled preview.
(print_pages_idle): If a preview has been cancelled, don't
emit ::ready, but emit ::end-print.
tests/print-editor.c: Use ::end-print to undo allocations
from ::begin-print.
svn path=/trunk/; revision=17719
2007-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation.c (gtk_print_operation_run): Document
that a print operation can be run only once, and add a
corresponding g_return_if_fail(). (#379399, Masao Mutoh)
svn path=/trunk/; revision=17715
2007-04-25 Michael Natterer <mitch@imendio.com>
* gtk/gtkprintoperation.c (preview_iface_is_selected): fix the
build. Dunno if the fix is right, but I think it is.
svn path=/trunk/; revision=17629
2007-04-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c (dialog_get_page_ranges): Parse
half-open ranges like -2 or 3-, and be a bit more liberal
about whitespace.
(dialog_set_page_ranges): Support half-open ranges.
* gtk/gtkprintoperation.c (print_pages_idle): Substitute the
number of pages in half-open ranges.
(preview_iface_is_selected): Support half-open ranges here, too.
svn path=/trunk/; revision=17627
2007-04-16 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation.c (gtk_print_operation_run):
Make async print preview work by actually starting
the print process in that case (#424168)
svn path=/trunk/; revision=17603
2006-06-20 Murray Cumming <murrayc@murrayc.com>
* gtk/gtkprintoperation.c: (gtk_print_operation_class_init):
Correctly register the done signal - it sends an enum, not an int.