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.
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-10-16 Marek Kasik <mkasik@redhat.com>
Bug 556527 - The current page property is not passed to
GtkPrintUnixDialog
* gtk/gtkprintoperation-unix.c: pass current-page property
to GtkPrintUnixDialog
svn path=/trunk/; revision=21660
* 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
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
2007-05-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation-unix.c (unix_end_run): Hold a
refence on the print operation until gtk_print_job_send()
is done. (#440040, Chris Vine)
svn path=/trunk/; revision=17915
2007-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation-unix.c
(_gtk_print_operation_platform_backend_launch_preview):
Support passing a print settings file to the preview
command. (#403717, Christian Persch)
* gtk/gtksettings.c: Document %s in the
gtk-print-preview-command setting.
svn path=/trunk/; revision=17704
2007-03-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation-unix.c: Initialize the do_preview
field of PrintResponseData. (#396703, Christian Persch)
svn path=/trunk/; revision=17453
2006-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintbackend.c:
* gtk/gtkfilechooserdefault.c:
* gtk/gtksettings.c: Move a few settings to gtksettings.c
to make sure they show up in the docs. (#365364, Christian
Persch)
svn path=/trunk/; revision=16992
2006-09-10 Matthias Clasen <mclasen@redhat.com>
* Commit a patch by Behdad to fix typos, omissions and other
errors in the symbol aliasing, and add checks for local PLT
entries. (#354687, Behdad Esfahbod)
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-16 Matthias Clasen <mclasen@redhat.com>
* configure.in: Require cvs glib.
* gtk/gtkprintoperation-unix.c:
(_gtk_print_operation_platform_backend_create_preview_surface):
Don't use a temporary directory for preview files, since it
is not clear who cleans it up. Instead, use g_mkstemp() directly
to create a temp pdf file, and make the preview app responsible
for cleaning it up.
2006-06-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintbackend.c: Move the registration of the
gtk-print-preview-command setting from gtkprintbackend.c to
gtkprintoperation-unix.c, to make sure it is registered before
the first use. Also, document the two settings.
2006-06-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation-unix.c (handle_print_response): When starting
a preview from the print dialog, set the action to PREVIEW.
* gtk/gtkprintoperation.c: Cosmetic changes.
2006-06-08 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation-win32.c:
Update windows to build with new APIs and first cut
at preview work.
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.c
Various updates needed when making the preview work on win32.
* tests/print-editor.c:
Print, don't preview.
2006-06-07 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.[ch]:
Clean up APIs:
Make async a setting instead of separate calls.
Combine settings like show_dialog, show_preview and pdf_target into
an action enum that you pass to gtk_print_dialog_run().
* tests/print-editor.c:
* tests/testnouiprint.c:
* tests/testprint.c:
* demos/gtk-demo/printing.c:
Update to new APIs
2006-06-02 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
Add gtkprintoperationpreview.[ch]
Set default preview command. Hardcoded for now.
* gtk/gtkmarshalers.list:
Add BOOLEAN:OBJECT,OBJECT,OBJECT
* gtk/gtkprintbackend.c:
Add preview command property.
* gtk/gtkprintcontext.[ch]:
Make less dependent on PrintOperation for output settings
Externally set cairo_t and dpi. Resettable.
Create fontmap without metrics hinting (so that print preview
text layout doesn't depend on zoom level).
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.[ch]:
Initial work on print preview API and default implementation
using an external preview app.
* gtk/gtkprintoperation-win32.c:
Some needed updates. Not done, needs more work.
* gtk/gtkprintoperationpreview.[ch]:
New interface used in print preview api.
* gtk/gtkprintunixdialog.c:
Add print preview dialog.
* tests/print-editor.c:
Test using an custom print preview widget.
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-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintoperation.h:
* gtk/gtkprintoperation.c: Add a boolean show-progress
property, and show a progress dialog if it is set to TRUE.
* gtk/gtkprintoperation.c (pdf_end_run):
* gtk/gtkprintoperation-win32.c (win32_end_run):
* gtk/gtkprintoperation-unix.c (unix_end_run):
* gtk/gtkprintoperation-private.h: Add a cancelled
parameter to end_run, and call it even if the print
operation was cancelled.
2006-05-23 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintunixdialog.[ch]:
Add gtk_print_unix_dialog_add_custom_tab
* gtk/gtkprintoperation-unix.c:
Implement custom widgets for unix.
Fix some warnings by including cairo-ps/pdf.h
* gtk/gtkprintoperation-win32.c:
Mark string for translation.