Commit Graph

87 Commits

Author SHA1 Message Date
Marek Kasik
a12a583c99 Add ability to print selection
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().
2009-06-08 15:37:32 +02:00
Matthias Clasen
d2ac65c8ba Fix a typo in the ::update-custom-widget docs 2009-05-29 18:47:23 -04:00
Carlos Garcia Campos
7437a79b85 Fix a crash when printing with defer drawing enabled
Fixes bgo#582963
2009-05-23 11:12:56 +02:00
Carlos Garcia Campos
9b7fa7a904 Use nr_of_pages_to_print instead of nr_of_pages when updating printing progress
Fixes bgo#582950.
2009-05-18 09:43:13 +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
6e121ee85e Allow the custom widget to actualize on a printer change
Passes print settings and page setup to the custom widget
through a new "update-custom-widget" signal (#564854).
2009-04-21 13:06:49 +02:00
Matthias Clasen
aa8673ba84 Fix make check
svn path=/trunk/; revision=22033
2009-01-01 06:46:57 +00:00
Marek Kasik
8ff5d4ffc4 Bug 339318 - Allow page rendering to (optionally) happen in a thread
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-12-19 16:42:05 +00:00
Matthias Clasen
b478870c5f More conversion to C_()
svn path=/trunk/; revision=21717
2008-10-27 03:07:16 +00:00
Philip Withnall
ab9f1d7bbc Bug 530454 – Clarify page_nr when printing
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-10-26 12:11:11 +00:00
Christian Persch
aadcba2dc5 Bug 555386 – format not a string literal and no format arguments
svn path=/trunk/; revision=21642
2008-10-13 12:54:45 +00:00
Matthias Clasen
3f53433008 Documentation fixes
svn path=/trunk/; revision=21217
2008-08-28 02:27:14 +00:00
Marek Kasik
547694ef0e Bug 545875 – evo crashed when trying to print pages 6-7 of a 1 page
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
2008-08-21 11:30:46 +00:00
Michael Natterer
d934deaaf3 change "error_dialog" variable to GtkWidget fo fix two warnings.
2008-07-04  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkprintoperation.c (print_pages): change "error_dialog"
	variable to GtkWidget fo fix two warnings.


svn path=/trunk/; revision=20759
2008-07-04 10:46:19 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Matthias Clasen
a7abdcf8fc Handle failure to create temp file by returning NULL.
* 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-07-01 05:38:49 +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
Hans Breuer
8677ed959d check surface status after ceating a pdf. Avoids crashing when the target
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
2008-06-13 08:36:26 +00:00
Matthias Clasen
9d6954734d Fix some i18n errors. Pointed out by Behdad Esfahbod.
2008-02-12  Matthias Clasen  <mclasne@redhat.com>

        * gtk/gtkpapersize.c:
        * gtk/gtkprintoperation.c:
        * gtk/gtkvolumebutton.c:
        * gtk/gtkbulderparser.c: Fix some i18n errors. Pointed
        out by Behdad Esfahbod.



svn path=/trunk/; revision=19547
2008-02-12 22:43:35 +00:00
Matthias Clasen
5e30c5d986 More default property value fixes
svn path=/trunk/; revision=19278
2007-12-28 18:10:32 +00:00
Matthias Clasen
4896e24bb1 Require gtk-doc 1.8
2007-11-25  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Require gtk-doc 1.8

        * */*.c: Use gtk-doc abbreviations for examples in docs.


svn path=/trunk/; revision=19041
2007-11-25 06:51:19 +00:00
Murray Cumming
5d1a5ac216 Revert the change on 2007-04-29 (Also check the default handler when
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-10-05 08:18:43 +00:00
Matthias Clasen
b0cc27c30b Some more fixed to prevent segfaults with missing or nonsensical ranges.
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 15:38:29 +00:00
Jean Brefort
e7131b2f91 abort printing when the range is NULL. (#478803)
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-09-21 14:50:06 +00:00
Matthias Clasen
2470acff89 More of the same
svn path=/trunk/; revision=17925
2007-05-26 07:13:52 +00:00
Torsten Schoenfeld
2293bbcd2d Unset priv->platform_data and priv->free_platform_data to prevent
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-05-15 17:57:27 +00:00
Matthias Clasen
10862a344a Fix a compiler warning.
svn path=/trunk/; revision=17729
2007-04-30 06:04:48 +00:00
Matthias Clasen
23263cd43c Translate the default job name, and don't utf8-validate the job name in
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-30 05:08:26 +00:00
Matthias Clasen
a788ef97a4 Fix some issues with reference handling in the printing code. (#429902,
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-30 04:45:33 +00:00
Matthias Clasen
7f95ef5ef3 Don't get stuck in a recursive mainloop if a synchronous preview is
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-30 02:47:41 +00:00
Matthias Clasen
b9856ac887 Make the emission of ::end-print and ::done consistent for previews.
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-30 02:18:36 +00:00
Matthias Clasen
86b19df30c Document that a print operation can be run only once, and add a
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-29 18:55:12 +00:00
Matthias Clasen
924d9163b4 Fix the build
svn path=/trunk/; revision=17701
2007-04-29 06:50:42 +00:00
Matthias Clasen
557ff70925 Also check the default handler when deciding whether to emit the paginate
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation.c (print_pages_idle): Also check
        the default handler when deciding whether to emit the
        paginate signal.  (#345345, Yevgen Muntyan)



svn path=/trunk/; revision=17698
2007-04-29 06:34:12 +00:00
Matthias Clasen
aa3f2a792a Don't crash if end_run is not set. (#424168, Matthias Hasselmann)
2007-04-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation.c (preview_iface_end_preview): Don't
        crash if end_run is not set.  (#424168, Matthias Hasselmann)



svn path=/trunk/; revision=17636
2007-04-25 16:28:30 +00:00
Michael Natterer
653a03c218 fix the build. Dunno if the fix is right, but I think it is.
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-25 09:47:14 +00:00
Matthias Clasen
8f409578f2 Parse half-open ranges like -2 or 3-, and be a bit more liberal about
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-24 20:16:35 +00:00
Alexander Larsson
fb8638d0ac Make async print preview work by actually starting the print process in
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
2007-04-16 08:57:35 +00:00
Matthias Clasen
69072fc65c Fix an oversight in an example.
svn path=/trunk/; revision=17495
2007-03-12 06:15:41 +00:00
Matthias Clasen
4e332f0da6 Fix another leak
svn path=/trunk/; revision=17048
2007-01-04 04:49:31 +00:00
Matthias Clasen
1ed8f92140 fix doc formatting errors 2006-12-29 20:30:39 +00:00
Matthias Clasen
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
Matthias Clasen
e142731885 Fix typos 2006-09-25 14:48:31 +00:00
Matthias Clasen
f2936e2706 Queue printing idles at a low priority. (#348289, Yevgen Muntyan)
2006-08-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprintoperation.c (print_pages, preview_ready): Queue
	printing idles at a low priority.  (#348289, Yevgen Muntyan)
2006-08-17 16:24:56 +00:00
Matthias Clasen
895e9b3584 Some more printing docs 2006-08-15 19:49:27 +00:00
Matthias Clasen
f8794cccca Improve consistency of signal and property names 2006-07-06 05:14:03 +00:00
Matthias Clasen
18a0068300 some cross-referencing 2006-06-29 10:01:25 +00:00
Matthias Clasen
b8888ec22c Improve docs 2006-06-29 09:52:36 +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
Murray Cumming
41b067c43a Correctly register the done signal - it sends an enum, not an int.
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.
2006-06-20 19:48:37 +00:00