This functionality adds a new 'Printer Profile' entry to the 'Color' page in the
UNIX print dialog if colord support is enabled.
This shows the user what color profile will be used for the settings they have
selected, and if no profile or the default profile is going to be used.
We are deliberately not allowing the user to _change_ the selected profile, as
the ICC profile is an implementation detail, and we should not change the other
print settings based on the characterization state.
The OpenICC group broadly recommend showing the profile that is used, so that
power users can be sure the correct profile is being used at the right time.
Normal users won't care, as they don't know how horrible the color match is
without profiling the printer and media.
At the same time, change the library sonames for -3.0 to just -3.
This is necessary since the 2.99 releases installed libraries like
libgtk-3.0.so.0.9903.0, and we want to prevent the library version
number from jumping back. So 3.0 will have libgtk-3.so.0.0.0.
This commit does a number of things:
- remove some dead wchar configury from configure.ac and gdkconfig.h
- repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo
macros for each included backend, include it in gdk.h and install
it in $includedir instead of below $libdir
- drop the backend from the library names
- build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la
It does not yet enable building multiple backends at the same time.
Set default directory to G_USER_DIRECTORY_DOCUMENTS
when printing to file backend and fallback to the current
directory when it is not available (#633896).
gcc warns if you switch on values that are not part of the enum you're
switching on. So handle those cases in the default handler by using if
statments.
PS: Someone file a bug against cups about this?
Parse options job-sheets, job-hold-until and sides correctly.
Add get_lpoption_name() for translation of lpoption names to
gtk option names. Usable for options which values don't need
conversion (e.g. number-up, number-up-layout, job-billing
and job-priority).
Rename array option_names to ppd_option_names to reflect its
purpose better. Rename get_option_name() to get_ppd_option_name()
because of the same reason.
Preferrably should be made just into a local variable for libgtk like
_gdk_debug_flags for libgdk. But for now used by
gtk/tests/textbuffer.c and modules/printbackends/cups/gtkprintbackendcups.c.
CUPS backend shouldn't handle "connecting-to-device" state reason.
It shows "Printer '%s' may not be connected" for this state,
which is not true in almost all cases. Better is to use
"printer-state-message" which contains correct message (#622011).
Reading of PPD files collides with getting list of printers.
It helps to give higher priority to getting of PPDs than to
getting list of printers (#614581).
In particular, rename
- libraries to lib*-3.0.so
- pc files to *-3.0.pc
- include paths to /usr/include/gtk-3.0/*
- module paths to /usr/lib/gtk-3.0/*
- rc files names to gtk-3.0/gtkrc
- commandline utilities to *-3.0
- adjust documentation
Also change the install location for unix-print headers to
/usr/include/gtk-3.0/unix-print/gtk.
Either g_type_register_static_simple (used by G_DEFINE_TYPE_EXTENDED)
and G_IMPLEMENT_INTERFACE use automatic variables for GTypeInfo and
GInterfaceInfo structs, while tutorials and source code often use
static variables. This commit consistently adopts the former method.
https://bugzilla.gnome.org/show_bug.cgi?id=600158
Check for 'auth-info-required' attribute from printer attributes to
find out whether an authentization of user is needed.
Change password dialog of print backend to be able to require informations
requested thru 'auth-info-required' (#566522).
This patch tests availability of remote host before getting ppd file
for selected printer (#586207). It also adds a state message for
failure of getting details.
When a SIGPIPE signal is raised during printing with lpr,
application should not be killed by the signal but a standard
error-workflow should be performed (bug #503776).
Change default values returned by gtk_print_settings_get_printer_lpi()
and gtk_print_settings_get_resolution{_x, _y}(). New values are 150 for
lpi and 300 for resolution (instead of 0) (#590861).
Print when Enter pressed in Name entry or Command Line entry in the
print dialog (#564695).
Add gtk_printer_option_set_activates_default() function and
gtk_printer_option_get_activates_default() function to control
behaviour of GtkPrinterOptionWidget.
Add test for EISCONN error when testing whether a connection to CUPS server
is available (#576678 - patch by mark@ecs.vuw.ac.nz).
Signed-off-by: Marek Kasik <mkasik@redhat.com>
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".
Adds authentication support of CUPS backend against CUPS server.
Print dialog is now capable to ask user for password and pass it
to the CUPS server. It is also possible to authenticate user
through Kerberos (GSS-API) (#384940).
2009-02-12 Marek Kasik <mkasik@redhat.com>
Bug 568571 – Asian am/pm format on cups print backend's time parsing
* modules/printbackends/cups/gtkprintbackendcups.c: Add Asian am/pm
format into formats recognized by CUPS backend
svn path=/trunk/; revision=22319
2009-02-10 Takao Fujiwara <takao.fujiwara@sun.com>
Bug 571015 libprintbackend-cups has unlocalized strings
* modules/printbackends/cups/gtkprintbackendcups.c:
Added a translator comment with the request of translators.
svn path=/trunk/; revision=22304
2009-01-21 Marek Kasik <mkasik@redhat.com>
Bug 561801 - "scheduled printing" doesn't function as expected
* gtk/gtkprintunixdialog: Add tooltip.
* modules/printbackends/cups/gtkprintbackendcups.c: Add conversion
from local time to utc time for scheduled printing.
svn path=/trunk/; revision=22158
2008-10-30 Marek Kasik <mkasik@redhat.com>
Bug 339714 - Set printer dpi on cairo ps/pdf surfaces when printing
* gtk/gtk.symbols
* gtk/gtkprintsettings.c
* gtk/gtkprintsettings.h
* docs/reference/gtk/gtk-sections.txt
* modules/printbackends/file/gtkprintbackendfile.c
* modules/printbackends/test/gtkprintbackendtest.c
* modules/printbackends/cups/gtkprintbackendcups.c
* modules/printbackends/lpr/gtkprintbackendlpr.c:
Added lpi (lines per inch) setting to GtkPrintSettings and support
for anamorphic dpi. Surface fallback resolution is set to 2*lpi.
svn path=/trunk/; revision=21733
2008-09-30 Marek Kasik <mkasik@redhat.com>
Bug 344522 – support non-local destination files (GtkPrint):
* gtk/gtkprintunixdialog.c
* gtk/gtkprinteroptionwidget.c: Process URI instead of filename.
* modules/printbackends/file/gtkprintbackendfile.c: Add ability
to save files on non-local filesystems.
svn path=/trunk/; revision=21552
2008-09-25 Marek Kasik <mkasik@redhat.com>
Bug 553241 – double freed pointer in lpr_write cause firefox3 crash
* modules/printbackends/lpr/gtkprintbackendlpr.c:
The redundant freeing of memory was removed.
Patch by Chris Wang
svn path=/trunk/; revision=21516
2008-09-17 Matthias Clasen <mclasen@redhat.com>
Bug 346903 – gtk_enumerate_printers needs events to complete
* gtk/gtkprintbackend.h:
* gtk/gtkprintbackend.c: Add a GtkPrintBackend::status property.
* modules/printbackends/cups/gtkcupsutils.h:
* modules/printbackends/cups/gtkcupsutils.c: Turn the connection
test into a tristate available/unavailable/in progress.
* modules/printbackends/cups/gtkprintbackendcups.c: Use a single
connection test instance for getting the default printer and for
getting the printer list. Set the GtkPrintBackend::status property
according to the result of the connection test. Use the printer-type
attribute to find the default printer, if cups supports it.
* gtk/gtkprinter.c: When enumerating printers, give up when
the backend status is 'unavailable'.
* gtk/gtkprintunixdialog.c (printer_status_cb): Select the printer
when it is the default and nothing else has been selected yet.
svn path=/trunk/; revision=21417
2008-09-11 Marek Kasik <mkasik@redhat.com>
Bug 551378 - Print dialog: should try UDS when fetching PPD for
localhost
* modules/printbackends/cups/gtkprintbackendcups.c: Add ability
to get PPD file from CUPS through Unix domain socket
svn path=/trunk/; revision=21345
2008-08-21 Marek Kasik <mkasik@redhat.com>
Bug 535158 – can't rearrange the order of multi pages per side
* gtk/gtkprinter.c
* gtk/gtkprinter.h
* gtk/gtkprintunixdialog.c
* gtk/gtkprintsettings.c
* gtk/gtkprintsettings.h
* gtk/gtkenums.h
* modules/printbackends/cups/gtkprintbackendcups.c: Allow user to
specify layout of pages per sheet in number-up mode
svn path=/trunk/; revision=21175
Patch by Marek Kasik:
* modules/printbackends/cups/gtkprintbackendcups.c: Get the list of
available cover pages and the default front and back cover pages
from the cups server.
svn path=/trunk/; revision=20839
Patch by Marek Kasik, icons by Mike Langlie:
* gtk/gtk.symbols:
* gtk/gtkprintbackend.h:
* gtk/gtkprinter.[hc]: Add new paused and accepting-jobs properties
and getters/setters.
* gtk/gtkstock.h:
* gtk/gtkiconfactory.c:
* gtk/Makefile.am:
* gtk/stock-icons/{16,24}/gtk-print-paused.{png,svg}: New icon.
* modules/printbackends/cups/gtkprintbackendcups.c:
* gtk/gtkprintunixdialog.c: Handle paused and job-rejecting
printers.
svn path=/trunk/; revision=20838
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-29 Michael Natterer <mitch@imendio.org>
* gtk/Makefile.am
* gtk/gtkunixprint.h: add a single-include header for the unix
print stuff.
* gtk/gtkpagesetupunixdialog.h
* gtk/gtkprinter.h
* gtk/gtkprintjob.h
* gtk/gtkprintunixdialog.h: add single-include guards that #error
out if GTK_DISABLE_SINGLE_INCLUDES is defined and any of these
files is included individually.
* gtk/gtkprintbackend.h
* gtk/gtkprinter-private.h
* modules/printbackends/cups/gtkprintbackendcups.c
* modules/printbackends/cups/gtkprintercups.h
* modules/printbackends/lpr/gtkprintbackendlpr.c
* tests/buildertest.c
* tests/defaultvaluetest.c
* docs/tools/widgets.c: include <gtk/gtkunixprint.h> instead of
individual files.
svn path=/trunk/; revision=20230
* modules/printbackends/cups/gtkprintbackendcups.c
(cups_printer_create_cairo_surface): Fall back to PostScript level 2
if the printer does not support level 3. Patch by Marek Kašík.
svn path=/trunk/; revision=20203
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-05 Matthias Clasen <mclasen@redhat.com>
Apply a patch by Marek Kasik <mkasik@redhat.com> to display
more printer status information in the print dialog.
* modules/printbackends/cups/gtkprintbackendcups.c: Translate
printer-state-reasons into suitable messages and icons.
* gtk/stock-icons/16/gtk-print-error.{svg,png}:
* gtk/stock-icons/16/gtk-print-report.{svg,png}:
* gtk/stock-icons/16/gtk-print-warning.{svg,png}:
* gtk/Makefile.am:
* gtk/gtkstock.h: New stock icons to display printer state.
svn path=/trunk/; revision=20076
* modules/printbackend/cups/gtkprintbackendcups.c
(cups_printer_get_options): Fix the blacklist handling.
Patch by Marek Kašík.
svn path=/trunk/; revision=20058
2008-04-18 Michael Natterer <mitch@imendio.com>
* modules/printbackends/cups/gtkprintercups.[ch]
(gtk_printer_cups_get_ppd_name): change return value and local
variable to const gchar* to fix warning about discarding const
qualifier.
svn path=/trunk/; revision=20021
2008-03-12 Jens Granseuer <jensgr@gmx.net>
* modules/printbackends/cups/gtkprintbackendcups.c:
(cups_printer_prepare_for_print): Don't define variables in the
middle of a block. (#522067)
svn path=/trunk/; revision=19789
2008-03-12 Michael Natterer <mitch@imendio.com>
* modules/printbackends/cups/gtkprintbackendcups.c: include
<glib/gstdio.h> for g_fopen().
svn path=/trunk/; revision=19775
2008-03-11 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Use
g_ascii_formatd when formatting custom paper sizes, since
cups doesn't handle , as decimal separator. (#521548)
svn path=/trunk/; revision=19762