Commit Graph

100 Commits

Author SHA1 Message Date
Marek Kasik
ca6aacc32d Return error instead of showing an error dialog when printing
Remove message dialogs showing an error when printing. Return
GTK_PRINT_OPERATION_RESULT_ERROR and set error in such a case.
Also return GTK_PRINT_OPERATION_RESULT_CANCEL when cancelled.
Do it for synchronous and asynchronous cases (#549127).
2010-06-07 14:52:38 +02:00
Javier Jardón
7b2024c1bd Fix typo in gtkprintoperation
Reported by Andika Triwidada in
https://bugzilla.gnome.org/show_bug.cgi?id=618093
2010-05-08 16:36:38 +02:00
Johan Dahlin
fe85272112 [annotations] Add allow-none
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API

https://bugzilla.gnome.org/show_bug.cgi?id=610474
2010-02-19 17:57:51 -02:00
Colin Walters
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
Marek Kasik
33ec0ecf05 Don't assign a GtkPageOrientation to a boolean value
GtkPrintOperationPrivate->orientation is a boolean value.
2009-10-27 17:35:37 +01:00
Marek Kasik
6b5912a213 Show correct print preview
Modify print preview according to settings from print dialog.
Similar approach as during real print is applied to the preview
process (#592582).
2009-10-26 17:47:37 +01:00
Javier Jardón
670e141b3a Fix some compilation warning
Added some default cases and assert if reached
2009-10-21 02:08:18 +02:00
Shixin Zeng
02457e3a93 Return value from non-void function 2009-08-20 23:56:52 +03:00
Marek Kasik
d878dc8e1a Increment page sequence before print of the page, not after
When printing, increment page sequence before rendering of the page,
not after (#590084).
In opposite case it runs "end_page" function with wrong parameters when
drawing a page in another thread.
2009-08-10 11:37:32 +02:00
Carlos Garcia Campos
c775906e4a Add gtk_print_operation_get_n_pages_to_print()
It returns the number of pages that will be printed to allow tracking
the progress of a print operation. Fixes bgo#582964.
2009-08-07 09:42:03 +02:00
Matthias Clasen
d6afa6eff2 Fix a typo in the startup-id property definition
As well as some new GtkPrintOperation properties, which were not
correctly set up. This was noticed in bug 588958.
2009-07-19 23:52:58 -04:00
Marek Kasik
0ef74c936f Add paper size combo and orientation combo to print dialog
Paper size combo and orientation combo can be added by
gtk_print_operation_set_embed_page_setup_dialog() to GtkPrinUnixDialog
now. This function induce calling of
gtk_print_unix_dailog_set_embed_page_setup_dialog() after creation of
dialog. These two functions control embed-page-setup-dialog properties
in GtkPrintOperation and in GtkPrintUnixDialog.
There is also new function gtk_print_unix_dialog_get_page_setup_set()
which says whether page setup was set by user.
Selected page setup is stored as default page setup in
GtkPrintOperation.
New class is added, its name is GtkCustomPaperUnixDialog. The class
manages custom sizes. It is derived from GtkPageSetupUnixDialog's
CustomPaperDialog structure.
Page layout preview is modified, so, it shows dimensions of current
page setup (mm or inch - depends on locale). It also shows the name of
actual paper if page setup dialog is not embedded (paper size combo is
not visible).
gtk-demo is actualized to include this new feature.
2009-07-10 11:28:31 +02:00
Hans Breuer
37957aea34 Use G_PI rather than M_PI 2009-07-04 12:19:08 +02:00
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