Commit Graph

79 Commits

Author SHA1 Message Date
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
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
Christian Persch
67fd8b248d Make the labels left-aligned, and remove an obsolete event box. Bug
2008-01-06  Christian Persch  <chpe@gnome.org>

	* gtk/gtkpagesetupunixdialog.c: Make the labels left-aligned,
	and remove an obsolete event box. Bug #506760.

svn path=/trunk/; revision=19318
2008-01-06 23:09:24 +00:00
Yevgen Muntyan
6003bcbd96 added alternative button order in Print and Page Setup dialogs.
2007-12-07  Yevgen Muntyan  <muntyan@tamu.edu>

	* gtk/gtkprintunixdialog.c:
	* gtk/gtkpagesetupunixdialog.c: added alternative button order in
	Print and Page Setup dialogs.


svn path=/trunk/; revision=19126
2007-12-07 18:05:42 +00:00
Matthias Clasen
57c44b18e7 Port to use new tooltips API. (#451397, Jan Arne Petersen)
2007-07-24  Matthias Clasen  <mclasen@redhat.com>

        * gtkcolorsel.c:
        * gtkfilechooserdefault.c:
        * gtkpagesetupunixdialog.c:
        * gtkprintunixdialog.c: Port to use new tooltips API.
        (#451397, Jan Arne Petersen)


svn path=/trunk/; revision=18539
2007-07-24 15:18:42 +00:00
Yevgen Muntyan
1a534510aa missing #include <ctype.h>.
2007-05-23  Yevgen Muntyan  <muntyan@tamu.edu>

	* gtk/gtkprintunixdialog.c: missing #include <ctype.h>.

	* gtk/gtkhandlebox.c (gtk_handle_box_paint):
	* gtk/gtkpagesetupunixdialog.c (_gtk_load_custom_papers):
	* gtk/gtkstatusbar.c (gtk_statusbar_get_context_id):
	* gtk/gtkiconcache.c (_gtk_icon_cache_new_for_path):
	* gtk/gtktrayicon-x11.c (gtk_tray_icon_send_dock_request):
	* gtk/gtkpreview.c (gtk_preview_finalize):
	* gtk/gtknotebook.c (gtk_notebook_set_group_id):
	* tests/testnotebookdnd.c (window_creation_function):
	* tests/testiconview.c (do_popup_menu):
	Fixed some compiler warnings (#440689).

svn path=/trunk/; revision=17898
2007-05-23 15:06:03 +00:00
Matthias Clasen
7253a5a292 Rename gtk_paper_size_get_builtins() to gtk_paper_size_get_paper_sizes()
2007-04-30  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtk.symbols:
        * gtk/gtkpapersize.[hc]: Rename gtk_paper_size_get_builtins()
        to gtk_paper_size_get_paper_sizes() and optionally include
        custom paper sizes.

        * gtk/gtkpagesetupunixdialog.c: Internally export a function
        to load custom paper sizes.

        * modules/printbackends/file/gtkprintbackendfile.c: Implement
        printer_list_papers, returning all paper sizes.  (#434329,
        Christian Persch)


svn path=/trunk/; revision=17728
2007-04-30 06:03:01 +00:00
Matthias Clasen
3c5bd522b3 Add a new error code
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation.h: Add a new error code

        * gtk/gtk.symbols:
        * gtk/gtkpagesetup.[hc]:
        * gtk/gtkpapersize.[hc]:
        * gtk/gtkprintsettings.[hc]: Add functions to serialize
        and deserialize page setups and print settings to files
        and key files.  (#344515, Christian Persch)

        * gtk/gtkpagesetupunixdialog.c: Adapt to the new functions.

        * tests/print-editor.c: Use the new functions to persist
        page setup and print settings.


svn path=/trunk/; revision=17697
2007-04-29 06:23:58 +00:00
Matthias Clasen
ea3667c49c Free the custom paper list. (#403267, Felix Riemann)
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkpagesetupunixdialog.c (gtk_page_setup_unix_dialog_finalize):
        Free the custom paper list.  (#403267, Felix Riemann)



svn path=/trunk/; revision=17695
2007-04-29 05:06:06 +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
fca708fb0e Fix mem leaks. Bug #389194.
2006-12-25  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkpagesetupunixdialog.c: (printer_status_cb),
	(add_custom_paper): Fix mem leaks. Bug #389194.
2006-12-25 12:03:44 +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
Carlos Garcia Campos
842b318306 Don't ignore reverse portrait option when is selected in page setup
2006-12-24  Carlos Garcia Campos  <carlosgc@gnome.org>
	* gtk/gtkpagesetupunixdialog.c: Don't ignore reverse portrait option
	when is selected in page setup dialog. Fixes bug #365047.
2006-12-24 11:30:22 +00:00
Matthias Clasen
70ae6a0e83 Apply a patch by Behdad Esfahbod to reduce relocations. (#359053)
2006-10-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/*.c, gdk/*.c: Apply a patch by Behdad Esfahbod to
        reduce relocations. (#359053)
2006-10-03 15:54:52 +00:00
Matthias Clasen
c42ab53bb1 Fix 344867 2006-06-14 16:48:07 +00:00
Matthias Clasen
01e3463f91 Cosmetic cleanups.
2006-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprintjob.c:
	* gtk/gtkprintbackend.c:
	* gtk/gtkpagesetupunixdialog.c:
	* gtk/gtkprintunixdialog.c: Cosmetic cleanups.
2006-06-12 04:39:55 +00:00
Matthias Clasen
f02a41b0dc Add docs 2006-06-01 03:14:27 +00:00
Alexander Larsson
df6580e5ff Remove request_details_tag with g_signal_handler_disconnect, not
2006-05-31  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkpagesetupunixdialog.c:
	Remove request_details_tag with g_signal_handler_disconnect,
	not g_source_remove. (#343475)
2006-05-31 13:43:42 +00:00
Matthias Clasen
90fe503804 Don't run the custom page size dialog. (#340444, Christian Persch)
2006-05-31  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpagesetupunixdialog.c: Don't run the custom page
	size dialog.  (#340444, Christian Persch)
2006-05-31 04:45:37 +00:00
Matthias Clasen
968149a995 Add labels for page orientations, also add the fourth one. (#339589)
2006-05-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpagesetupunixdialog.c (populate_dialog): Add labels
	for page orientations, also add the fourth one.  (#339589)

	* gtk/stock-icons/24/gtk-orientation-reverse-portrait.png: New
	icon.

	* gtk/Makefile.am: Add it here.

	* gtk/gtkstock.[hc]: Add stock items for the page orientations.
2006-05-16 15:23:01 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
2c4d8aa868 Don't include langinfo.h unconditionally. (#341217)
2006-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpagesetupunixdialog.c: Don't include langinfo.h
	unconditionally.  (#341217)
2006-05-10 12:21:01 +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
66af313a0f Beautify the custom paper size dialog. (#339590, patch by Christian
2006-05-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpagesetupunixdialog.c: Beautify the custom
	paper size dialog.  (#339590, patch by Christian Persch)
2006-05-03 17:09:39 +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
5ead07e1b2 Remove spew.
2006-04-24  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkpagesetupunixdialog.c (update_combo_sensitivity_from_printers):
	Remove spew.
2006-04-24 15:53:47 +00:00
Matthias Clasen
16eadc829a Remove redundant code.
2006-04-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpagesetupunixdialog.c (gtk_page_setup_unix_dialog_get_page_setup):
	Remove redundant code.
2006-04-24 15:08:18 +00:00
Matthias Clasen
935482e3b2 Add gtkprintutils.[hc]
2006-04-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/Makefile.am: Add gtkprintutils.[hc]

	* gtk/gtkprintutils.[hc]: New files, move the unit conversion
	functions here.

	* gtk/gtkpagesetupunixdialog.c:
	* gtk/gtkprintsettings.c:
	* gtk/gtkpagesetup.c:
	* gtk/gtkpapersize.c: Replace all static copies of to_mm/from_mm
	by the copies in gtkprintutils.c.

	* gtk/gtkpagesetup.[hc]: Use g types, add documentation.
2006-04-23 05:48:04 +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