From 2abf387cae0cce4bf3a0a259ded28ef0269aec47 Mon Sep 17 00:00:00 2001 From: jlovell Date: Fri, 20 Oct 2006 18:36:23 +0000 Subject: [PATCH] Load cups into easysw/current. git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@224 a1ca3aef-8c08-0410-bb20-df032aa958be --- CHANGES.txt | 64 +- CREDITS.txt | 3 +- INSTALL.txt | 2 +- README.txt | 2 +- backend/scsi.c | 8 +- backend/snmp.c | 9 +- backend/usb-unix.c | 115 +- conf/mime.types | 8 +- config-scripts/cups-common.m4 | 16 +- config-scripts/cups-compiler.m4 | 43 +- config-scripts/cups-defaults.m4 | 6 +- config-scripts/cups-network.m4 | 13 +- config-scripts/cups-threads.m4 | 10 +- config.h.in | 12 +- cups/cups.h | 8 +- cups/dest.c | 72 +- cups/dir.c | 30 +- cups/file.c | 20 +- cups/mark.c | 47 +- cups/ppd.c | 118 +- cups/tempfile.c | 30 +- cups/testhttp.c | 6 +- cups/transcode.c | 7 +- desktop/cups.desktop | 4 +- doc/et/images/button-accept-jobs.gif | Bin 0 -> 595 bytes doc/et/images/button-add-class.gif | Bin 0 -> 443 bytes doc/et/images/button-add-printer.gif | Bin 0 -> 472 bytes doc/et/images/button-add-this-printer.gif | Bin 0 -> 563 bytes doc/et/images/button-cancel-all-jobs.gif | Bin 0 -> 636 bytes doc/et/images/button-cancel-job.gif | Bin 0 -> 513 bytes doc/et/images/button-change-settings.gif | Bin 0 -> 612 bytes doc/et/images/button-clean-print-heads.gif | Bin 0 -> 644 bytes doc/et/images/button-clear.gif | Bin 0 -> 419 bytes doc/et/images/button-continue.gif | Bin 0 -> 355 bytes doc/et/images/button-delete-class.gif | Bin 0 -> 506 bytes doc/et/images/button-delete-printer.gif | Bin 0 -> 522 bytes .../images/button-edit-configuration-file.gif | Bin 0 -> 721 bytes doc/et/images/button-export-samba.gif | Bin 0 -> 874 bytes doc/et/images/button-help.gif | Bin 0 -> 313 bytes doc/et/images/button-hold-job.gif | Bin 0 -> 451 bytes doc/et/images/button-manage-classes.gif | Bin 0 -> 523 bytes doc/et/images/button-manage-jobs.gif | Bin 0 -> 450 bytes doc/et/images/button-manage-printers.gif | Bin 0 -> 571 bytes doc/et/images/button-manage-server.gif | Bin 0 -> 541 bytes doc/et/images/button-modify-class.gif | Bin 0 -> 537 bytes doc/et/images/button-modify-printer.gif | Bin 0 -> 552 bytes doc/et/images/button-move-job.gif | Bin 0 -> 475 bytes doc/et/images/button-move-jobs.gif | Bin 0 -> 606 bytes doc/et/images/button-print-self-test-page.gif | Bin 0 -> 768 bytes doc/et/images/button-print-test-page.gif | Bin 0 -> 630 bytes doc/et/images/button-publish-printer.gif | Bin 0 -> 560 bytes doc/et/images/button-reject-jobs.gif | Bin 0 -> 649 bytes doc/et/images/button-release-job.gif | Bin 0 -> 534 bytes doc/et/images/button-restart-job.gif | Bin 0 -> 551 bytes doc/et/images/button-save-changes.gif | Bin 0 -> 709 bytes doc/et/images/button-search.gif | Bin 0 -> 329 bytes doc/et/images/button-set-allowed-users.gif | Bin 0 -> 753 bytes doc/et/images/button-set-as-default.gif | Bin 0 -> 742 bytes doc/et/images/button-set-printer-options.gif | Bin 0 -> 696 bytes doc/et/images/button-show-active.gif | Bin 0 -> 683 bytes doc/et/images/button-show-all.gif | Bin 0 -> 567 bytes doc/et/images/button-show-completed.gif | Bin 0 -> 683 bytes doc/et/images/button-show-next.gif | Bin 0 -> 556 bytes doc/et/images/button-show-previous.gif | Bin 0 -> 529 bytes doc/et/images/button-sort-ascending.gif | Bin 0 -> 607 bytes doc/et/images/button-sort-descending.gif | Bin 0 -> 624 bytes doc/et/images/button-start-class.gif | Bin 0 -> 537 bytes doc/et/images/button-start-printer.gif | Bin 0 -> 567 bytes doc/et/images/button-stop-class.gif | Bin 0 -> 491 bytes doc/et/images/button-stop-printer.gif | Bin 0 -> 500 bytes doc/et/images/button-unpublish-printer.gif | Bin 0 -> 638 bytes doc/et/images/button-use-default-config.gif | Bin 0 -> 903 bytes doc/et/images/button-view-access-log.gif | Bin 0 -> 687 bytes doc/et/images/button-view-error-log.gif | Bin 0 -> 550 bytes doc/et/images/button-view-page-log.gif | Bin 0 -> 576 bytes .../images/button-view-printable-version.gif | Bin 0 -> 758 bytes doc/et/index.html.in | 141 + doc/help/api-cups.html | 46 +- doc/help/api-httpipp.html | 3 +- doc/help/ref-cupsd-conf.html | 20 +- doc/help/spec-ppd.html | 20 +- filter/common.c | 115 +- filter/common.h | 7 +- filter/hpgl-prolog.c | 8 +- filter/imagetops.c | 8 +- filter/pstops.c | 100 +- filter/texttops.c | 8 +- locale/cups_de.po | 6 +- locale/cups_et.po | 2826 +++++++++++++++++ man/cupsaddsmb.man.in | 13 +- packaging/cups.list.in | 55 +- packaging/cups.spec.in | 23 +- pdftops/PSOutputDev.cxx | 55 +- scheduler/client.c | 26 +- scheduler/cups-lpd.c | 9 +- scheduler/dirsvc.c | 6 +- scheduler/ipp.c | 201 +- scheduler/job.c | 10 +- scheduler/log.c | 13 +- scheduler/subscriptions.c | 17 +- templates/et/add-class.tmpl | 33 + templates/et/add-printer.tmpl | 28 + templates/et/admin.tmpl | 77 + templates/et/choose-device.tmpl | 26 + templates/et/choose-make.tmpl | 42 + templates/et/choose-model.tmpl | 34 + templates/et/choose-serial.tmpl | 47 + templates/et/choose-uri.tmpl | 42 + templates/et/class-added.tmpl | 2 + templates/et/class-confirm.tmpl | 7 + templates/et/class-deleted.tmpl | 1 + templates/et/class-jobs-header.tmpl | 1 + templates/et/class-modified.tmpl | 2 + templates/et/classes-header.tmpl | 1 + templates/et/classes.tmpl | 54 + templates/et/edit-config.tmpl.in | 91 + templates/et/error-op.tmpl | 3 + templates/et/error.tmpl | 3 + templates/et/header.tmpl.in | 63 + templates/et/help-header.tmpl | 46 + templates/et/help-printable.tmpl | 11 + templates/et/job-cancel.tmpl | 1 + templates/et/job-hold.tmpl | 1 + templates/et/job-moved.tmpl | 2 + templates/et/job-release.tmpl | 1 + templates/et/job-restart.tmpl | 1 + templates/et/jobs-header.tmpl | 15 + templates/et/jobs.tmpl | 42 + templates/et/maintenance.tmpl | 2 + templates/et/modify-class.tmpl | 34 + templates/et/modify-printer.tmpl | 29 + templates/et/norestart.tmpl | 1 + templates/et/option-boolean.tmpl | 6 + templates/et/option-conflict.tmpl | 7 + templates/et/option-header.tmpl | 3 + templates/et/option-pickmany.tmpl | 6 + templates/et/option-pickone.tmpl | 6 + templates/et/option-trailer.tmpl | 5 + templates/et/pager.tmpl | 7 + templates/et/printer-accept.tmpl | 3 + templates/et/printer-added.tmpl | 2 + templates/et/printer-configured.tmpl | 2 + templates/et/printer-confirm.tmpl | 7 + templates/et/printer-default.tmpl | 6 + templates/et/printer-deleted.tmpl | 1 + templates/et/printer-jobs-header.tmpl | 1 + templates/et/printer-modified.tmpl | 2 + templates/et/printer-purge.tmpl | 3 + templates/et/printer-reject.tmpl | 3 + templates/et/printer-start.tmpl | 3 + templates/et/printer-stop.tmpl | 3 + templates/et/printers-header.tmpl | 1 + templates/et/printers.tmpl | 64 + templates/et/restart.tmpl | 1 + templates/et/samba-export.tmpl | 55 + templates/et/samba-exported.tmpl | 1 + templates/et/search.tmpl | 13 + templates/et/set-printer-options-header.tmpl | 3 + templates/et/set-printer-options-trailer.tmpl | 1 + templates/et/test-page.tmpl | 2 + templates/et/trailer.tmpl | 21 + templates/et/users.tmpl | 26 + 162 files changed, 4955 insertions(+), 441 deletions(-) create mode 100644 doc/et/images/button-accept-jobs.gif create mode 100644 doc/et/images/button-add-class.gif create mode 100644 doc/et/images/button-add-printer.gif create mode 100644 doc/et/images/button-add-this-printer.gif create mode 100644 doc/et/images/button-cancel-all-jobs.gif create mode 100644 doc/et/images/button-cancel-job.gif create mode 100644 doc/et/images/button-change-settings.gif create mode 100644 doc/et/images/button-clean-print-heads.gif create mode 100644 doc/et/images/button-clear.gif create mode 100644 doc/et/images/button-continue.gif create mode 100644 doc/et/images/button-delete-class.gif create mode 100644 doc/et/images/button-delete-printer.gif create mode 100644 doc/et/images/button-edit-configuration-file.gif create mode 100644 doc/et/images/button-export-samba.gif create mode 100644 doc/et/images/button-help.gif create mode 100644 doc/et/images/button-hold-job.gif create mode 100644 doc/et/images/button-manage-classes.gif create mode 100644 doc/et/images/button-manage-jobs.gif create mode 100644 doc/et/images/button-manage-printers.gif create mode 100644 doc/et/images/button-manage-server.gif create mode 100644 doc/et/images/button-modify-class.gif create mode 100644 doc/et/images/button-modify-printer.gif create mode 100644 doc/et/images/button-move-job.gif create mode 100644 doc/et/images/button-move-jobs.gif create mode 100644 doc/et/images/button-print-self-test-page.gif create mode 100644 doc/et/images/button-print-test-page.gif create mode 100644 doc/et/images/button-publish-printer.gif create mode 100644 doc/et/images/button-reject-jobs.gif create mode 100644 doc/et/images/button-release-job.gif create mode 100644 doc/et/images/button-restart-job.gif create mode 100644 doc/et/images/button-save-changes.gif create mode 100644 doc/et/images/button-search.gif create mode 100644 doc/et/images/button-set-allowed-users.gif create mode 100644 doc/et/images/button-set-as-default.gif create mode 100644 doc/et/images/button-set-printer-options.gif create mode 100644 doc/et/images/button-show-active.gif create mode 100644 doc/et/images/button-show-all.gif create mode 100644 doc/et/images/button-show-completed.gif create mode 100644 doc/et/images/button-show-next.gif create mode 100644 doc/et/images/button-show-previous.gif create mode 100644 doc/et/images/button-sort-ascending.gif create mode 100644 doc/et/images/button-sort-descending.gif create mode 100644 doc/et/images/button-start-class.gif create mode 100644 doc/et/images/button-start-printer.gif create mode 100644 doc/et/images/button-stop-class.gif create mode 100644 doc/et/images/button-stop-printer.gif create mode 100644 doc/et/images/button-unpublish-printer.gif create mode 100644 doc/et/images/button-use-default-config.gif create mode 100644 doc/et/images/button-view-access-log.gif create mode 100644 doc/et/images/button-view-error-log.gif create mode 100644 doc/et/images/button-view-page-log.gif create mode 100644 doc/et/images/button-view-printable-version.gif create mode 100644 doc/et/index.html.in create mode 100644 locale/cups_et.po create mode 100644 templates/et/add-class.tmpl create mode 100644 templates/et/add-printer.tmpl create mode 100644 templates/et/admin.tmpl create mode 100644 templates/et/choose-device.tmpl create mode 100644 templates/et/choose-make.tmpl create mode 100644 templates/et/choose-model.tmpl create mode 100644 templates/et/choose-serial.tmpl create mode 100644 templates/et/choose-uri.tmpl create mode 100644 templates/et/class-added.tmpl create mode 100644 templates/et/class-confirm.tmpl create mode 100644 templates/et/class-deleted.tmpl create mode 100644 templates/et/class-jobs-header.tmpl create mode 100644 templates/et/class-modified.tmpl create mode 100644 templates/et/classes-header.tmpl create mode 100644 templates/et/classes.tmpl create mode 100644 templates/et/edit-config.tmpl.in create mode 100644 templates/et/error-op.tmpl create mode 100644 templates/et/error.tmpl create mode 100644 templates/et/header.tmpl.in create mode 100644 templates/et/help-header.tmpl create mode 100644 templates/et/help-printable.tmpl create mode 100644 templates/et/job-cancel.tmpl create mode 100644 templates/et/job-hold.tmpl create mode 100644 templates/et/job-moved.tmpl create mode 100644 templates/et/job-release.tmpl create mode 100644 templates/et/job-restart.tmpl create mode 100644 templates/et/jobs-header.tmpl create mode 100644 templates/et/jobs.tmpl create mode 100644 templates/et/maintenance.tmpl create mode 100644 templates/et/modify-class.tmpl create mode 100644 templates/et/modify-printer.tmpl create mode 100644 templates/et/norestart.tmpl create mode 100644 templates/et/option-boolean.tmpl create mode 100644 templates/et/option-conflict.tmpl create mode 100644 templates/et/option-header.tmpl create mode 100644 templates/et/option-pickmany.tmpl create mode 100644 templates/et/option-pickone.tmpl create mode 100644 templates/et/option-trailer.tmpl create mode 100644 templates/et/pager.tmpl create mode 100644 templates/et/printer-accept.tmpl create mode 100644 templates/et/printer-added.tmpl create mode 100644 templates/et/printer-configured.tmpl create mode 100644 templates/et/printer-confirm.tmpl create mode 100644 templates/et/printer-default.tmpl create mode 100644 templates/et/printer-deleted.tmpl create mode 100644 templates/et/printer-jobs-header.tmpl create mode 100644 templates/et/printer-modified.tmpl create mode 100644 templates/et/printer-purge.tmpl create mode 100644 templates/et/printer-reject.tmpl create mode 100644 templates/et/printer-start.tmpl create mode 100644 templates/et/printer-stop.tmpl create mode 100644 templates/et/printers-header.tmpl create mode 100644 templates/et/printers.tmpl create mode 100644 templates/et/restart.tmpl create mode 100644 templates/et/samba-export.tmpl create mode 100644 templates/et/samba-exported.tmpl create mode 100644 templates/et/search.tmpl create mode 100644 templates/et/set-printer-options-header.tmpl create mode 100644 templates/et/set-printer-options-trailer.tmpl create mode 100644 templates/et/test-page.tmpl create mode 100644 templates/et/trailer.tmpl create mode 100644 templates/et/users.tmpl diff --git a/CHANGES.txt b/CHANGES.txt index de49e923b..9762462f4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,68 @@ -CHANGES.txt - 2006-09-21 +CHANGES.txt - 2006-10-20 ------------------------ +CHANGES IN CUPS V1.2.5 + + - Documentation updates (STR #2038) + - The SNMP backend no longer uses IPP for Epson printers + (STR #2028) + - Updated the configure script for Tru64 UNIX 5.1 (STR + #2033) + - Tru64 5.1B's getaddrinfo() and getnameinfo() functions + leak file descriptors (STR #2034) + - cupsAddDest() didn't add the parent destination's + options and attributes. + - ppdConflicts() did not handle custom option + constraints. + - Raw printing of gzip'd files did not work (STR #2009) + - The scheduler no longer preserves default option + choices when the new PPD no longer provides the old + default choice (STR #1929) + - The Linux SCSI backend is now only built if the SCSI + development headers are installed. + - USB printing to Minolta printers did not work (STR + #2019) + - Windows clients could not monitor the queue status (STR + #2006) + - The scheduler didn't log the operation name in the + access_log file for Create-Job and Print-Job requests. + - The PostScript filter now separates collated copies + with any required JCL commands so that JCL-based + finishing options act on the individual copies and not + all of the copies as a single document. + - The PostScript filter now disables duplex printing when + printing a 1-page document. + - cups-lpd didn't pass the correct + job-originating-host-name value (STR #2023) + - Fixed some speling errors in the German message catalog + (STR #2012) + - cupstestppd did not catch PPD files with bad + UIConstraints values (STR #2016) + - The USB backend did not work with the current udev- + created printers if the first printer was disconnected + (STR #2017) + - Mirrored and rotated printing did not work with some + documents (STR #2004) + - 2-sided printing with banners did not work properly on + some printers (STR #2018) + - Updated the raw type rule to handle PJL within the + first 4k of a print job (STR #1969) + - Added an Estonian translation (STR #1957) + - Clarified the documentation for the cupsd.conf @LOCAL + and @IF(name) allow/deny functionality (STR #1992) + - The PostScript filters did not escape the Title and For + comments in the print job header (STR #1988) + - The scheduler would use 100% CPU if browsing was + disabled and the cupsd.conf file contained BrowsePoll + lines (STR #1994) + - The cupsDirRead() function did not work properly on + non-POSIX-compliant systems (STR #2001) + - The cupsFile functions didn't handle read/write errors + properly (STR #1996) + - The DBUS support now works with older versions of the + DBUS library. + + CHANGES IN CUPS V1.2.4 - The --with-printcap configure option did not work (STR diff --git a/CREDITS.txt b/CREDITS.txt index 27722e232..09db1ccb7 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -1,4 +1,4 @@ -CREDITS.txt - 2006-04-17 +CREDITS.txt - 2006-10-02 ------------------------ Few projects are completed by one person, and CUPS is no exception. We'd @@ -20,6 +20,7 @@ like to thank the following individuals for their contributions: testing. Kiko - Bug fixes. Sergey V. Kovalyov - ESP Print Pro and CUPS beta tester. + Marek Laane - Estonian translation. Mark Lawrence - Microsoft interoperability testing. Jeff Licquia - Bug fixes, beta testing, evangelism. Jason McMullan - Original CUPS RPM distributions. diff --git a/INSTALL.txt b/INSTALL.txt index df6022b46..e7c8e40c8 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -1,4 +1,4 @@ -INSTALL - CUPS v1.2.0 - 2006-05-08 +INSTALL - CUPS v1.2.5 - 2006-10-20 ---------------------------------- This file describes how to compile and install CUPS from source diff --git a/README.txt b/README.txt index 34983cd94..b4d96744d 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -README - CUPS v1.2.3 - 2006-08-28 +README - CUPS v1.2.5 - 2006-10-20 --------------------------------- Looking for compile instructions? Read the file "INSTALL.txt" diff --git a/backend/scsi.c b/backend/scsi.c index 06a088899..fd06127d7 100644 --- a/backend/scsi.c +++ b/backend/scsi.c @@ -1,5 +1,5 @@ /* - * "$Id: scsi.c 5023 2006-01-29 14:39:44Z mike $" + * "$Id: scsi.c 6032 2006-10-12 19:19:47Z mike $" * * SCSI printer backend for the Common UNIX Printing System (CUPS). * @@ -80,7 +80,7 @@ void list_devices(void); int print_device(const char *resource, int fd, int copies); -#ifdef __linux__ +#if defined(__linux__) && defined(HAVE_SCSI_SG_H) # include "scsi-linux.c" #elif defined(__sgi) # include "scsi-irix.c" @@ -90,7 +90,7 @@ int print_device(const char *resource, int fd, int copies); */ void list_devices(void) {} int print_device(const char *resource, int fd, int copies) { return (CUPS_BACKEND_FAILED); } -#endif /* __linux */ +#endif /* __linux && HAVE_SCSI_SG_H */ /* @@ -220,5 +220,5 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */ /* - * End of "$Id: scsi.c 5023 2006-01-29 14:39:44Z mike $". + * End of "$Id: scsi.c 6032 2006-10-12 19:19:47Z mike $". */ diff --git a/backend/snmp.c b/backend/snmp.c index c1af7cefc..f2a2b893f 100644 --- a/backend/snmp.c +++ b/backend/snmp.c @@ -1,5 +1,5 @@ /* - * "$Id: snmp.c 5976 2006-09-20 22:46:15Z mike $" + * "$Id: snmp.c 6049 2006-10-20 15:07:21Z mike $" * * SNMP discovery backend for the Common UNIX Printing System (CUPS). * @@ -1728,13 +1728,14 @@ probe_device(snmp_cache_t *device) /* I - Device */ debug_printf("DEBUG: %.3f Probing %s...\n", run_time(), device->addrname); if (device->make_and_model && - (!strncasecmp(device->make_and_model, "Kyocera", 7) || + (!strncasecmp(device->make_and_model, "Epson", 5) || + !strncasecmp(device->make_and_model, "Kyocera", 7) || !strncasecmp(device->make_and_model, "Lexmark", 7) || !strncasecmp(device->make_and_model, "Tektronix", 9) || !strncasecmp(device->make_and_model, "Xerox", 5))) { /* - * Kyocera, Lexmark, Tektronix, and Xerox printers often lock up on + * Epson, Kyocera, Lexmark, Tektronix, and Xerox printers often lock up on * IPP probes, so exclude them from the IPP connection test... */ @@ -2454,5 +2455,5 @@ update_cache(snmp_cache_t *device, /* I - Device */ /* - * End of "$Id: snmp.c 5976 2006-09-20 22:46:15Z mike $". + * End of "$Id: snmp.c 6049 2006-10-20 15:07:21Z mike $". */ diff --git a/backend/usb-unix.c b/backend/usb-unix.c index 94544df5e..47b2cf1f0 100644 --- a/backend/usb-unix.c +++ b/backend/usb-unix.c @@ -1,5 +1,5 @@ /* - * "$Id: usb-unix.c 5726 2006-07-12 20:00:11Z mike $" + * "$Id: usb-unix.c 6032 2006-10-12 19:19:47Z mike $" * * USB port backend for the Common UNIX Printing System (CUPS). * @@ -79,12 +79,13 @@ print_device(const char *uri, /* I - Device URI */ do { /* - * Disable backchannel data when printing to Canon USB printers - apparently - * Canon printers will return the IEEE-1284 device ID over and over and over - * when they get a read request... + * Disable backchannel data when printing to Canon or Minolta USB + * printers - apparently these printers will return the IEEE-1284 + * device ID over and over and over when they get a read request... */ - use_bc = strcasecmp(hostname, "Canon") != 0; + use_bc = strcasecmp(hostname, "Canon") != 0 || + strstr(hostname, "Minolta") != NULL; if ((device_fd = open_device(uri, &use_bc)) == -1) { @@ -185,44 +186,52 @@ void list_devices(void) { #ifdef __linux - int i; /* Looping var */ - int fd; /* File descriptor */ - char format[255], /* Format for device filename */ - device[255], /* Device filename */ - device_id[1024], /* Device ID string */ - device_uri[1024], /* Device URI string */ - make_model[1024]; /* Make and model */ - - - /* - * First figure out which USB printer filename to use... - */ - - if (!access("/dev/usblp0", 0)) - strcpy(format, "/dev/usblp%d"); - else if (!access("/dev/usb/usblp0", 0)) - strcpy(format, "/dev/usb/usblp%d"); - else - strcpy(format, "/dev/usb/lp%d"); + int i; /* Looping var */ + int fd; /* File descriptor */ + char device[255], /* Device filename */ + device_id[1024], /* Device ID string */ + device_uri[1024], /* Device URI string */ + make_model[1024]; /* Make and model */ /* - * Then open each USB device... + * Try to open each USB device... */ for (i = 0; i < 16; i ++) { - sprintf(device, format, i); + /* + * Linux has a long history of changing the standard filenames used + * for USB printer devices. We get the honor of trying them all... + */ - if ((fd = open(device, O_RDWR | O_EXCL)) >= 0) + sprintf(device, "/dev/usblp%d", i); + + if ((fd = open(device, O_RDWR | O_EXCL)) < 0) { - if (!backendGetDeviceID(fd, device_id, sizeof(device_id), - make_model, sizeof(make_model), - "usb", device_uri, sizeof(device_uri))) - printf("direct %s \"%s\" \"%s USB #%d\" \"%s\"\n", device_uri, - make_model, make_model, i + 1, device_id); + if (errno != ENOENT) + continue; - close(fd); + sprintf(device, "/dev/usb/lp%d", i); + + if ((fd = open(device, O_RDWR | O_EXCL)) < 0) + { + if (errno != ENOENT) + continue; + + sprintf(device, "/dev/usb/usblp%d", i); + + if ((fd = open(device, O_RDWR | O_EXCL)) < 0) + continue; + } } + + if (!backendGetDeviceID(fd, device_id, sizeof(device_id), + make_model, sizeof(make_model), + "usb", device_uri, sizeof(device_uri))) + printf("direct %s \"%s\" \"%s USB #%d\" \"%s\"\n", device_uri, + make_model, make_model, i + 1, device_id); + + close(fd); } #elif defined(__sgi) #elif defined(__sun) && defined(ECPPIOC_GETDEVID) @@ -309,35 +318,41 @@ open_device(const char *uri, /* I - Device URI */ int i; /* Looping var */ int busy; /* Are any ports busy? */ - char format[255], /* Format for device filename */ - device[255], /* Device filename */ + char device[255], /* Device filename */ device_id[1024], /* Device ID string */ make_model[1024], /* Make and model */ device_uri[1024]; /* Device URI string */ /* - * First figure out which USB printer filename to use... - */ - - if (!access("/dev/usblp0", 0)) - strcpy(format, "/dev/usblp%d"); - else if (!access("/dev/usb/usblp0", 0)) - strcpy(format, "/dev/usb/usblp%d"); - else - strcpy(format, "/dev/usb/lp%d"); - - /* - * Then find the correct USB device... + * Find the correct USB device... */ do { for (busy = 0, i = 0; i < 16; i ++) { - sprintf(device, format, i); + /* + * Linux has a long history of changing the standard filenames used + * for USB printer devices. We get the honor of trying them all... + */ + + sprintf(device, "/dev/usblp%d", i); + + if ((fd = open(device, O_RDWR | O_EXCL)) < 0 && errno == ENOENT) + { + sprintf(device, "/dev/usb/lp%d", i); + + if ((fd = open(device, O_RDWR | O_EXCL)) < 0 && errno == ENOENT) + { + sprintf(device, "/dev/usb/usblp%d", i); + + if ((fd = open(device, O_RDWR | O_EXCL)) < 0 && errno == ENOENT) + continue; + } + } - if ((fd = open(device, O_RDWR | O_EXCL)) >= 0) + if (fd >= 0) { backendGetDeviceID(fd, device_id, sizeof(device_id), make_model, sizeof(make_model), @@ -510,5 +525,5 @@ open_device(const char *uri, /* I - Device URI */ /* - * End of "$Id: usb-unix.c 5726 2006-07-12 20:00:11Z mike $". + * End of "$Id: usb-unix.c 6032 2006-10-12 19:19:47Z mike $". */ diff --git a/conf/mime.types b/conf/mime.types index 6f3d0467a..e5a522df5 100644 --- a/conf/mime.types +++ b/conf/mime.types @@ -1,5 +1,5 @@ # -# "$Id: mime.types 5402 2006-04-14 19:21:03Z mike $" +# "$Id: mime.types 6003 2006-10-02 16:26:04Z mike $" # # MIME types file for the Common UNIX Printing System (CUPS). # @@ -154,8 +154,8 @@ application/vnd.cups-raster string(0,"RaSt") string(0,"tSaR") application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B)) \ string(0,<1B>@) \ (contains(0,128,<1B>%-12345X) + \ - (contains(0,1024,"LANGUAGE=PCL") \ - contains(0,1024,"LANGUAGE = PCL"))) + (contains(0,4096,"LANGUAGE=PCL") \ + contains(0,4096,"LANGUAGE = PCL"))) ######################################################################## # @@ -167,5 +167,5 @@ application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B)) \ application/octet-stream # -# End of "$Id: mime.types 5402 2006-04-14 19:21:03Z mike $". +# End of "$Id: mime.types 6003 2006-10-02 16:26:04Z mike $". # diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4 index 5674a8d3a..8e1e29a28 100644 --- a/config-scripts/cups-common.m4 +++ b/config-scripts/cups-common.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-common.m4 5930 2006-09-07 19:49:34Z mike $" +dnl "$Id: cups-common.m4 6032 2006-10-12 19:19:47Z mike $" dnl dnl Common configuration stuff for the Common UNIX Printing System (CUPS). dnl @@ -29,7 +29,7 @@ dnl Set the name of the config header file... AC_CONFIG_HEADER(config.h) dnl Versio number information... -CUPS_VERSION="1.2.4" +CUPS_VERSION="1.2.5" CUPS_REVISION="" if test -z "$CUPS_REVISION" -a -d .svn; then CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`" @@ -132,6 +132,7 @@ AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H)) AC_CHECK_HEADER(bstring.h,AC_DEFINE(HAVE_BSTRING_H)) AC_CHECK_HEADER(usersec.h,AC_DEFINE(HAVE_USERSEC_H)) AC_CHECK_HEADER(sys/ioctl.h,AC_DEFINE(HAVE_SYS_IOCTL_H)) +AC_CHECK_HEADER(scsi/sg.h,AC_DEFINE(HAVE_SCSI_SG_H)) dnl Checks for string functions. AC_CHECK_FUNCS(strdup strcasecmp strncasecmp strlcat strlcpy) @@ -231,12 +232,13 @@ case $uname in AC_MSG_CHECKING(for DBUS) if $PKGCONFIG --exists dbus-1; then AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_DBUS) + CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE" + CUPSDLIBS="`$PKGCONFIG --libs dbus-1`" + DBUSDIR="/etc/dbus-1/system.d" AC_CHECK_LIB(dbus-1, dbus_message_iter_init_append, - AC_DEFINE(HAVE_DBUS) - CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE" - CUPSDLIBS="`$PKGCONFIG --libs dbus-1`" - DBUSDIR="/etc/dbus-1/system.d") + AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND)) else AC_MSG_RESULT(no) fi @@ -265,5 +267,5 @@ AC_SUBST(DEFAULT_IPP_PORT) AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT) dnl -dnl End of "$Id: cups-common.m4 5930 2006-09-07 19:49:34Z mike $". +dnl End of "$Id: cups-common.m4 6032 2006-10-12 19:19:47Z mike $". dnl diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4 index 7dc7b7052..f265d2ca0 100644 --- a/config-scripts/cups-compiler.m4 +++ b/config-scripts/cups-compiler.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-compiler.m4 5705 2006-06-30 01:07:29Z mike $" +dnl "$Id: cups-compiler.m4 6049 2006-10-20 15:07:21Z mike $" dnl dnl Compiler stuff for the Common UNIX Printing System (CUPS). dnl @@ -93,6 +93,7 @@ PIEFLAGS="" AC_SUBST(PIEFLAGS) if test -n "$GCC"; then + # Add GCC-specific compiler options... if test -z "$OPTIM"; then if test "x$with_optim" = x; then # Default to optimize-for-size and debug @@ -273,6 +274,7 @@ if test -n "$GCC"; then ;; esac else + # Add vendor-specific compiler options... case $uname in AIX*) if test -z "$OPTIM"; then @@ -358,6 +360,16 @@ else fi fi ;; + OSF*) + # Tru64 UNIX aka Digital UNIX aka OSF/1 + if test -z "$OPTIM"; then + if test "x$with_optim" = x; then + OPTIM="-O" + else + OPTIM="$with_optim" + fi + fi + ;; SunOS*) # Solaris if test -z "$OPTIM"; then @@ -449,16 +461,25 @@ else esac fi -if test $uname = HP-UX; then - # HP-UX 10.20 (at least) needs this definition to get the - # h_errno global... - OPTIM="$OPTIM -D_XOPEN_SOURCE_EXTENDED" - - # HP-UX 11.00 (at least) needs this definition to get the - # u_short type used by the IP headers... - OPTIM="$OPTIM -D_INCLUDE_HPUX_SOURCE" -fi +# Add general compiler options per platform... +case $uname in + HP-UX*) + # HP-UX 10.20 (at least) needs this definition to get the + # h_errno global... + OPTIM="$OPTIM -D_XOPEN_SOURCE_EXTENDED" + + # HP-UX 11.00 (at least) needs this definition to get the + # u_short type used by the IP headers... + OPTIM="$OPTIM -D_INCLUDE_HPUX_SOURCE" + ;; + + OSF*) + # Tru64 UNIX aka Digital UNIX aka OSF/1 need to be told + # to be POSIX-compliant... + OPTIM="$OPTIM -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_OSF_SOURCE" + ;; +esac dnl -dnl End of "$Id: cups-compiler.m4 5705 2006-06-30 01:07:29Z mike $". +dnl End of "$Id: cups-compiler.m4 6049 2006-10-20 15:07:21Z mike $". dnl diff --git a/config-scripts/cups-defaults.m4 b/config-scripts/cups-defaults.m4 index 15d75de1e..786411680 100644 --- a/config-scripts/cups-defaults.m4 +++ b/config-scripts/cups-defaults.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-defaults.m4 5980 2006-09-21 19:01:55Z mike $" +dnl "$Id: cups-defaults.m4 6003 2006-10-02 16:26:04Z mike $" dnl dnl Default cupsd configuration settings for the Common UNIX Printing System dnl (CUPS). @@ -28,7 +28,7 @@ AC_ARG_WITH(languages, [ --with-languages set installed languages, defau if test "x$withval" != xno; then LANGUAGES="$withval" fi, - LANGUAGES="de es ja pl sv") + LANGUAGES="de es et ja pl sv") AC_SUBST(LANGUAGES) dnl Default ConfigFilePerm @@ -252,5 +252,5 @@ fi AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTCAP, "$CUPS_DEFAULT_PRINTCAP") dnl -dnl End of "$Id: cups-defaults.m4 5980 2006-09-21 19:01:55Z mike $". +dnl End of "$Id: cups-defaults.m4 6003 2006-10-02 16:26:04Z mike $". dnl diff --git a/config-scripts/cups-network.m4 b/config-scripts/cups-network.m4 index d30f4b90b..abe2ebcf0 100644 --- a/config-scripts/cups-network.m4 +++ b/config-scripts/cups-network.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-network.m4 5634 2006-06-06 17:48:27Z mike $" +dnl "$Id: cups-network.m4 6049 2006-10-20 15:07:21Z mike $" dnl dnl Networking stuff for the Common UNIX Printing System (CUPS). dnl @@ -24,12 +24,17 @@ dnl AC_SEARCH_LIBS(socket, socket) AC_SEARCH_LIBS(gethostbyaddr, nsl) -AC_SEARCH_LIBS(getaddrinfo, nsl, AC_DEFINE(HAVE_GETADDRINFO)) AC_SEARCH_LIBS(getifaddrs, nsl, AC_DEFINE(HAVE_GETIFADDRS)) -AC_SEARCH_LIBS(getnameinfo, nsl, AC_DEFINE(HAVE_GETNAMEINFO)) AC_SEARCH_LIBS(hstrerror, nsl socket resolv, AC_DEFINE(HAVE_HSTRERROR)) AC_SEARCH_LIBS(rresvport_af, nsl, AC_DEFINE(HAVE_RRESVPORT_AF)) +# Tru64 5.1b leaks file descriptors with these functions; disable until +# we can come up with a test for this... +if test "$uname" != "OSF1"; then + AC_SEARCH_LIBS(getaddrinfo, nsl, AC_DEFINE(HAVE_GETADDRINFO)) + AC_SEARCH_LIBS(getnameinfo, nsl, AC_DEFINE(HAVE_GETNAMEINFO)) +fi + AC_CHECK_MEMBER(struct sockaddr.sa_len,,, [#include ]) AC_CHECK_HEADER(sys/sockio.h, AC_DEFINE(HAVE_SYS_SOCKIO_H)) @@ -85,5 +90,5 @@ AC_SUBST(CUPS_DEFAULT_DOMAINSOCKET) AC_SUBST(CUPS_LISTEN_DOMAINSOCKET) dnl -dnl End of "$Id: cups-network.m4 5634 2006-06-06 17:48:27Z mike $". +dnl End of "$Id: cups-network.m4 6049 2006-10-20 15:07:21Z mike $". dnl diff --git a/config-scripts/cups-threads.m4 b/config-scripts/cups-threads.m4 index 47f76e2ae..55bb944b8 100644 --- a/config-scripts/cups-threads.m4 +++ b/config-scripts/cups-threads.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-threads.m4 5466 2006-04-26 19:52:27Z mike $" +dnl "$Id: cups-threads.m4 6012 2006-10-03 22:35:12Z mike $" dnl dnl Threading stuff for the Common UNIX Printing System (CUPS). dnl @@ -44,6 +44,12 @@ if test "x$enable_threads" != xno; then if test $have_pthread = yes; then PTHREAD_FLAGS="-D_THREAD_SAFE -D_REENTRANT" + + # Solaris requires _POSIX_PTHREAD_SEMANTICS to + # be POSIX-compliant... :( + if test $uname = SunOS; then + PTHREAD_FLAGS="$PTHREAD_FLAGS _POSIX_PTHREAD_SEMANTICS" + fi break fi done @@ -53,5 +59,5 @@ fi AC_SUBST(PTHREAD_FLAGS) dnl -dnl End of "$Id: cups-threads.m4 5466 2006-04-26 19:52:27Z mike $". +dnl End of "$Id: cups-threads.m4 6012 2006-10-03 22:35:12Z mike $". dnl diff --git a/config.h.in b/config.h.in index b4cd1b551..98dac2c62 100644 --- a/config.h.in +++ b/config.h.in @@ -1,5 +1,5 @@ /* - * "$Id: config.h.in 5630 2006-06-05 18:42:53Z mike $" + * "$Id: config.h.in 6032 2006-10-12 19:19:47Z mike $" * * Configuration file for the Common UNIX Printing System (CUPS). * @@ -147,6 +147,13 @@ #undef HAVE_CRYPT_H +/* + * Do we have ? + */ + +#undef HAVE_SCSI_SG_H + + /* * Use , , and/or ? */ @@ -434,6 +441,7 @@ */ #undef HAVE_DBUS +#undef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND /* @@ -446,5 +454,5 @@ #endif /* !_CUPS_CONFIG_H_ */ /* - * End of "$Id: config.h.in 5630 2006-06-05 18:42:53Z mike $". + * End of "$Id: config.h.in 6032 2006-10-12 19:19:47Z mike $". */ diff --git a/cups/cups.h b/cups/cups.h index ec4f21b96..c561dc19c 100644 --- a/cups/cups.h +++ b/cups/cups.h @@ -1,5 +1,5 @@ /* - * "$Id: cups.h 5930 2006-09-07 19:49:34Z mike $" + * "$Id: cups.h 5993 2006-09-29 12:57:31Z mike $" * * API definitions for the Common UNIX Printing System (CUPS). * @@ -61,10 +61,10 @@ extern "C" { * Constants... */ -# define CUPS_VERSION 1.0204 +# define CUPS_VERSION 1.0205 # define CUPS_VERSION_MAJOR 1 # define CUPS_VERSION_MINOR 2 -# define CUPS_VERSION_PATCH 4 +# define CUPS_VERSION_PATCH 5 # define CUPS_DATE_ANY -1 @@ -244,5 +244,5 @@ extern cups_file_t *cupsTempFile2(char *filename, int len); #endif /* !_CUPS_CUPS_H_ */ /* - * End of "$Id: cups.h 5930 2006-09-07 19:49:34Z mike $". + * End of "$Id: cups.h 5993 2006-09-29 12:57:31Z mike $". */ diff --git a/cups/dest.c b/cups/dest.c index faf8241b8..289456370 100644 --- a/cups/dest.c +++ b/cups/dest.c @@ -1,5 +1,5 @@ /* - * "$Id: dest.c 5753 2006-07-18 19:53:24Z mike $" + * "$Id: dest.c 6044 2006-10-17 20:32:59Z mike $" * * User-defined destination (and option) support for the Common UNIX * Printing System (CUPS). @@ -64,21 +64,31 @@ static int cups_get_sdests(http_t *http, ipp_op_t op, int num_dests, /* * 'cupsAddDest()' - Add a destination to the list of destinations. * - * Use the cupsSaveDests() function to save the updated list of destinations - * to the user's lpoptions file. + * This function cannot be used to add a new class or printer queue, + * it only adds a new container of saved options for the named + * destination or instance. + * + * If the named destination already exists, the destination list is + * returned unchanged. Adding a new instance of a destination creates + * a copy of that destination's options. + * + * Use the cupsSaveDests() function to save the updated list of + * destinations to the user's lpoptions file. */ int /* O - New number of destinations */ -cupsAddDest(const char *name, /* I - Name of destination */ - const char *instance, /* I - Instance of destination or NULL for none/primary */ +cupsAddDest(const char *name, /* I - Destination name */ + const char *instance, /* I - Instance name or NULL for none/primary */ int num_dests, /* I - Number of destinations */ cups_dest_t **dests) /* IO - Destinations */ { int i; /* Looping var */ cups_dest_t *dest; /* Destination pointer */ + cups_dest_t *parent; /* Parent destination */ + cups_option_t *option; /* Current option */ - if (name == NULL || dests == NULL) + if (!name || !dests) return (0); if ((dest = cupsGetDest(name, instance, num_dests, *dests)) != NULL) @@ -98,27 +108,53 @@ cupsAddDest(const char *name, /* I - Name of destination */ *dests = dest; + /* + * Find where to insert the destination... + */ + for (i = num_dests; i > 0; i --, dest ++) if (strcasecmp(name, dest->name) < 0) break; + else if (!instance && dest->instance) + break; else if (!strcasecmp(name, dest->name) && - instance != NULL && dest->instance != NULL && + instance && dest->instance && strcasecmp(instance, dest->instance) < 0) break; if (i > 0) memmove(dest + 1, dest, i * sizeof(cups_dest_t)); + /* + * Initialize the destination... + */ + dest->name = strdup(name); dest->is_default = 0; dest->num_options = 0; dest->options = (cups_option_t *)0; - if (instance == NULL) + if (!instance) dest->instance = NULL; else + { + /* + * Copy options from the primary instance... + */ + dest->instance = strdup(instance); + if ((parent = cupsGetDest(name, NULL, num_dests + 1, *dests)) != NULL) + { + for (i = parent->num_options, option = parent->options; + i > 0; + i --, option ++) + dest->num_options = cupsAddOption(option->name, option->value, + dest->num_options, + &(dest->options)); + } + } + return (num_dests + 1); } @@ -160,18 +196,18 @@ cupsFreeDests(int num_dests, /* I - Number of destinations */ */ cups_dest_t * /* O - Destination pointer or NULL */ -cupsGetDest(const char *name, /* I - Name of destination */ - const char *instance, /* I - Instance of destination */ +cupsGetDest(const char *name, /* I - Destination name or NULL for the default destination */ + const char *instance, /* I - Instance name or NULL */ int num_dests, /* I - Number of destinations */ cups_dest_t *dests) /* I - Destinations */ { int comp; /* Result of comparison */ - if (num_dests == 0 || dests == NULL) + if (num_dests <= 0 || !dests) return (NULL); - if (name == NULL) + if (!name) { /* * NULL name for default printer. @@ -198,9 +234,9 @@ cupsGetDest(const char *name, /* I - Name of destination */ return (NULL); else if (comp == 0) { - if ((instance == NULL && dests->instance == NULL) || + if ((!instance && !dests->instance) || (instance != NULL && dests->instance != NULL && - strcasecmp(instance, dests->instance) == 0)) + !strcasecmp(instance, dests->instance))) return (dests); } @@ -220,6 +256,9 @@ cupsGetDest(const char *name, /* I - Name of destination */ * printer-info, printer-is-accepting-jobs, printer-is-shared, * printer-make-and-model, printer-state, printer-state-change-time, * printer-state-reasons, and printer-type attributes as options. + * + * Use the cupsFreeDests() function to free the destination list and + * the cupsGetDest() function to find a particular destination. */ int /* O - Number of destinations */ @@ -252,6 +291,9 @@ cupsGetDests(cups_dest_t **dests) /* O - Destinations */ * printer-make-and-model, printer-state, printer-state-change-time, * printer-state-reasons, and printer-type attributes as options. * + * Use the cupsFreeDests() function to free the destination list and + * the cupsGetDest() function to find a particular destination. + * * @since CUPS 1.1.21@ */ @@ -1041,5 +1083,5 @@ cups_get_sdests(http_t *http, /* I - HTTP connection */ /* - * End of "$Id: dest.c 5753 2006-07-18 19:53:24Z mike $". + * End of "$Id: dest.c 6044 2006-10-17 20:32:59Z mike $". */ diff --git a/cups/dir.c b/cups/dir.c index 1b6bc4369..c130bd865 100644 --- a/cups/dir.c +++ b/cups/dir.c @@ -347,10 +347,12 @@ cupsDirOpen(const char *directory) /* I - Directory name */ cups_dentry_t * /* O - Directory entry */ cupsDirRead(cups_dir_t *dp) /* I - Directory */ { - char buffer[sizeof(struct dirent) + 1024]; - /* Directory entry buffer */ struct dirent *entry; /* Pointer to entry */ char filename[1024]; /* Full filename */ +# ifdef HAVE_PTHREAD_H + char buffer[sizeof(struct dirent) + 1024]; + /* Directory entry buffer */ +# endif /* HAVE_PTHREAD_H */ DEBUG_printf(("cupsDirRead(dp=%p)\n", dp)); @@ -368,6 +370,11 @@ cupsDirRead(cups_dir_t *dp) /* I - Directory */ for (;;) { +# ifdef HAVE_PTHREAD_H + /* + * Read the next entry using the reentrant version of readdir... + */ + if (readdir_r(dp->dir, (struct dirent *)buffer, &entry)) { DEBUG_printf((" readdir_r() failed - %s\n", strerror(errno))); @@ -382,6 +389,25 @@ cupsDirRead(cups_dir_t *dp) /* I - Directory */ DEBUG_printf((" readdir_r() returned \"%s\"...\n", entry->d_name)); +# else + /* + * Read the next entry using the original version of readdir... + */ + + if ((entry = readdir(dp->dir)) == NULL) + { + DEBUG_puts(" readdir() returned a NULL pointer!"); + return (NULL); + } + + DEBUG_printf((" readdir() returned \"%s\"...\n", entry->d_name)); + +# endif /* HAVE_PTHREAD_H */ + + /* + * Skip "." and ".."... + */ + if (!strcmp(entry->d_name, ".") || !strcmp(entry->d_name, "..")) continue; diff --git a/cups/file.c b/cups/file.c index 246972d76..f4bbf34e0 100644 --- a/cups/file.c +++ b/cups/file.c @@ -1,5 +1,5 @@ /* - * "$Id: file.c 5812 2006-08-09 22:42:51Z mike $" + * "$Id: file.c 5993 2006-09-29 12:57:31Z mike $" * * File functions for the Common UNIX Printing System (CUPS). * @@ -377,7 +377,7 @@ cupsFileFind(const char *filename, /* I - File to find */ int /* O - 0 on success, -1 on error */ cupsFileFlush(cups_file_t *fp) /* I - CUPS file */ { - size_t bytes; /* Bytes to write */ + ssize_t bytes; /* Bytes to write */ DEBUG_printf(("cupsFileFlush(fp=%p)\n", fp)); @@ -991,7 +991,7 @@ cupsFilePrintf(cups_file_t *fp, /* I - CUPS file */ ...) /* I - Additional args as necessary */ { va_list ap; /* Argument list */ - size_t bytes; /* Formatted size */ + ssize_t bytes; /* Formatted size */ char buf[8192]; /* Formatted text */ @@ -1090,7 +1090,7 @@ int /* O - Number of bytes written or -1 */ cupsFilePuts(cups_file_t *fp, /* I - CUPS file */ const char *s) /* I - String to write */ { - size_t bytes; /* Bytes to write */ + ssize_t bytes; /* Bytes to write */ /* @@ -1149,8 +1149,8 @@ cupsFileRead(cups_file_t *fp, /* I - CUPS file */ char *buf, /* O - Buffer */ size_t bytes) /* I - Number of bytes to read */ { - size_t total, /* Total bytes read */ - count; /* Bytes read */ + size_t total; /* Total bytes read */ + ssize_t count; /* Bytes read */ DEBUG_printf(("cupsFileRead(fp=%p, buf=%p, bytes=%ld)\n", fp, buf, @@ -1274,7 +1274,7 @@ off_t /* O - New file position or -1 */ cupsFileSeek(cups_file_t *fp, /* I - CUPS file */ off_t pos) /* I - Position in file */ { - size_t bytes; /* Number bytes in buffer */ + ssize_t bytes; /* Number bytes in buffer */ DEBUG_printf(("cupsFileSeek(fp=%p, pos=" CUPS_LLFMT ")\n", fp, pos)); @@ -2030,8 +2030,8 @@ cups_write(cups_file_t *fp, /* I - CUPS file */ const char *buf, /* I - Buffer */ size_t bytes) /* I - Number bytes */ { - size_t total, /* Total bytes written */ - count; /* Count this time */ + size_t total; /* Total bytes written */ + ssize_t count; /* Count this time */ DEBUG_printf(("cups_write(fp=%p, buf=%p, bytes=%ld)\n", fp, buf, @@ -2081,5 +2081,5 @@ cups_write(cups_file_t *fp, /* I - CUPS file */ /* - * End of "$Id: file.c 5812 2006-08-09 22:42:51Z mike $". + * End of "$Id: file.c 5993 2006-09-29 12:57:31Z mike $". */ diff --git a/cups/mark.c b/cups/mark.c index 6577c0bfc..2e9cbee55 100644 --- a/cups/mark.c +++ b/cups/mark.c @@ -1,5 +1,5 @@ /* - * "$Id: mark.c 5700 2006-06-26 19:20:39Z mike $" + * "$Id: mark.c 6036 2006-10-13 22:06:43Z mike $" * * Option marking routines for the Common UNIX Printing System (CUPS). * @@ -62,15 +62,14 @@ static void ppd_defaults(ppd_file_t *ppd, ppd_group_t *g); int /* O - Number of conflicts found */ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */ { - int i, j, k, /* Looping variables */ + int i, j, /* Looping variables */ conflicts; /* Number of conflicts */ ppd_const_t *c; /* Current constraint */ - ppd_group_t *g, *sg; /* Groups */ ppd_option_t *o1, *o2; /* Options */ ppd_choice_t *c1, *c2; /* Choices */ - if (ppd == NULL) + if (!ppd) return (0); /* @@ -79,15 +78,8 @@ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */ conflicts = 0; - for (i = ppd->num_groups, g = ppd->groups; i > 0; i --, g ++) - { - for (j = g->num_options, o1 = g->options; j > 0; j --, o1 ++) - o1->conflicted = 0; - - for (j = g->num_subgroups, sg = g->subgroups; j > 0; j --, sg ++) - for (k = sg->num_options, o1 = sg->options; k > 0; k --, o1 ++) - o1->conflicted = 0; - } + for (o1 = ppdFirstOption(ppd); o1; o1 = ppdNextOption(ppd)) + o1->conflicted = 0; /* * Loop through all of the UI constraints and flag any options @@ -102,9 +94,9 @@ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */ o1 = ppdFindOption(ppd, c->option1); - if (o1 == NULL) + if (!o1) continue; - else if (c->choice1[0] != '\0') + else if (c->choice1[0]) { /* * This constraint maps to a specific choice. @@ -122,10 +114,10 @@ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */ if (c1->marked) break; - if (j == 0 || - strcasecmp(c1->choice, "None") == 0 || - strcasecmp(c1->choice, "Off") == 0 || - strcasecmp(c1->choice, "False") == 0) + if (!j || + !strcasecmp(c1->choice, "None") || + !strcasecmp(c1->choice, "Off") || + !strcasecmp(c1->choice, "False")) c1 = NULL; } @@ -135,9 +127,9 @@ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */ o2 = ppdFindOption(ppd, c->option2); - if (o2 == NULL) + if (!o2) continue; - else if (c->choice2[0] != '\0') + else if (c->choice2[0]) { /* * This constraint maps to a specific choice. @@ -155,10 +147,10 @@ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */ if (c2->marked) break; - if (j == 0 || - strcasecmp(c2->choice, "None") == 0 || - strcasecmp(c2->choice, "Off") == 0 || - strcasecmp(c2->choice, "False") == 0) + if (!j || + !strcasecmp(c2->choice, "None") || + !strcasecmp(c2->choice, "Off") || + !strcasecmp(c2->choice, "False")) c2 = NULL; } @@ -166,8 +158,7 @@ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */ * If both options are marked then there is a conflict... */ - if (c1 != NULL && c1->marked && - c2 != NULL && c2->marked) + if (c1 && c1->marked && c2 && c2->marked) { DEBUG_printf(("%s->%s conflicts with %s->%s (%s %s %s %s)\n", o1->keyword, c1->choice, o2->keyword, c2->choice, @@ -686,5 +677,5 @@ ppd_defaults(ppd_file_t *ppd, /* I - PPD file */ /* - * End of "$Id: mark.c 5700 2006-06-26 19:20:39Z mike $". + * End of "$Id: mark.c 6036 2006-10-13 22:06:43Z mike $". */ diff --git a/cups/ppd.c b/cups/ppd.c index 15abaa807..9facfe6b9 100644 --- a/cups/ppd.c +++ b/cups/ppd.c @@ -1,5 +1,5 @@ /* - * "$Id: ppd.c 5826 2006-08-15 19:04:11Z mike $" + * "$Id: ppd.c 6036 2006-10-13 22:06:43Z mike $" * * PPD file routines for the Common UNIX Printing System (CUPS). * @@ -1549,6 +1549,18 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ goto error; case 2 : /* Two options... */ + /* + * Check for broken constraints like "* Option"... + */ + + if (cg->ppd_conform == PPD_CONFORM_STRICT && + (!strcmp(constraint->option1, "*") || + !strcmp(constraint->choice1, "*"))) + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } + /* * The following strcpy's are safe, as optionN and * choiceN are all the same size (size defined by PPD spec...) @@ -1556,17 +1568,38 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ if (constraint->option1[0] == '*') _cups_strcpy(constraint->option1, constraint->option1 + 1); + else if (cg->ppd_conform == PPD_CONFORM_STRICT) + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } if (constraint->choice1[0] == '*') _cups_strcpy(constraint->option2, constraint->choice1 + 1); - else - _cups_strcpy(constraint->option2, constraint->choice1); + else if (cg->ppd_conform == PPD_CONFORM_STRICT) + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } constraint->choice1[0] = '\0'; constraint->choice2[0] = '\0'; break; case 3 : /* Two options, one choice... */ + /* + * Check for broken constraints like "* Option"... + */ + + if (cg->ppd_conform == PPD_CONFORM_STRICT && + (!strcmp(constraint->option1, "*") || + !strcmp(constraint->choice1, "*") || + !strcmp(constraint->option2, "*"))) + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } + /* * The following _cups_strcpy's are safe, as optionN and * choiceN are all the same size (size defined by PPD spec...) @@ -1574,9 +1607,21 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ if (constraint->option1[0] == '*') _cups_strcpy(constraint->option1, constraint->option1 + 1); + else if (cg->ppd_conform == PPD_CONFORM_STRICT) + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } if (constraint->choice1[0] == '*') { + if (cg->ppd_conform == PPD_CONFORM_STRICT && + constraint->option2[0] == '*') + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } + _cups_strcpy(constraint->choice2, constraint->option2); _cups_strcpy(constraint->option2, constraint->choice1 + 1); constraint->choice1[0] = '\0'; @@ -1585,20 +1630,85 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ { if (constraint->option2[0] == '*') _cups_strcpy(constraint->option2, constraint->option2 + 1); + else if (cg->ppd_conform == PPD_CONFORM_STRICT) + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } constraint->choice2[0] = '\0'; } break; case 4 : /* Two options, two choices... */ + /* + * Check for broken constraints like "* Option"... + */ + + if (cg->ppd_conform == PPD_CONFORM_STRICT && + (!strcmp(constraint->option1, "*") || + !strcmp(constraint->choice1, "*") || + !strcmp(constraint->option2, "*") || + !strcmp(constraint->choice2, "*"))) + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } + if (constraint->option1[0] == '*') _cups_strcpy(constraint->option1, constraint->option1 + 1); + else if (cg->ppd_conform == PPD_CONFORM_STRICT) + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } + + if (cg->ppd_conform == PPD_CONFORM_STRICT && + constraint->choice1[0] == '*') + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } if (constraint->option2[0] == '*') _cups_strcpy(constraint->option2, constraint->option2 + 1); + else if (cg->ppd_conform == PPD_CONFORM_STRICT) + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } + + if (cg->ppd_conform == PPD_CONFORM_STRICT && + constraint->choice2[0] == '*') + { + cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + goto error; + } break; } + /* + * Handle CustomFoo option constraints... + */ + + if (!strncasecmp(constraint->option1, "Custom", 6) && + !strcasecmp(constraint->choice1, "True")) + { + _cups_strcpy(constraint->option1, constraint->option1 + 6); + strcpy(constraint->choice1, "Custom"); + } + + if (!strncasecmp(constraint->option2, "Custom", 6) && + !strcasecmp(constraint->choice2, "True")) + { + _cups_strcpy(constraint->option2, constraint->option2 + 6); + strcpy(constraint->choice2, "Custom"); + } + + /* + * Don't add this one as an attribute... + */ + ppd_free(string); string = NULL; } @@ -2936,5 +3046,5 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ /* - * End of "$Id: ppd.c 5826 2006-08-15 19:04:11Z mike $". + * End of "$Id: ppd.c 6036 2006-10-13 22:06:43Z mike $". */ diff --git a/cups/tempfile.c b/cups/tempfile.c index 0e64565b0..60dfc81ff 100644 --- a/cups/tempfile.c +++ b/cups/tempfile.c @@ -1,9 +1,9 @@ /* - * "$Id: tempfile.c 4918 2006-01-12 05:14:40Z mike $" + * "$Id: tempfile.c 6040 2006-10-17 02:24:49Z mike $" * * Temp file utilities for the Common UNIX Printing System (CUPS). * - * Copyright 1997-2005 by Easy Software Products. + * Copyright 1997-2006 by Easy Software Products. * * These coded instructions, statements, and computer programs are the * property of Easy Software Products and are protected by Federal @@ -25,9 +25,9 @@ * * Contents: * - * cupsTempFd() - Create a temporary file. - * cupsTempFile() - Generate a temporary filename. - * cupsTempFile2() - Create a temporary CUPS file. + * cupsTempFd() - Creates a temporary file. + * cupsTempFile() - Generates a temporary filename. + * cupsTempFile2() - Creates a temporary CUPS file. */ /* @@ -48,12 +48,13 @@ /* - * 'cupsTempFd()' - Create a temporary file. + * 'cupsTempFd()' - Creates a temporary file. * - * The temporary filename is stored in the filename buffer. + * The temporary filename is returned in the filename buffer. + * The temporary file is opened for reading and writing. */ -int /* O - New file descriptor */ +int /* O - New file descriptor or -1 on error */ cupsTempFd(char *filename, /* I - Pointer to buffer */ int len) /* I - Size of buffer */ { @@ -158,16 +159,16 @@ cupsTempFd(char *filename, /* I - Pointer to buffer */ /* - * 'cupsTempFile()' - Generate a temporary filename. + * 'cupsTempFile()' - Generates a temporary filename. * - * The temporary filename is stored in the filename buffer. + * The temporary filename is returned in the filename buffer. * This function is deprecated - use cupsTempFd() or cupsTempFile2() * instead. * * @deprecated@ */ -char * /* O - Filename */ +char * /* O - Filename or NULL on error */ cupsTempFile(char *filename, /* I - Pointer to buffer */ int len) /* I - Size of buffer */ { @@ -207,9 +208,10 @@ cupsTempFile(char *filename, /* I - Pointer to buffer */ /* - * 'cupsTempFile2()' - Create a temporary CUPS file. + * 'cupsTempFile2()' - Creates a temporary CUPS file. * - * The temporary filename is stored in the filename buffer. + * The temporary filename is returned in the filename buffer. + * The temporary file is opened for writing. * * @since CUPS 1.2@ */ @@ -236,5 +238,5 @@ cupsTempFile2(char *filename, /* I - Pointer to buffer */ /* - * End of "$Id: tempfile.c 4918 2006-01-12 05:14:40Z mike $". + * End of "$Id: tempfile.c 6040 2006-10-17 02:24:49Z mike $". */ diff --git a/cups/testhttp.c b/cups/testhttp.c index 1ef498e33..2d0af275e 100644 --- a/cups/testhttp.c +++ b/cups/testhttp.c @@ -1,5 +1,5 @@ /* - * "$Id: testhttp.c 5679 2006-06-20 14:45:15Z mike $" + * "$Id: testhttp.c 6003 2006-10-02 16:26:04Z mike $" * * HTTP test program for the Common UNIX Printing System (CUPS). * @@ -84,6 +84,8 @@ static uri_test_t uri_tests[] = /* URI test data */ "http", "username:password", "server", "/", 8080, 8080 }, { HTTP_URI_OK, "http://username:passwor%64@server:8080/directory/filename", "http", "username:password", "server", "/directory/filename", 8080, 8080 }, + { HTTP_URI_OK, "http://[2000::10:100]:631/ipp", + "http", "", "2000::10:100", "/ipp", 631, 631 }, { HTTP_URI_OK, "https://username:passwor%64@server/directory/filename", "https", "username:password", "server", "/directory/filename", 443, 0 }, { HTTP_URI_OK, "ipp://username:passwor%64@[::1]/ipp", @@ -531,5 +533,5 @@ main(int argc, /* I - Number of command-line arguments */ /* - * End of "$Id: testhttp.c 5679 2006-06-20 14:45:15Z mike $". + * End of "$Id: testhttp.c 6003 2006-10-02 16:26:04Z mike $". */ diff --git a/cups/transcode.c b/cups/transcode.c index 40bf2f054..b0b5166fc 100644 --- a/cups/transcode.c +++ b/cups/transcode.c @@ -1,5 +1,5 @@ /* - * "$Id: transcode.c 5838 2006-08-17 14:41:42Z mike $" + * "$Id: transcode.c 6038 2006-10-14 15:53:10Z mike $" * * Transcoding support for the Common UNIX Printing System (CUPS). * @@ -445,6 +445,7 @@ cupsUTF8ToUTF32( */ *dest++ = ch; + continue; } else if ((ch & 0xe0) == 0xc0) { @@ -540,7 +541,7 @@ cupsUTF8ToUTF32( * Check for UTF-16 surrogate (illegal UTF-8)... */ - if (*dest >= 0xd800 && *dest <= 0xdfff) + if (ch32 >= 0xd800 && ch32 <= 0xdfff) return (-1); } @@ -1583,5 +1584,5 @@ get_vbcs_charmap( /* - * End of "$Id: transcode.c 5838 2006-08-17 14:41:42Z mike $" + * End of "$Id: transcode.c 6038 2006-10-14 15:53:10Z mike $" */ diff --git a/desktop/cups.desktop b/desktop/cups.desktop index a632eb793..48ac645bb 100644 --- a/desktop/cups.desktop +++ b/desktop/cups.desktop @@ -14,10 +14,12 @@ X-DCOP-ServiceType= X-KDE-SubstituteUID=false X-KDE-Username= Name=Manage Printing -Name[en_US]=Manage Printing Comment=CUPS Web Interface +Name[en_US]=Manage Printing Comment[en_US]=CUPS Web Interface Name[es]=Administrar impresión Comment[es]=Interfaz Web de CUPS +Name[et]=Trükkimise haldur +Comment[et]=CUPS-i veebiliides Name[pl]=Zarządzanie drukowaniem Comment[pl]=Interfejs WWW CUPS diff --git a/doc/et/images/button-accept-jobs.gif b/doc/et/images/button-accept-jobs.gif new file mode 100644 index 0000000000000000000000000000000000000000..38521be7d5a6186e0e50a14663654136f930e035 GIT binary patch literal 595 zc-nLKbhEHb%wZ5=Xc1swn90B}msfnLwDM|Q`*jup+q_Z^rZk+XpM8DKmWNvoJv(^* z_1Sx$?mqka;^VK+fB*mfPa;tK$->CRAi$u*00baA9a#S`m7I5++M=U1Ct=)7Vm zU}fOP$lVd9!N{Loz{iDLQP}O0&b?>Lu)k?9x%)h*?uu&$&o`02PAaF?|W2l z+0-ZFsn54ZhSj@)iJj}(kE#P_7?|0kB6w1t3BQ=-$}FOjz@WuwJk730sWtV|)oDu^ zSi8Cs`3^L)Xu2G8V$@>r(8xTpwlw%bW8XGg28A87zU6AOY)#qbDPHi5tJk!{>VhC2 z>x4sZ=Lw13sdy*KTz31c&WBSoqZ%T7HYK*ZNw!FqCUZqRFgdDjHGhjr#?D7y`L8*$ zFE6;XU|k|hcjyr_gX*oT>(!+5%51 z_MKnA$FK0D;lSDj&K41tN12W~3o^RN2WVUkjAxptc<(r8we`&9m4RJV1}0ItlP1R{DHov<$ z&CkQC!Op#AZYGbnPtNMKe#=&DTfWjjz*L1L!DSK_ z1r6K>=Cg5#nM5$UI5IP)=RNzQIXO*>(KUP54w1E)J?VanR~?vkrsYb4@uXG;25SIY CJ=4tq literal 0 Hc-jL100001 diff --git a/doc/et/images/button-add-printer.gif b/doc/et/images/button-add-printer.gif new file mode 100644 index 0000000000000000000000000000000000000000..6c8d04a3de1ed671b5d15026c07ceb34d064771f GIT binary patch literal 472 zc-nLKbhEHb3}p~uXc1t@NHxgLvMMQduB!`b??~+K4DapFm_9Xm`poiWOImmATzKyM z{s;H3y?XiJgRb9>CC{Z<<^-Z~pvT<*I@O z%X*gy7|x2ZV_@Ot=bg;J!Na}L!Q5s+PziacmP4aUS*in_xaFCgm zAxXC8=mE!O-I+ZW!HoKHUG{t;K0E=eoK}osM!r=o?`C*5vV;ZQt9Iaa+wF4V6-!_N z%M#^qgXqSOrUEmj%Q78&QnFI(c=KZa8jg$?4xC-i{Ng5_OU?_eieJIEPB2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&iRIb z36Fo;HCx%3$|)>R{vy;j)xl$pr9i`dhYvkmq5N!)7adaB?ez~kRLp4!St0U)cMr=V z=3Kw!>UX~WdF62HYfxfUQ*mRnz7nf}4Py^uA`@Glha(FUSGdN6NuG?n-0BH)=Lgnn zc5`vZ**1nd@v%71TVOjw&%Cg0=dRs)HOgH}_Z%wOS}9<-wULE8asvYg5BC|J(`Okt z`7d4KxN(a+Ai|c>$!Sgf6Zf090*>kmSRMYj?BFN80*en{fBpJyVfmZk^;cy@^#zW# z`|kY=6g+U?pbc-l!hyx?ev4Wg8e*~^9B^b3;gquZa6&2Nct68N4ugUV3`@PHX>3%e ze9Fqn)XUFfP_cmFfZsgL@NH{eHq7hlmI!R&eBjV{ks&qApmf$FwZ_$QYm<6k9(_2; zcteC`iu3CBFeVjwi{^>_u138YOd1bD_|{$7d0sBy%*?!WymZm3H7j@Q+J5NB z!An;z-oAV5#jEGP|Ni<kds$(>}HeUY;71)Yt*L6$ji=J9$4J2+o@e<(8iM!ti~3?U(Vph+{VkH z&d6l05xKB@Hsjn3%|&fl`4bj0E#95gC zrgx+9cJ(cd3m4h>_AqmEaHQ;XY>99H<|mwNaKEnqmv#l$0L;raQ&L2)gfc@B{e7Bq&n z20hhT@r!j;$l5=BDXxkMZTrW>^WX@-p;%D{YpumRJ^?|7j8*G$Uhga5VP~U5W1aXPt`3e(TdL0HF=s7~ z+4A7P(Jk-x{NuT7cEZb!J%pdxl{t!!Q=O5Cu`Qg>sjZQ*IZ(4TF*bg7vO$4r)#4>f z7Yfw&@v)T$R^+TNTFS6uCC7SZ9!^e2hA4hs4-Gaeu48RXTn8pZ?cBXrE5vUm(`8o! zfwIlF?--?--Maf|>3uWv$1k2dTXc8E%i9YdUUc!Bpcl69UG@*dAB;AolNhE^>I z^qHuYyX#8p%;iBM3wL}qSS9WoBEZ74ASbe6%IN?eqa)iIqD89>cez|FQZ*BNFOGCr(D|~h)qzEc9FjxZs@v!G2 literal 0 Hc-jL100001 diff --git a/doc/et/images/button-change-settings.gif b/doc/et/images/button-change-settings.gif new file mode 100644 index 0000000000000000000000000000000000000000..8bcc0a20ac85293de1c0ca5cd0e4c969b752ac22 GIT binary patch literal 612 zc-nLKbhEHbtYQ#hXc1t@NHxgKwk|1luB#1dYme*h4DabnpFTBt+RXAL3mez0p0H!* z!n5c0J$i8c!^by&{{8+>B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&iTy& z6CVGxYhKL2a{K|K#Ig!E5&Z`q8te?rCJ!SxD;f@XUSLUD%8<2<+d*i3z}w9pHH$Vc zU*fG`b>ZEQJ$3W#CzSD9Y4GM&MbuQJb!ZpqD6twuaP!-{g|o4>Fi)SE#>vQIGo5L2 zfF=_gV`8WePvLBSwk7ixbgfvGl*-01XV&)BIR@sX-A9iduc=d>$jhtA)l$=b!g|@& zD*}c#Ec}klZbe=GT%p+rV&;?Y57b&W@DBBzXVA5DtY6KI(t z$dJZuHKFW?@l^#z!A7QTli~(dMnxm76Sf~3n;e+gQ+o7VEfZE)EcI~?|BpJ`*05vO&tervliyNV5ezbBhbZP(N?W82heS`j)*tOj#6L%ez2 zBWy!hn7CH5F-8Y@umtn3UOOe1k&7pHdQGlNE6>b)+ueH^dAZe7R;@XDc#*b6{p{;E zZrffaTfj@_3}-%U%Dh%zA-f^7E5Sm1(*9e@O4W%cb$3madF>7jeo&hS~Hn1s6}YSr?s4H zlJ*ck&cqY&pyAohLKA@)8xe;|J;`nx7k=i*3gS{?x;NJ-!HcnrW!bBolc(BlFt3h~ z&v+_wlu=hDP(WhwudnRQY|HL+XjV^iU}oq2)^e4LW!?_gii8tHT9iCPwCha7k1edcoxp*(+2ItdFl)&}wR@FYxMqa0GR zM>w7RT23vO|Mf}SJsu5bSJmscO#R*Jp068aTH*V#;|ohZ>z$+3+ompgoqxVFwZPTf zDL(b8Q2mpJKmDwHN{kHhYI}F(8JZW`Y`GtF`VRwJ#AHw9843>?CGRpP1aUA}0|0WT BB2fSU literal 0 Hc-jL100001 diff --git a/doc/et/images/button-clear.gif b/doc/et/images/button-clear.gif new file mode 100644 index 0000000000000000000000000000000000000000..bff0e60e30580da24f41960d6f6548798806c911 GIT binary patch literal 419 zc-nLKbhEHbbYT!-Xc1t@NHxgGwk|DpuB#1d??~wG4DapFoIW*q$-<@`I~Sciz5CX+ z;}0KPfBov=$ItKn{Qv!*M4Mm}=?hR~$XK;5=k>nT0TUko zv}3l?;WDt%lzDK_KtN92iSHo;M+@U@fdwoEiA)z6kG-whzk>PYHw}BKwrIXHah+Tn zR=&zi;aI*y-EqPRX{In=XBI#H>e_5wt-JKLo0#rCpu1NkdRN0igNd867#W#4`Ht(%ieuXu z8(EO0Y0orYqnxdbQ-gz-pO53|^Op=O`JX&{@k;+zN-8gB!~HeRnSV8yWHhHJ2p(u) z-sqF`@vZv`)5?|)%mNHjJ7oNed{QQ+Dt6oP$S{dqTF%(S%B#p?Q1GDP;3~UJuX#Bi boP;*b*2@q%+!;J`z0mcFrimYoSs1JV+^oU~ literal 0 Hc-jL100001 diff --git a/doc/et/images/button-continue.gif b/doc/et/images/button-continue.gif new file mode 100644 index 0000000000000000000000000000000000000000..fbc1f95f389aa547816d41fa27fd44d934e3e228 GIT binary patch literal 355 zc-nLKbhEHbG+_{7Xc1t@NHxgLvMMQduB!{`?hNnfOzQ4Un?5yp^0d+=3mdm>n}7V& z&YM?{J$ZEF!^by&{{8+>B2fIv!pOxSz@Wnb1Ry&dSRW{;^a&_3WUN}3bDE3Aa^AXM zJQ6$Oz@u2G9m9U)3-0h1O zuifhEyPI)>w&=kK9XSU(UT4jkx&{vc6CE}tMo!-HNnS?XlcrBGGM+xibC!V5TrFnC zNd;Y@8qBuboEjV^Ww~BaE8Tec`PT99^K&tnGxBn1OxU^3bn7+^M%Io}n`sPZJ4`R> zrCBha594Rsr4f7Us;-wGBfm-FE*{%NwgVPiyy~wx-~00au4P5=M^ literal 0 Hc-jL100001 diff --git a/doc/et/images/button-delete-class.gif b/doc/et/images/button-delete-class.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae0d7ca5a6c3481a505f7d9d3a89e19e089c013d GIT binary patch literal 506 zc-nLKbhEHbOkogVXc1swU}TVz64TVy@bq#_NQ}=f%xh?>@9yoIzi{5_wX1gQ+J5-x zp^KL<+`fD3`O9a&|Ni<kvRy&JHxOga}V;t*4`^XwdL1*tRVUTmp)tMYPB zpkejBJxtHn8?8ARAtBGq%G^KMRZ?ar8kcr+F$Z;h+?Bk=^UOSEhetJCOfR`s>z`nG`lvyH zf#pCQPvnCGjLd!$&ouCcspv9HRS-2f@uN&bYzNB|Hic|6!TXyHg0@P>yk>Ja)N%2I Qb~sbaqa&sg?FXc1swU}TVz7Sq($baQw053r3-jLXT(u4}06>gk+2f6mI)D|YPK ze&pEUOII%3e|Y!TpP&Cp1d2ad7`Ye(7<3qb0A!~F>pumRJ^?|7j8*G$UhgZ=In3zT z_x!iUSuLBD?FtGmPrLRnUL4TieY?bFnh&fF{5 zVd+A2z gW-h~R^P9!;Uc3IL)X4QuX6`ui)0MYUk%7S)0F=`9Qvd(} literal 0 Hc-jL100001 diff --git a/doc/et/images/button-edit-configuration-file.gif b/doc/et/images/button-edit-configuration-file.gif new file mode 100644 index 0000000000000000000000000000000000000000..a846b9680a132e6a18df217df8279473dd802ef4 GIT binary patch literal 721 zc-nLKbhEHboW>x+&?3N)k!p~eZCz6ATvr#=)*j#88Q#;EF@0+Cw3+2g7B;S3Jz>X= zg=f$0d-U-7hmUXm{QLc%M4Mm}=?hR~$XK;5=k>k{Vy%9v)t$i}HqCtY{KZS%9_1yxyqa8-+NZwK`l|cG@K?U!BLjhNyb2GRPb}AX zRHL!u5*uT4`{W>j6;~S=7+B}X896WGkISh%mvEmlgoVV(G!0;{H`MIJ8F zf3BEzK4Us~MKUek!s42egNaHW<5Y##!0=|@1un~M4lQV8*5y>08MyHSqrjxPvn*z3 zN*(U+S9X-*3wnL!-l2AFcEt%2r|z={h}Cm`FFmRe#4L6odcy&=Wf~lEE^9>^9&|DA zM=kHjZ8#vXE;{Gi>l4q_|2ro$)j8k1cKyV9&AnT?99DQXGZ@y-xWrJ)b}1mem3gCQ z;wfRC7L{HVwTVw}FpDyMNMI8DcSu2vDc}Y}q=f6_1-eR;esIN0^xc@$*5hh%*HJ^@iw`1wHs3m&!rZ3@%<{9 literal 0 Hc-jL100001 diff --git a/doc/et/images/button-export-samba.gif b/doc/et/images/button-export-samba.gif new file mode 100644 index 0000000000000000000000000000000000000000..f595ebb226333742bf05042d50f06cddc4c8c19f GIT binary patch literal 874 zc-nLKbhEHb+|3}u&?3N)k!p~WZCzUITvr#=-jUed8Q$BUF@0+Cw3+407Ps!$x$w-{ zz4z{1dj9P0hmUXn{QLc%M4Mm}=?hR~$XK;5=k>kL3@Su9|q17|}+!~2U08d4f}!s z*0ZQ!Q{Q<{bYY|K4+a)TPQLI+PJV7??yxKt4t|z~rWSWcFNUd}>V*u&`bhgK%kaqr61x^QpX+{}X>6Fhmj)#G26J!X2kU89SG$&0&7Mp41x;BJN8 zLQ@T&Yv_*sys4qc}6)q4>=EQmw!4e}DTqa{u1n`QqD;8lAR$@Ux(WN!s?M!Yx52 zgN{z=G?z~u>1Wq2c+i~hvgvfIAL~aBMukU={j$PwQ<*Zkj;Kcq<;E;jY)PCM7{wec zaP?8+?*}suwJZL+?i4R}Y3YM1^<^68n7tfcJP7u%i%_(RPj#LeUa1hMG{r}DlCPTn zjfp4Q;$L1D>5ZQ^xn-iOP*Ez+0vqE5!%CZr3gyQf!g;D5OK$ITeaM^oaISaDPIV!+ zPBR|iMZTHwHCI;z2*@AZ(bnX6PnV%}(Jh@69_FQivl^B%T{!8WvhbL>mOZz?X0{lm l9+zmX^?qvFyf!9guh;Hqn{qQr?a8ax>y2M*h~Qwb1^_{{}?hNngO`AS7dFu3{1q&OuY?-}p|H`vx z_dK|N?d8k+A3uNi`~S~>5`p4R7Dg@x0R|lgAOP9vz`9LArB6VSA!F6LH4YOVpIp`$ z%+NE*&bQH~^=x<8 z#pSe!pPiR)Zlm#1&-?_=cnt>)Ud|1RJsCqZc(`|z?B1*G=E*(Rb#)>i4-Y%T39a1z UR)fhmy{7l7&TQ3tpvYhi0LU|wM*si- literal 0 Hc-jL100001 diff --git a/doc/et/images/button-hold-job.gif b/doc/et/images/button-hold-job.gif new file mode 100644 index 0000000000000000000000000000000000000000..c364193130dbd2548c1e422f9e31aa87fb6d4c47 GIT binary patch literal 451 zc-nLKbhEHb^kxuYXc1sI%fN7sf#m|9zy(RkYswnuolR~!*q@JdzaJCxyuRV>(xsmd z9r$tM`mZNXe!hA8_uudTBm%{sER0+X0t`9~KmfASf%Tt)N?(8?i^HmQIj{E>$Z)V) za(#4OW3@r0@d%Sc#S)%ohC>%${cJdNMc;zQL_l-7w}RD?eGfKBlqnqC!mwqPMc(H! zy+B3w^Y4}getXd9vqF|lqr%xg#D$-Oi91W%G&XO-#KctPlKe?!lX|oSG}22mSzI+3 zt#TMRxVgC8bZi$hEM3IE#ER2rraq&9#f*LXwPVco9ypqC$jtoMX~PpLac3@SGS1VP zvSOGn0;X%jwz)G&F?ii5olW?48~5SZQ|W*I928 zG=mt&oiulcrh}UcJua KZsx?mU=0BAU(Txl literal 0 Hc-jL100001 diff --git a/doc/et/images/button-manage-classes.gif b/doc/et/images/button-manage-classes.gif new file mode 100644 index 0000000000000000000000000000000000000000..e26ed65290a9f1948ffb42feb3744152818ccc37 GIT binary patch literal 523 zc-nLKbhEHbjAsyGXc1t@NHxgGwk|1ls;dj??hNnhPMtnAdGfT9B@3IjZ(n%w^zNJ2 zjz4;Mnb~banp>M#8GW6YX3cTqnX{Pl-jZ&lLQFfP-WZN&WR=Z}x;4?W#@R7t!c zQn$did-^Ba%PGN=$ZcCLYyN9v1%f#Dh1I-Y$uA9@&iPG;llv{7<+xsidHo!4hq z#f-;|XJ=1j5>W_inPg{WC4P>xX>nM9GM~^BAF0lu#^rJ+k32fKUg*3UzgZz?!dFkm z{*WE-3}!iabTOnZOmz)TTczu4C~hJ#bJ8Wg9UM>USSBoJWU#Jy%2o05z%B7ZZS5Kb i9~K-m72hD?C6~VV-jmbWOuMuv@@-C+n(fTMU=09Jx%5;3 literal 0 Hc-jL100001 diff --git a/doc/et/images/button-manage-jobs.gif b/doc/et/images/button-manage-jobs.gif new file mode 100644 index 0000000000000000000000000000000000000000..79841b79b30c60c079dd309cbf4feee37d14817d GIT binary patch literal 450 zc-nLKbhEHb^kWcVXc1t@NHxgGvMMQZs;doZX^rmg4Daqqn?5yp%JkBui<-7 zf!jCFJ%4uh!^hWu|Ns6^B2fIv!pOzI!l1(d1Ry&dSpO*~_PHoBWUN}3^LpP0Es-Y` z`_3USaIhnYtYU)aAGy;P|8~K}C^L0$(3Z~CUNmH(vT%wU%JXvr4 zTzwY9N-GW??$$6LN6*!3*Du=O+Th~5*?`4-=D|byv8D$OpGY}sYIgEm@@bX$LyU`E z&ucO2&EB73eQn461P*g1UIt!uMz%b?*z$W>_PqS=JD7QR`D{49eAD8QvzgHJo{?F0 z;fI&ntxR%!jRM=(C|_bb$ebH>&nIX5bC=^?;?;u2s`>m*UArBeW|>I($u;!p%X4H* zc2GS$eZ`}%zlu{Dn*$tVBCZ@XZagnqe?!!!L;J;rV5JS7t-;B+uB=X-G0~t=^fu30 IMFs|I0F=$s%m4rY literal 0 Hc-jL100001 diff --git a/doc/et/images/button-manage-printers.gif b/doc/et/images/button-manage-printers.gif new file mode 100644 index 0000000000000000000000000000000000000000..680db58e51b2e81cb4530dfd2f91352838003a32 GIT binary patch literal 571 zc-nLKbhEHb%wrH?Xc1t@NHxgGwk|1luB!`b??~wG4DapFm_9Xm+RXB$i<)=rSakgK z?wePSJ%4uhIcv zd~93tQ&>EBxz!^VtzGY$l{{ymmU&U<-hKN^Yn3PVZqn&qexUx;Nj(9>Nwyq3+}!R_ z0VgkCb#Jw0Oj&Vvm90G||JAD;o1VYq=D6W<_MFw3s-53X6)1n^V^o*R*w@)RdIKBT2XPj8nNeA{vY4!$%G8+ywiuC12?9NMQ*v!m6 fFP^8_qi6g2mVM2)h1EU;#yvdo@XaAXCI)K&`D+m} literal 0 Hc-jL100001 diff --git a/doc/et/images/button-manage-server.gif b/doc/et/images/button-manage-server.gif new file mode 100644 index 0000000000000000000000000000000000000000..1909ee7e06e165971d748ba2bc5f02af8369d82e GIT binary patch literal 541 zc-nLKbhEHbOkogVXc1t@NHxgKwk|1luB!`b??~wG4DapBm_9Xm+RXB0i(7W=Sa|yE z-p3EGfB5+3$FJ}I{{Q(;B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&T1#e zzURMrUhzrnabY&7U|{NHImOPx5zZ9zUEx^gmdTX*$zB(lZ%GxBh&XQX8_^6`1O z&z&D>Q_II@V3yaoY4aA1a^?1_g-trsw{F^}Enqm^j$`g*7dQXv2;S-AOlSp4|T zpXb=kz|FPT@y5;DcC`l&S?+)J+Bnzz<(rTD-K9xY!WjfuaxNYVnAhqjVX@&-Is-EsZ;i@@jMP?vpk=c;8gzat9CTyVl!^$x z*|5}`#ZAJdfZ=khtL%~{B`${p9#SlPOnkb#lBO`(dhiM;Bs^{08n|wcYmVvGRi?!} z3!g-B_|1%*9=C``WA%oWO^P1s?>c9&oC({x`@o?LW3yI%R%v0Kj0^4_%yVoQ)FpkK yl}$UCm)SnMrkmMyVu{2KEprZoBVs$Gx|WqT-+ytrkmH(mqQKXeQmdUA7_0$bVDmZv literal 0 Hc-jL100001 diff --git a/doc/et/images/button-modify-class.gif b/doc/et/images/button-modify-class.gif new file mode 100644 index 0000000000000000000000000000000000000000..b88c3faa152c5e44be3262495bb75ca66e6bc730 GIT binary patch literal 537 zc-nLKbhEHbOk@yYXc1t@NHxgGwk|1luB!`bZH?*f4DXweJ$-8Ol7)?HS5Mf!W5Jm- zd+y!2^z7-K4zI?PUv zeb0aM_%R9e9b{JUdE2!j_CTWtA48k^p@X+H#WYex43@rSXq@~&T8%HB>0;usyxsTT zF?)VLu}~uYhxxYi&mN}fE3q2HbMf1`CbO|sFn9O5^K&qATX!?H`)gUV#dq;#=YP1SsqE0J*SVSIFW-E8{m$It)A!F`1+sr=FEe8Pw~&LuCr+2+ zgN3h`;*);qc)c1!W|0F7vxHiO-efi;a2TgwW;4im@PNCCjeq)#5Y8J1lqOBqoXyZN z?b7ixlWfmzRS3ywXkud!(TJGFp0b&7-oLM$1#3=CkrAHB$N3>4gKJgT_JuDw7aTm{ z;L)OCt-NjVN<&6_%bYZaRE1Uki?k+~6|D0U%iO``P{4F@VL{s|*~yO%G%i`q=ANZX68O0Ob<;h5!Hn literal 0 Hc-jL100001 diff --git a/doc/et/images/button-modify-printer.gif b/doc/et/images/button-modify-printer.gif new file mode 100644 index 0000000000000000000000000000000000000000..93483dd394407ea62fccf873ec53822f1b812d04 GIT binary patch literal 552 zc-nLKbhEHb%wiB>Xc1t@NHxgGvMMQduB!`bYme*h4DanrpFTBt+RXChOWSttT6FIG z{=0WBJ$riR!^by&|Nr?MyI{Hu1JAjZ=C2t7BE2ff4Qr%$`Y-b-Byi2`&%ORrsDp3w zjz3dRoPEEE*;72su&sh2xlzNT#ihYeiPa#Pi{H+bi9f!cdGb{E2~6D9Gno2w+?W}; zxP3cTG-a?cF!FM%$E;r2v{v6NzkTQcIIBE5xo1y|HW#Pr`)*jJw$QXRK*> za^RruEDnaiUyB(I$a~mJTxsbjKH=Y?D`6_tz}mpX>Ke4{%*qL3T@063Y?-C9EOh$p zj5$yKBsFj@jS>yd2{ByOcss=7+>yHz{T?pyeyX-eXpzBst)e9Pkf-0ywa#9eVy9G@ zax`#iW?PT+pN#CPwbV~*E0@SCzkB;~%j Mt&w$skCDL|06`cAa{vGU literal 0 Hc-jL100001 diff --git a/doc/et/images/button-move-job.gif b/doc/et/images/button-move-job.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d55566e9c7955aed637a5332ada20df9f814dfb GIT binary patch literal 475 zc-nLKbhEHb3}6spXc1t@NHxgHv@9uds;v#`>WJ*^OP@Y9dCK&%5`p4R7Dg@x0R|lgAOP9v!1_-?rB6VSA!F6LoY(sbv<042 z>^r}JkN*I3BOB9GjXwdF4nhem3Q}vHDlvL!1YCagRaHPTX+6{9hXF4Ryx4Nu;n3W` z{fn#o(mOde#3aafd}ra~Waj2)Wol(@v2tZ-Z{zgV>|u!HWJ*^&zL?ndCK(CWs6(3ZJl%e!hzej zF1&bt@59HpKYo4x`~S~>5`p4R7Dg@x0R|lgAOP9v!1_-?rB6VSA!F6LoY(sbbk47F znDF?gU9*)uML}YR%JwG?M{p1VB(srWnMV(#K}`N4a(D-Cmu<@aK5SS zl7>Kg^Be~bK1~m=geMH_++2r4c)~Tj7;Uz_nPmI^WBdo^Ak7;$ttQU&3XFD}pdcgj zpGzxd$8&`~86IV?mWLBs=5$uGvCLR(_~@9}Sp}6CM$HE0$<=rGdX{Wo#L&dT>$gDX zx|1rGD}%&~11l$=IuNS5YUzt-d5q0$i;sO2_^Qdp%%0%{m;}Q*)-U@!nfhnwH_v$Z)7G`Hmm+ao2YbRNHDI Ql2U(sHp!X5&&Xg60FAE~Qvd(} literal 0 Hc-jL100001 diff --git a/doc/et/images/button-print-self-test-page.gif b/doc/et/images/button-print-self-test-page.gif new file mode 100644 index 0000000000000000000000000000000000000000..17d5b0c2f2e5d70c22bd6cd5fa7366260e9c6c53 GIT binary patch literal 768 zc-nLKbhEHbT*e^6&?3N)k!p~WZCz6ATvr#=-X7oG8Q#~QF@0+C^qJ+$m$vQRz2x-S zy$>E-d;RL+$Il=B{QLc%M4Mm}=?hR~$XK;5=k>kIu<^b1soz$9Q=$SUZM)j%ioH0ij?oST@w7%WU}P- zHM^}M%z9VMH-6ypgjb(QiQT-lt-YhOONWh@pP$=7mt95AwSNYGkfDcWcJ~6q`Q`d^ z4VF!-Fi~PPUXjYr#>SJv%#pQ9gOQh8-Nkc~{qDWN%uH;I44ixnhxa+~HJm$o{N!nk zi^8uYB17k>Hr?R)DK<#m(({4iTl^X2xmY}W%~ z?40)+93G2K@XwzyA!s7QrKav6tG_EM1eF<>xLX7Q(k?0s^~wHQ+91N|CoQe4;mam1 zQ0(Z&CKSt5T=bTohr{+Cr>s|r8-oESBgZYlEh{cB519HcL2B!&&>HV@fkoo)UhQXK z4p*6cQIze5)USqp7E%s3B1Ac6+{l@!#9*_6mPD4iZk8EVw zYmT|GFY`WSyomy>hK~)q2we@6D2d z3bD^sCA#af10K56yZ-pf;>^UV*vaG+@UfSPm!sf@2)D%t2j+&1F9BWJQVI;Idu1 z=?*0;ZodCfbMHchjhLM-yNaH3T{}OAO{2Fk^7{d1~oiRCi;o)wH&jDu^Dlb0XZ)`Sc#o+>nH9d@94y?40Je<-q#dMWs z4Wprh{xnSijmQNZ@m&lY#Zgll7hGMbrZsWh1~)+;9=l!N}*ID~!FAw*A_-AEB2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&Uz=u zzUR^wY!@_Ev?wzem;|&iI&etXFzjY|wa`aTc8z=U0t==s%+I$ZD%kjiG#pSY)jH@h z-JxX0&G#Ez_|B)xdKhwLRwQXR*J`wO7%H*qbHq9FyIALFF!8f6H6{A{Rq=$(m^G)3 znURYp*sHZUb7lZ9w|Zi{mw{PH_wGG=b?cQ4S@^gjTKt#o({Jw(Fy!XHc+r-Do6CAT z2M_lJUw@y~47cu_(8^?7zvjfcd@oM^J9jv?83|OMI(6oUQL*{=-we#Fc0Tl9;Mnjt z?+T~HgK1qB?3Ik0#TOrBRye-N!bPMZiks#ChcksN&Ig&)S=I#@9N;+Mc#1_#S5)f2 zg2rYO1NjIel_O6@6gjR*?&MGq31l)Ww-eY@$a+$otu1EZmj&%x+tc=R&KBWwZCKM* zmEbgaljzoxXwDT|S+w0wh`f-=b8c+t)iTXI(oyNoa+zU&)MQJ=N#%ESw>T=6)fzrO z>LohkS?J>~rwOs_tyOHHNtTSv$(oBS6DBM!xNg!^#S>95na5V*ppw!hb?eqcw|1xs RsU#|G&$rx}*TTSH4FHyh_Y(jB literal 0 Hc-jL100001 diff --git a/doc/et/images/button-reject-jobs.gif b/doc/et/images/button-reject-jobs.gif new file mode 100644 index 0000000000000000000000000000000000000000..aaccb43f5b3a5683554e662bf882c1bc097a1f78 GIT binary patch literal 649 zc-nLKbhEHbY+?{$Xc1sI%fN7+nd^d-?CsA-y5EnEeq2=iysho+!bKmq zZ~uDs^v@?xe!qS9_wTR&Bm%{sER0+X0t`9~KmfASf%Tt)N}qrti^HmQIj{E>=$tP( z%f{r`*R)23fz9A+0uNK`<%0*UOafZd4Fo-OI+{a_HssiDy8Np20|Sc``4K$VRGoF=?*Cye*SN0Y-(gvF-l2j)?#wvVC~W=*QuP)sKjExIK^9|sL+#hiY6l; zU#6y0D32x|s|EjpMGR{-R&uT`Phn@|-n3+y=6t4w?(1TB*Q}e*%Ckw^s%Gk?%U7CO zm5tIlgRWL|8lHP_zw4o)fQA7(|LfQNr3viZTwJL-pO-|YXv~VN{P_86*p12!?@!CJ z_*_}D<2l1To2sZP!vgaQ(P|teyE5;bFucLnBkSDtW%G08{)rm@f_G``TztOU`e_Ig zSA(BgL$*S4i&W6c1C1GMbjX%taz2JLY7aFR9B52C5T+wh^z0%7 z8($B@i?0lf4XgP#ty0MTmVKkYp6y!TsJS^ub#Jrdf@Rz_48ImN zZ)Ng45ZF^cqw<2X-}3yvsebExKJ@K6Iz#!hN$>)ml`QT$Tz#F&$Cx&2K3VyY-C;wQ z>PLm*eKwNo(tLN@3ctB~mpbecU>`bLtkBUSrm~=j~72YY1G~`APobYzg7nXaE1-%JQH=>0!zw&Ne}g6$^MR L95y?1FjxZsM{zV| literal 0 Hc-jL100001 diff --git a/doc/et/images/button-release-job.gif b/doc/et/images/button-release-job.gif new file mode 100644 index 0000000000000000000000000000000000000000..e369f03c95fb54d28616cc84cc285ea57e9abac1 GIT binary patch literal 534 zc-nLKbhEHbjA9UBXc1swn90B}hg)EgsLXO1sg)XbYt79zS_N+NN=&WxH zn6OxY-=C3#U*tf6lSNQ}+rtkAJl*aJi~-Jm^BI$07pAH(ak`!27CX$c=y1;2yxlk1 zFL@`1=?dt-t3IFJS!2Y_&!y$y!dX?t7SqPm!NSDO7|E;2$7br=SEW5&BPB68exZSR zX6=fVHHFFsjJ%v$9Hr6W`E!hRtPpTAaAV}j(q!l1;^GfWZaH%7gmaVENrp4Ww=%Fe zhVV1r&|tj1PQYr_lc(7k7LT93UiHGl^3BH;?^F)0oc!s{nn(KG+Z>I2?-*H_r1h3{;k5yA!3y!~uXbfKVk3(tuD@hLH88?26}@{{Q|@B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&iNGq z6CP{YH~%tVKBRn<`GW}em4qEyOcGoTO^r=nD_5x&E^z(G!pGuZAt1uME9ttbfNaKx z9W{RGvL5T6CZ88SKF7}jg80Eh9j%Vg)KBNcxJeE--LMn{)x7^;91WSQOtMT;3>gi9%ExQP83SrAs$Jwubz2%2czd{Gs(GfB7)R^EH6k2YHx^jUHmNF@ns;q&5~y&S8SwKG3>b-jh>nf6EVZEvf$ K7PK%hSOWn0Isoec literal 0 Hc-jL100001 diff --git a/doc/et/images/button-save-changes.gif b/doc/et/images/button-save-changes.gif new file mode 100644 index 0000000000000000000000000000000000000000..870f8d52d298afdd7bc513242d1b4dcf7840f349 GIT binary patch literal 709 zc-nLKbhEHboWvl)&?3N)k!p~eV^dnD|~7B;S3Jz>}G zC1=j=ef;pohmUXm{QLc%M4Mm}=?hR~$XK;5=k>k0h+rW#vzhU=ZRv@Sw1SrGwYuz{CJMwx-onma9rl)On!rF@Z+T}3~gkDrg1L$9KDR(tGhgSpyDtP^=S zm}+=<7$Vu2xO04h_(C)od3n^CBG~*Bir7~3uU+q^6_v{wxQ5NXitWq>PDY;aHS3}d z9Xx-QX;1049jlqWFI_pRYuP&Q^_#bE`jsd0`y0*dT<}isNA~kszcmH2SRy8{Ff>J9 zS+gKvgF=HCYiiI`CWnS7W~Qq_6v(W_yw;fb_6!mdCuipdYtLrd9mOY8&`%kt+p;4 zE9CyB2jnPkYH`~+LnzPH$Sd@UfzLyR#r=_mK0!eY4Y!#0#ciAXoz%$j6fw;VNKUH%ZssaN=a2sfI=~ie{;J&Ye** z!8JBMFe6}hmWuS{Qv!*M4Mm}=?hR~$XK;5=k>kjD(xG-zEJvCdHaIcvf4fn-KxNnJ z`AHLv%voO^=vszgC|~iQT-nuYbZs6FxqUiR>zN{I(iA*^{(ubTStd zXf0W)zsRm$M~T%SlZ!t;s)CJaGxPSHnVEZbMY?Zin^)&-e_$UQ!;xcdoQ&KnVw1d1 z?Pg;PKg-W{^z_{wySCli%Y5O|6>Y2TmG3`%{A4mic_R;xCfB@AtCz1`leQ+Bz4HNY zvxdTvAC3>)1@$;2bY`?EJvw5#L?=jOnOf_5d!CkzBP&|Y_ZxTo^D|vAIZ1_!>GFY+ zmdSxit{rCm3tVPQxV&e+L-ViQ3p3i!FYuVG6&hH=-oG?pF;lKr)5I&Hj0{Pw+jT>( zuh!kSZUy_p7n)I;J!=@55)LYE%gg04Wo2%>(eOX$W@(`7f@>mO2|qm?Rxu`ua7x(} zG)EXFoA|J)#MNlL6`UL=pdq&D$VX{^evyQGhZZz8H-<<>yz-I!n0ai5Blk?6YTmco zm-_$rRh%)kiH$*|<6p>%g7@loKtc9;=KTq2QhP=oUu#V#g|gFrE=kgwF{WP z=$)!A+ogNvS?+;-$qgn^_oi>r`)|di8`C4hY_Qi({73fOF9*yjGM=7I{wG)<-oVtv zQsL9|j&aA4hP!Xtnv^!iG#`-5KJ(}plW)Zgh7Qe6k432(XD&6=Wmp7A86OOEd!%z_ z#R(^-jUGV8Q#;EF@0+Cw3+2g7d7qJx#;xS zJ$LV1eDVC=hmUXm{QLc%M4Mm}=?hR~$XK;5=k>kz^=jl0LhN9e)P{kNf1lq*AZBiwr7y zl~|W}aq&00*RU|HW?sLsqGHP?ZAQM#whf!++jG?Na;r0Y?cQs_zrXtI*5-w0&#NNxqzWP#~+PPoQ%z^ z+!m59CstlL)S@G%!SUdO!jXidK`Ipu0*XuwLYi$=D=s7*&h+|c*C;h<17oAAjCEbj z1Vh%wY5Iu{Czh;Vety2T$lC{;TUG>mIF)~}IJM%1rgx`Sbv#Jbl;CiD zSakA!+`$zlKP*}roA=HVW6r4Ak^Nl5N5-aNfrF}?TJyw+V?3**Q?GPH-}&lzth?#b zoPdy%yb0w~=Imm9RW%`O5!d~LGrmZ;EvS_0I%@h|Y~G>rxpOLf?rY9%+F5McS{?92 zuXzQR4ezDrf;;VgpS<_(;j)?R_D?4!uubEge7knvyB}{{x1CpS3R&(T{CjPxLrl(I zS&n9e6}hmUXm{{QozM4Mm}=?hR~$XK;5=k>k;xu$Hm0@A8#ixl^4z{Nxf9{wZw}v3~anIOLA`~Gl(;AiPUg01h8fYH3jcUE7X}Ld9Wra zI7cJfXJPU}HLiI&yGx(#wXsUCX3*4?s%4P!s5hImD?RDNy36ZM+)*w|Pv6pebstls zRK?Am_NR4q{bu)+B$>uein7(B_7d|5*MSeu-}ov|S*`|75E9A+CalDT)%6 z+FL$dX>f^YmK9guvWV5KFVlEF*ISLH*V>h)tzZsPUAAITh{ME$LtO^nTAaHT85pbq DrKUBk literal 0 Hc-jL100001 diff --git a/doc/et/images/button-show-active.gif b/doc/et/images/button-show-active.gif new file mode 100644 index 0000000000000000000000000000000000000000..34cc73989f369a0a025e1d8a45929574fd4f202e GIT binary patch literal 683 zc-nLKbhEHbY-12%Xc1t@NHxgKu_-NfuB#1d??~+K4DapBm_9Xm>WuPbi(9sDpMUn; zzB{+hzj%J{!^by&{{8+>B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&iN7@ zktY@V&M&Z8F4thdpd!<7kXcnmtY2r5AmM5v6OG%T{6=( zbn-$54T+eB=-A%vEK2OA%`L5M?HwBIDmD?3bz0G#wR+K$+NbxM&MeSVVm0vfvQ1%O zvd{4jWl82=wnA&^awl63-*uIf^750};sY3Yxz%%~@pCeA`$n!|C@HHrcH-0oZHvaq zH*ej(!_cj~ke4@p%EGIrr{~_)efiYnt(JhH6C3|mR}LQTQX#nNYD0 z0Srt>7t6^ja!T1$Y;HZ+%wBqF-P6TRdh6v53RqOHR(NBu79)NWt%L>@cZ&pX r(=V>y4y61w`SF1J!H*>m+ccj{5N=o4W^%<>ttI1;iuoN8CI)K&UaK|Z literal 0 Hc-jL100001 diff --git a/doc/et/images/button-show-all.gif b/doc/et/images/button-show-all.gif new file mode 100644 index 0000000000000000000000000000000000000000..61280064bbaaac998215c7232b31f104420acfff GIT binary patch literal 567 zc-nLKbhEHb%wiB>Xc1t@NHxgGvMMQZs;v#`XpijeOP@Y9dCK&X#S7}!u9>iH+uXC~ z_T9d9{>AfqA3nbM`~UZU5`p4R7Dg@x0R|lgAOP9v!1_-?rB6VSA!F6LoY(sbbPh8) z_C5d2bE^1V!y$%-0tPmI5d#aIO=VrKT?-jBB#x^vXq~ldXILfL&B7wXp}Ip=Kr-#a zjvBvwNsnFYc7;yU4`$-!;$)4B&TcEH)vDK4VlnXcux8?CWwK?ioyIVA`b=$Wc5fce zQAYMbSi?%KVls9bp>FE3;D#15&!aMft`nY z>xzVHH==rYt7;joXFt$fUH#~ZC#Ty{Jps$TpTB(7$Tk1;?f0J?^Phj2xZZr>KQy~h zk4+$WOF{f$(fyBJW|Y3@n8=#RB*IkSAiqhJRbY$t!jE%j_G)dlx|hwcfYEcxnn`!H z1v6)@?BbBJad_N%u$g^X(K{buuf%3%4YnUC1}T#Rm%ON9vfZ?0rP$I#a~3wF=rruK zmzr!5D)`NFqRdpkC3j2AR&Jj$x8{gwK-v|jwcn>OMl2|HP+fiN5ffi%!}B{kXLAX= zh8yZWQsIyj`2BlPZyW<>!xx9c3moUmwVElvh`G|`y^4PZTiAn1h8b5@{T3-S@KWPS b;3($aQy8%QeVicotRKEMZoN&43=Gx)@k|A* literal 0 Hc-jL100001 diff --git a/doc/et/images/button-show-completed.gif b/doc/et/images/button-show-completed.gif new file mode 100644 index 0000000000000000000000000000000000000000..165dbe0faeccf98feb7487e96898b473b75ecf33 GIT binary patch literal 683 zc-nLKbhEHbY+(>#Xc1t@NHxgKu_-NfuB#1d??~wG4DapFm_9Xm+KlpLi(9sBoqO*5 z{yVqMKYw=j{m0jT{{8+>B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&iOCe zB2OyzonK(HT&}@@K}DwFAhW8BSiiPv*Fpvji8E}D7a2HYI+twlG*M!7(kvEWSRd}Y zN>n?y{i5r1hmsXP|7&qFHng;wva8r|YxxFxn`SZba&fY?we=ch^;GI8u^RY#*)s97 zFxfL_EsI;WVrEuRcs3(fHzO~%`l<|;waZuTUCYM8W9!w#J@XL5rV{THjHl-6Skz3v zar4$~tq$ddyu8g7hNpFBw?5N+rE~g?-g|+ku5A2YT{(ETPbK9u{QNDqbiyLF12dG^ z*i|YvpqB0Vqa~}JVA#;_`oImg?d*cJQf@{=q1UqVATn$WXW*- z*dvS?x7MY1*)FKKvRhfjv6($@i9~h4QQbS%%<{Yj#}v*tEA!RxCO$ZD_Rg++Ui$^n zfy&Knd`7Z?hJ45OzQ1RpFTBt^7PVWi(7W=Sa|%@ zu3OiRKYeoR!^by&{{8+>B2fIv!pOxSz@Wnb1Ry&dSpO-g^a&_3WUN}3^Lk%_&T1yd zzURMrP8GjvIHdWIfk#dwp&%keHqeQ|@TLTZOy?5D4+%U%{YMin8Yrg-ZtG4OJ?&Tz72?&N1>n8GxzZT8H$4h|Vy z%$3m&ot&xuOl*unzB3KX^1F8I+*R11Jb{;YV@%D2BfF35wdx2MI{LAX~#qV1&)n> z^A1>^xR9V`&zsPE0<)AZxw4;m{P%%dTFs%uFT{N7Nh|v)j2MpMIP8`kKlt z0UH6akjoPzUe05gk;!xKWRk{-HxZ|wbDA-fTrG8;^nKlp2=}0?wo|UHZi>u}+|k(0 z=fSVTBct+aX6BfG3VN7lsx}h!6b5CA=C;L= literal 0 Hc-jL100001 diff --git a/doc/et/images/button-show-previous.gif b/doc/et/images/button-show-previous.gif new file mode 100644 index 0000000000000000000000000000000000000000..d32f7a81bd2e18a38291ef5056b48a31bed783b5 GIT binary patch literal 529 zc-nLKbhEHbOkfaUXc1t@NHxgIu_-NasjCZW??~wG4DapFm_9Xm+Klq$OImmASa9O> z?pxQ6KYeoh!^by&{{8+>B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_4mYdi zy!XZ$=T|bf1Rr9QunDkVFkuCkg^=r9;Vc=6i9L>wHcIG71vWeoKcE`RbkXrx-tPM! zt~5@GUU6;l6sjseR;XnnV1=;OzZMsPGsOr2xnqr zT;S7dV479EcHMfNV&!ID-eo=Wns;uPzpg?@z|fwJ|HwQJ9&T>;D$f(Ax;3Luo#MEB zh2!kJs)h4ec=&nyb{Gm+?0NArFVpP#tM@P8n3;e0`r?yH_O}g;yT5LFRaY4ION*VN9qeDlKeoyIZ^pS?=H`pj~BA;4e_069DON&o-= literal 0 Hc-jL100001 diff --git a/doc/et/images/button-sort-ascending.gif b/doc/et/images/button-sort-ascending.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d925463261ccb09d002b3e5dec9a8c53ef913a9 GIT binary patch literal 607 zc-nLKbhEHbEM^d4Xc1t@NHxgGwk|1hs;v!b??~wG4DapFm_9Xm+KloQOWSwsn1AN% zo;$ZMzIcA`!>6}@{{8w-B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&iOR~ z6CVE*I(t~fiouyNz#w3s;{!tm4jGOE4L^JQW}npT?vxVik9y*8fOn2iAH#tQ4uZ2X zUOMv#ckpf5Q+NLTVLlaoW^O)yKHk7O<3v3sUM^0yF1;QDCDtZx4yH72?pPPM5(a)2 z21Z_Pb!M-Xt0R1;dMtBV=$^vH!V|)lRk)mwk5eOsg^9~2ajAiM`Q-B#E*du|H}Pjx z$6UH~X-e@DUwwf}My}jM?+qoK{PX5e4K~eO^`!9Q9Sh)Flw{VLrac*pATyA;l zP$&1LwF{jy$_fl>JT@lr$_VLZ-Fd;H%wi+sti`q91FI>A@ZDgRf&~qi8CWKzkc7a)G7auRPz}ABy%L4W-z40}~>r%Dm zjs=D$Itg9%3_@Q7!uquZ#hnwc-1+GsG*h_T^WvkX1tN@0hkpHIwaJ;OQ&su?mGtM3 zheDodp+XKndZQQHL6v3+|#={jXc1t@NHxgGwk|1luB{Df??~wG4DapFoIW*q+RXB0i(7W?TzKlt zp1Zd%zI<`-!^by&{{8+>B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&iPFN z6CVE*I(t~fiouyNz#w3s;{!tm4jIk^4L^JQW}npTzTjiAgkMDbfvXu$OZx&Yxe8_m zXXiVAvlxA5IFu~-`M;sDsh(X$pP8GFpO1&5*`(ZHV!zR3eI?d*ZVo0!CT?yGXIJ+M z-wGB6MqX}pX0J8tB7CPY@v|^-`9y8ov1_x(hP6SyjC=tadw1?mTw!2dGv(6dD^0D+ z?feA|l~;A9-P0<+t0z#$$W>hKePCG%|AGY^oF6{+RX*V0S&&%%>(9Zai{0Bf4=}O5 z3HTFzVZG$eBF96Xb6(`~_jQOEXVoMMy7%=eIInu)v8dl8i}9Ubu8-zpDV8419?cgf z42_MF9NQSV3XIuybp9*ZbYt?#){TkUYz7`pN4giWyKop3Tu|U*SQ)a`?nBdpnO!Wl z6YetZ_E_Dx)McIDS}hgb2DX(ax_CE>yy{+LP@xr2a`_r(bU_~L8?OZhB8S=*bNpMW z#VaAoDD(K`Nftv!4eva;mNyl1yu=MQTLv0ieOPG|+qx{S@w|3dOVpMFWfi-YZ4>2K zFlE-?8?x@j3ohG6vHJGx6|l%D(+*`(drRLVYC`!!#aljRXgdfM`ZOKK3Yg20pbOroJ+*0JcQGS#ucG zoOqL#c^aB!HLu^WQKwkBotcqm%BBXRJ+9L>=?d8Ch4am2VCClGa*yWXoR|{baO%u~ zc|4I*i%y>n;^yaRi+T7s(uk$m_kG%PK@SVBEr|+M?3S|FSzg?Sg!pg-{-??h| zXt6Bta#(qVyS@B@q>GwItW=S(xJz_lLt``BlsOqbjol3=*!iamD17AD#3~ZQR=4!U zk3jJzwn;gU<{a^Q)Wyyzm%!q2;O0aICq|6`Pu@t)9REpAK70=8X=eGqCh05Zgx8a! zxvM7B7@W=EVxBBkz?{&w#z&i_;*?92*aP3)D>585Om$kwB+}>5_H^=rgCX91JgjyC v*Sw~%_zKtyoN;JyXMe8aZNnw!C(yl{7CX` literal 0 Hc-jL100001 diff --git a/doc/et/images/button-start-printer.gif b/doc/et/images/button-start-printer.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4a462c4cbb0c062a7fdebf36402f5d58bb6a560 GIT binary patch literal 567 zc-nLKbhEHbOl1&ZXc1swn90B}msf0wg!C#+lMQB$8|}ikxX0~}YdPCA?dr6pcb4sb zvg_uDo6o+!`26$p-~WI9lL!=lvM_Qn2r%d{00GEO2iAWIDt!TpEDo#I<-FckpmRP; zLF9?Xk^Vyqw1Xc!VBnE!aApquAsgK9=;e`PE75v{|3icThlk#_4>w#H8ILnEOe^Db znC_6W;O6^{&NAoIB|Qw%J$bG5{M!<1JGxAiSZ#tBdAK#0_|-T9+cUE?+xb|{rZde9 z(&jJV@T-wp;gZZ0m5 zb}r6L>vhYnT>QJ})MUDPHuv&(NO*)N9BgJ`=y}9)VF_b%lB2A^iLW0+)Fx}2BsmAYo7gnx z-lj<#Kb@E~(|w)X)adC?f*P4@^iOUu%wcSHdb%suH__p&mhwxbnbsv~7RD^_65S-{}BY>tqxe7_0$wsR8Q% literal 0 Hc-jL100001 diff --git a/doc/et/images/button-stop-class.gif b/doc/et/images/button-stop-class.gif new file mode 100644 index 0000000000000000000000000000000000000000..b395262137a06181b31b20374e76e7b19d4ec94a GIT binary patch literal 491 zc-nLKbhEHbjARgDXc1sI%fN7+mFuFEAf0&-}ytU=+@@1d) z?EQZ2>dz-nf4zP8_s_5YBm%{sER0+X0t`9~KmfASf%Tt)N}qrrL&mCgIj{E>>|tZE zocG>%!Qn*=jK>)bE--R2F&t_%lAG*3P4Alv)r-CTRxm^zplyBXMd9cIrpFiovm zx@=jla-Fqi|LU?e70dMn4A*h+bM4}CX1C+2^xLgz{z0#P%A=H8%Z)MWRVEn?4wB96 zd|X!56B;fbYzZnm8eVCE)ytVb+!bR^l ztp9%L;?KuVe!qS9_wVojBm%{sER0+X0t`9~KmfASf%Tt)N}qrtL&mCgIj{E>$Z)e* z&U5HD!Veab&4(ZP?W*QO@#s*H!yJU+u1p@b8~U=PtiDV=ty8{pY^QM3wQ0=>%3J* zz+!XV)thN%*Y7-dkbckn;j@*G%`%_A*}VF`o-Y$;KsI~+a>luO-=}YZ#fOi2{{*?SQ+H(IwC$KIQe)L6)k0mIPTZXl5dfx z*$}`wJ;`kH%8Df?yw!ar7oNNm^!Z{>n2yCGXF-MF zzPqB2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&Uq7U zktY?0x|j^?t~48R2(UG@G?)75O=WCY*qEio*vzi*z=LDrwWqHxDrl@|c&MPABf-&s znOXBi((_Cu>)skp7k1O8<`z9p>()*kb``_O+ODQ*t%|P6ozwM|SnH;G@&{Hh@v|^- z&0|=+bh$@N*~%r$igO~{xrD|~7d7wLx$x|{ zeUBgA`0(+~k6+*Z{r~fyM4Mm}=?hR~$XK;5=k>kc7XXI0){G)IWH;ejCoi(j*Q7v}<|9)>4eo+btX5xF8qLv#WjYb8%8&|z~r zP;s;7)KaZopG7iMp78l5de+v5G8c!GwU-AoS9N#QHTZ@#_arM?)0QoV|jS4TH4KHjg8xIn5fhrz{p(Z3y2gCvDSPK)Y?p4<}3 z&DJ83dTFV{h6U>I6K<6%A^9C3nYLaW$uPxqUO=(HTrD0v6>~ zeRDbBwML}5{Zhr1;;*KETw&49+pENtf1Z+gppd7*GRK|u#4(MdS(59ckGwmYV#a;N ztYCKrL;um&hTFmmjFx4+6l3F4JNo;ZyRdL0pGb=1I-Ax)5#9qq`FZD5m^W>TYBavE zfU&~HV@9#-L^&BQCZ1E$S<~+b%=y7QeRuo11C^7%)qh}TsQJWr;Q;fyi~r0|x*lHQ zAS1w~@I;z1sN%AGXrAv9CkByq4}8t8mtJ0|PN&URszr{|=YY)tDf-SYFP>*Tv8ml=2q zBp1qa?`WD6u*P)CaXn>GH~&1d>Puyu|b3R<{4wH?1CC+t>s@; zrTQzGJ6B~b=CI6Kx~6B5z)Bg%r&+Gccnwxu=Ta$6d$Y0QYl7saGiJBFGkT|PShD#F Od)VqFZniB94AuZw;+=;8 literal 0 Hc-jL100001 diff --git a/doc/et/images/button-view-access-log.gif b/doc/et/images/button-view-access-log.gif new file mode 100644 index 0000000000000000000000000000000000000000..36dac059982deb46713c2842e3648cdc1cede0a5 GIT binary patch literal 687 zc-nLKbhEHb>|zjMXc1t@NHxgIu_-NasjCfY??~+K4DabnpFTBt^7PWBi<-A@pMUP$ zzB{)sJb!lg!^by&{{8+>B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&iN8u zktY@V4m&e6xih#*FbMH266~y!U_6>!^fW{#C@}4UgvHk&KL?3jbL=FVk0cvL7%<$| zUBF$xK!U5`k!*p=EVg)kCM9;$_Kwc3ZUZ)6{&atRb``y9ZSMLWz2w>RnsgQzEz(wE zHR8_JbYx-T@>{bm(aync(L`YnVHy}qxjiacsASb-R#!H$y@4hFz5n9MOD5d z7xVGPGJT8Id5<1Hd8$1{*?_lFgEQZBuEEFIpC2umEnwuq$jhP0!6UZBi7{Zoc0*S7 zpv;1&@eZvlL8d<#vm_6;v(Kz7cGG>-+|DU zvD_$~a>I6};iiLjYbRQ4HBjyjwp^oWdEb(2lEtq&5G}Ca#wH%)iukx?YR_M=NYp-u*~6u-uI}K;|^sk vD!WA%%5uL{NL}d9EO6l{Q`*4^hXcghG?ch}--a9tQC{Y8j#sUXfx#L8bPYE8 literal 0 Hc-jL100001 diff --git a/doc/et/images/button-view-error-log.gif b/doc/et/images/button-view-error-log.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c871ce95a904607ca1222aa6af61c34cb3a12ea GIT binary patch literal 550 zc-nLKbhEHbOlA;aXc1t@NHxgGvMMQduB{Dh?@a9O4DapFm_9Xm+Klog3!AoYpMUn; zzB{)rynJ#0!^hXZ|Ni<|%bRK9WG9=jY0+Bg8EL%S>deej zStfbsBqpa$eMmIZ{5CQr*^Hf0dJB9XKK-$UAmih2p9$OaAp8Aj#MeIJzXxs-N2Y} zp_zf1o!4X5nL}*XnAv<1ObagXu`QNZEu<46=#Zqo-0OpB>GVU<$7e7Id{A(B@H9ks zmS4aXE!UG$t9~Z!s0#Qd7qLBO+W}W^-qQw~w4Uv&RhYK^TA-`#sSCFZk1m>aMF3PP^6E1!@RSAQqTonc@T)qElLqW8i~S(Z1d(+Zg%zPw&4$EMRLxb3af JW@iQlYXDtH`|$t( literal 0 Hc-jL100001 diff --git a/doc/et/images/button-view-page-log.gif b/doc/et/images/button-view-page-log.gif new file mode 100644 index 0000000000000000000000000000000000000000..13f2ca706b7f1c18780c5af80743f3f6fa5fb9d1 GIT binary patch literal 576 zc-nLKbhEHbOk)sXXc1t@NHxgGvMMQduB{Df??~+K4DapFoIW*q+RXB$i<-A@n|J2i z-aEH1ym)c%!^hWu{{8w-B2fIv!pOxSz@Wnb1Ry&dSpO-g^aUs~WUN}3^Lk%_&Soda zzUS69EE}G;Fe*HBU~P9j;LKqm6mH#cVB!besl3b&6=#H%H)}L3WYCakU=aOk&=JdY zG0|=P?e|*Fk3S|D#IvjDrE7DCRv6^#gm?0nc4;fI8gcV;Yckm|ae2>VnH_EuG;29#Qc z!y0p9!m-{KUS%(risZf{l8ij7I24qX9g_dXjk#sRO)|D>u!U4jSSso*zj|}W##iZ*^LN%U j%IrQd`y2xki}-_{z>V8K_VatrusA34VZF2>1A{dH+C&B= literal 0 Hc-jL100001 diff --git a/doc/et/images/button-view-printable-version.gif b/doc/et/images/button-view-printable-version.gif new file mode 100644 index 0000000000000000000000000000000000000000..4b8e0c652316e785991e8a213a20c8ee3ec94b24 GIT binary patch literal 758 zc-nLKbhEHbT*4s2&?3N)k!p~eV^dn}Qdb+)(Gl0%moa^6^3)mSOBc6n-7@>o;kD<^ z@4IvB!i(qkK74%h=il%DBm%{sER0+X0t`9~KmfASf%Tt)O5X%UhKyC~a$fH%&^cd{ zd$`H5@A+?@&f_oHHFy{}*b_cD2zDP=dHpkiXNKk@{f!QZjQ+|&GkHX$H8zUWgiJlp z(8#>;O4Q8b2VS1`U=ZTbsI6~I;ALfXiq~UOVl$sGanj@|Qzuv{+i_|6Yj;o6o?E(L ziQfDP%eDFp{C(`1_*t18!+jH23pZ|FwB65rLkCY3GrLRt#+{qCFfj5JYaH0^enR`~ z`7^xS>P(mSv!(^r)HO6cZVlOLFhh0e+js9j7`_%*!^@kNW4K4}x9;DcQ~n)QcJ049 z(WSFbCSgN@CK0J^VOXUB< zqbFm*nq<#EN#yh;T?gjr?eZ#aPCsrk*=z6>rtv)3*mYjhML6NX0>=j@_!=w}{-!n< zXvgJ6>nP+*J||N5GxF*UO@_vHwc96b?NYyMY}im;;FGxLq(=;wgT8+pZ{)Yl8wG5g z&5Rn0bT(|Wy`ZczT{6qQZutYLRcDzFh3VU=Px@5px?yW(-~m&auiuX{7K@Z7DU@p~ zbT}v;y`t*Hz^Ty~SG{4w@_W@{OFug)vn}1=BT#(jyQ{#C2^|M&wHI(qVB$Z~GMS0D zAi29+YZC`UPx#Z0wr=eYJ0?0CK5}Yd=;#caowqaeVxphO)(M_rAz_>+`3^>|d^%0z T%;qVaF>N8@9vq4`v literal 0 Hc-jL100001 diff --git a/doc/et/index.html.in b/doc/et/index.html.in new file mode 100644 index 000000000..8399134d0 --- /dev/null +++ b/doc/et/index.html.in @@ -0,0 +1,141 @@ + + + + + Kodu - CUPS @CUPS_VERSION@@CUPS_REVISION@ + + + + + + + + + + + + + + + + + + + + + + + +

Common UNIX Printing System @CUPS_VERSION@@CUPS_REVISION@

+ +  Kodu   + +   Haldus   + +   Klassid   + +   Dokumentatsioon/Abi   + +   Tööd   + +   Printerid   + +
  + +

Tere tulemast!

+ +

Käesolevad veebileheküljed võimaldavad Teil jälgida oma printereid ja töid +ning süsteemi hallata. Klõpsake vajalike ülesannete sooritamiseks mõnele +ülal paiknevale sakile või all asuvale nupule.

+ +

+Abi +Lisa klass +Lisa printer +Halda klasse +Halda töid +Halda printereid +Halda serverit +

+ +

Kui Teie käest päritakse kasutajanime ja parooli, sisestage enda +või administraatori (root) kasutajanimi ja parool.

+ +

CUPS-i info

+ +

+Happy Computer and Printer + + + +CUPS pakub porditavat trükkimiskihti +UNIX® põhistele operatsioonisüsteemidele. CUPS-i töötas +välja ja hooldab Easy Software +Products, selle siht on edendada standardseid trükkimislahendusi. CUPS on +standardne trükkimissüsteem, mida kasutavad MacOS® X ja +suurem osa Linux® distributsioone.

+ +

CUPS kasutab Interneti trükkimisprotokolli ("IPP") +trükitööde ja järjekordade haldamiseks, lisades sellele +võrguprinterite kasutamise ning PostScript-printerikirjelduste ("PPD") +põhise trükkimise võimalused trükkimise maksimaalseks hõlbustamiseks.

+ +

Printeridraiveritest ja abist

+ +

Printeridraiverite ja muu abi leidmiseks külastage CUPS-i +ametlikku veebilehekülge:

+ +
+    www.cups.org
+
+ +

Kommertstoetus ja CUPS-i täiustatud versioon nimetusega ESP Print Pro on +saadaval aadressil:

+ +
+    www.easysw.com
+
+ +
 
+ +

Common UNIX Printing System, CUPS ja CUPS-i logo on +firma Easy Software +Products kaubamärgid. CUPS-i autoriõigus 1997-2006: Easy Software Products, +kõik õigused kaitstud.

+ +
+ + diff --git a/doc/help/api-cups.html b/doc/help/api-cups.html index 42ffa2d1c..7466fa322 100644 --- a/doc/help/api-cups.html +++ b/doc/help/api-cups.html @@ -176,8 +176,16 @@ CUPS 1.1 or higher.

Description

Add a destination to the list of destinations. -Use the cupsSaveDests() function to save the updated list of destinations -to the user's lpoptions file.

+This function cannot be used to add a new class or printer queue, +it only adds a new container of saved options for the named +destination or instance. + +If the named destination already exists, the destination list is +returned unchanged. Adding a new instance of a destination creates +a copy of that destination's options. + +Use the cupsSaveDests() function to save the updated list of +destinations to the user's lpoptions file.

Syntax

 int
@@ -191,8 +199,8 @@ cupsAddDest(
 
- - + +
NameDescription
nameName of destination
instanceInstance of destination or NULL for none/primary
nameDestination name
instanceInstance name or NULL for none/primary
num_destsNumber of destinations
destsDestinations
@@ -412,8 +420,8 @@ cupsGetDest(
- - + +
NameDescription
nameName of destination
instanceInstance of destination
nameDestination name or NULL for the default destination
instanceInstance name or NULL
num_destsNumber of destinations
destsDestinations
@@ -427,7 +435,10 @@ cupsGetDest( Starting with CUPS 1.2, the returned list of destinations include the printer-info, printer-is-accepting-jobs, printer-is-shared, printer-make-and-model, printer-state, printer-state-change-time, -printer-state-reasons, and printer-type attributes as options.

+printer-state-reasons, and printer-type attributes as options. + +Use the cupsFreeDests() function to free the destination list and +the cupsGetDest() function to find a particular destination.

Syntax

 int
@@ -452,6 +463,9 @@ printer-info, printer-is-accepting-jobs, printer-is-shared,
 printer-make-and-model, printer-state, printer-state-change-time,
 printer-state-reasons, and printer-type attributes as options.
 
+Use the cupsFreeDests() function to free the destination list and
+the cupsGetDest() function to find a particular destination.
+
 

Syntax

@@ -1192,9 +1206,10 @@ cupsSetUser(
 
 

cupsTempFd()

Description

-

Create a temporary file. +

Creates a temporary file. -The temporary filename is stored in the filename buffer.

+The temporary filename is returned in the filename buffer. +The temporary file is opened for reading and writing.

Syntax

 int
@@ -1210,13 +1225,13 @@ cupsTempFd(
 lenSize of buffer
 
 

Returns

-

New file descriptor

+

New file descriptor or -1 on error

 DEPRECATED cupsTempFile()

Description

-

Generate a temporary filename. +

Generates a temporary filename. -The temporary filename is stored in the filename buffer. +The temporary filename is returned in the filename buffer. This function is deprecated - use cupsTempFd() or cupsTempFile2() instead. @@ -1236,13 +1251,14 @@ cupsTempFile( lenSize of buffer

Returns

-

Filename

+

Filename or NULL on error

 CUPS 1.2 cupsTempFile2()

Description

-

Create a temporary CUPS file. +

Creates a temporary CUPS file. -The temporary filename is stored in the filename buffer. +The temporary filename is returned in the filename buffer. +The temporary file is opened for writing.

Syntax

diff --git a/doc/help/api-httpipp.html b/doc/help/api-httpipp.html index 7a08b3352..43c538560 100644 --- a/doc/help/api-httpipp.html +++ b/doc/help/api-httpipp.html @@ -112,6 +112,7 @@ require CUPS 1.1 or higher.

NameDescription HTTP_ENCODE_CHUNKED Data is chunked +HTTP_ENCODE_FIELDS Sending HTTP fields HTTP_ENCODE_LENGTH Data is sent with Content-Length @@ -256,7 +257,7 @@ require CUPS 1.1 or higher.

IPP_DOCUMENT_ACCESS_ERROR client-error-document-access-error IPP_DOCUMENT_FORMAT client-error-document-format-not-supported IPP_DOCUMENT_FORMAT_ERROR client-error-document-format-error -IPP_ERROR_JOB_CANCELLED server-error-job-canceled +IPP_ERROR_JOB_CANCELED server-error-job-canceled IPP_FORBIDDEN client-error-forbidden IPP_GONE client-error-gone IPP_IGNORED_ALL_NOTIFICATIONS client-error-ignored-all-notifications diff --git a/doc/help/ref-cupsd-conf.html b/doc/help/ref-cupsd-conf.html index c8ac57cf8..03cc62f62 100644 --- a/doc/help/ref-cupsd-conf.html +++ b/doc/help/ref-cupsd-conf.html @@ -139,7 +139,10 @@ specifies a CIDR netmask, as shown in Table 1.

The @LOCAL name will allow access from all local interfaces. The @IF(name) name will allow access -from the named interface.

+from the named interface. In both cases, CUPS only allows access +from the network that the interface(s) are configured for - +requests arriving on the interface from a foreign network will +not be accepted.

The Allow directive must appear inside a Location or

The @LOCAL name will allow browse data from all local interfaces. The @IF(name) name will allow -browse data from the named interface.

+browse data from the named interface. In both cases, CUPS only +allows data from the network that the interface(s) are configured +for - data arriving on the interface from a foreign network will +not be allowed.

BrowseDeny

@@ -388,7 +394,10 @@ or bit count.

The @LOCAL name will block browse data from all local interfaces. The @IF(name) name will block -browse data from the named interface.

+browse data from the named interface. In both cases, CUPS only +blocks data from the network that the interface(s) are configured +for - data arriving on the interface from a foreign network will +not be blocked.

BrowseInterval

@@ -981,7 +990,10 @@ specifies a CIDR netmask, a shown in Table

The @LOCAL name will deny access from all local interfaces. The @IF(name) name will deny access from -the named interface.

+the named interface. In both cases, CUPS only denies access from +the network that the interface(s) are configured for - requests +arriving on the interface from a foreign network will +not be denied.

The Deny directive must appear inside a Location or + + + {refresh_page?:} + + + + + + + + + + + + + + + + + + diff --git a/templates/et/option-conflict.tmpl b/templates/et/option-conflict.tmpl new file mode 100644 index 000000000..16415baa1 --- /dev/null +++ b/templates/et/option-conflict.tmpl @@ -0,0 +1,7 @@ +

Viga: järgmised valikud on konfliktis:

+ + + +

Palun muutke konfliktide lahendamiseks vähemalt üht valikut.

diff --git a/templates/et/option-header.tmpl b/templates/et/option-header.tmpl new file mode 100644 index 000000000..cafc9f9fe --- /dev/null +++ b/templates/et/option-header.tmpl @@ -0,0 +1,3 @@ +

{printer_name}: {group}

+ +

{title}

+ +  Kodu   + +   Haldus   + +   Klassid   + +   Dokumentatsioon/abi   + +   Tööd   + +   Printerid   + +
  diff --git a/templates/et/help-header.tmpl b/templates/et/help-header.tmpl new file mode 100644 index 000000000..05c5cb8b8 --- /dev/null +++ b/templates/et/help-header.tmpl @@ -0,0 +1,46 @@ +
+{TOPIC?:} + +

Otsing - +{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:kõigis dokumentides}}: +Puhasta

+ +
+ + + + +{QUERY?

Otsingutulemused - {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:kõigis dokumentides}}\:

+{QTEXT?:} +:

Midagi ei leitud.

} +
:} +{HELPTITLE?

{HELPTITLE} +Näita trükitavat versiooni

:

CUPS-i abi

+ +

See on CUPS-i abiliides. Sisestage otsingusõnad ülalolevasse kasti +või klõpsake mõnele dokumentatsioonilingile abiinfo kuvamiseks.

+ +

Kui Te pole veel CUPS-iga tuttav, lugege osa "Overview of CUPS". Kogenud kasutajad +peaksid aga tutvuma osaga "What's New in CUPS +1.2".

+ +

CUPS-i kodulehekülg pakub +samuti palju materjali, kaasa arvatud kasutajate arutlusfoorumid, vastused +levinumatele küsimustele ning vorm, mis võimaldab esitada veateateid +ja soove.

} diff --git a/templates/et/help-printable.tmpl b/templates/et/help-printable.tmpl new file mode 100644 index 000000000..305112a33 --- /dev/null +++ b/templates/et/help-printable.tmpl @@ -0,0 +1,11 @@ + + + + + {HELPTITLE} + + + + + +

{HELPTITLE}

diff --git a/templates/et/job-cancel.tmpl b/templates/et/job-cancel.tmpl new file mode 100644 index 000000000..da0bafcc3 --- /dev/null +++ b/templates/et/job-cancel.tmpl @@ -0,0 +1 @@ +

Töö {job_id} katkestatud. diff --git a/templates/et/job-hold.tmpl b/templates/et/job-hold.tmpl new file mode 100644 index 000000000..ef4dca044 --- /dev/null +++ b/templates/et/job-hold.tmpl @@ -0,0 +1 @@ +

Tööd {job_id} hoitakse trükkimast. diff --git a/templates/et/job-moved.tmpl b/templates/et/job-moved.tmpl new file mode 100644 index 000000000..ca007aac1 --- /dev/null +++ b/templates/et/job-moved.tmpl @@ -0,0 +1,2 @@ +

{job_id?Töö {job_id}:Kõik tööd} on liigutatud printerisse +{job_printer_name}.

diff --git a/templates/et/job-release.tmpl b/templates/et/job-release.tmpl new file mode 100644 index 000000000..055c519e2 --- /dev/null +++ b/templates/et/job-release.tmpl @@ -0,0 +1 @@ +

Töö {job_id} trükkimiseks vabastatud. diff --git a/templates/et/job-restart.tmpl b/templates/et/job-restart.tmpl new file mode 100644 index 000000000..f2dee0fc3 --- /dev/null +++ b/templates/et/job-restart.tmpl @@ -0,0 +1 @@ +

Töö {job_id} uuesti käivitatud. diff --git a/templates/et/jobs-header.tmpl b/templates/et/jobs-header.tmpl new file mode 100644 index 000000000..4c710a030 --- /dev/null +++ b/templates/et/jobs-header.tmpl @@ -0,0 +1,15 @@ +

{?which_jobs=?Näita lõpetatud töid +Näita kõiki töid:{which_jobs=all?Näita lõpetatud töid +Näita aktiivseid töid:Näita aktiivseid töid +Näita kõiki töid}}

+ +

{total=0?Töid pole:Näidatakse {#job_id} tööd {total} {?which_jobs=?aktiivsest:{which_jobs=all?:lõpetatud}} tööst{total=1?:}}.

diff --git a/templates/et/jobs.tmpl b/templates/et/jobs.tmpl new file mode 100644 index 000000000..4f1fba728 --- /dev/null +++ b/templates/et/jobs.tmpl @@ -0,0 +1,42 @@ +{#job_id=0?: + + + + + + + + + + + +{[job_id] + + + + + + + + + +} +
ID Nimi Kasutaja Suurus Lehekülgi Olek Kontroll 
{job_printer_name}-{job_id} {?job_name=?Teadmata:{job_name}} {job_originating_user_name} {job_k_octets}k {job_media_sheets_completed=0?Teadmata:{?job_media_sheets_completed}}{job_state=3?ootel alates
{time_at_creation}:{job_state=4?hoitakse alates
{time_at_creation}: +{job_state=5?töötluses alates
{time_at_processing}:{job_state=6?peatatud: +{job_state=7?katkestatud
{time_at_completed}:{job_state=8?loobutud:lõpetatud
{time_at_completed}}}}}}} 
+{job_preserved>0? + +Trüki töö uuesti:} +{job_state=4? + +Vabasta töö:} +{job_state=3? + +Hoia tööd:} +{job_state<7? + +Katkesta töö +Liiguta töö:} + 
+} diff --git a/templates/et/maintenance.tmpl b/templates/et/maintenance.tmpl new file mode 100644 index 000000000..c9662419f --- /dev/null +++ b/templates/et/maintenance.tmpl @@ -0,0 +1,2 @@ +

Hooldamiskäsud saadetud; töö ID on +{printer_name}-{job_id}.

diff --git a/templates/et/modify-class.tmpl b/templates/et/modify-class.tmpl new file mode 100644 index 000000000..fd6b1a454 --- /dev/null +++ b/templates/et/modify-class.tmpl @@ -0,0 +1,34 @@ +
+ + +

Klassi {printer_name} muutmine

+ + + + + + + + + + + + + + + + + + + + + + +
Nimi: +{printer_name}
Asukoht:
Kirjeldus:
Liikmed: + +
+ +
diff --git a/templates/et/modify-printer.tmpl b/templates/et/modify-printer.tmpl new file mode 100644 index 000000000..9f697c93b --- /dev/null +++ b/templates/et/modify-printer.tmpl @@ -0,0 +1,29 @@ +
+ +{?device_uri=?:} +{?printer_make_and_model=?:} + +

Printeri {printer_name} muutmine

+ + + + + + + + + + + + + + + + + + +
Nimi:{printer_name}
Asukoht:
+(Arusaadava sisuga asukoht, näiteks "Laud 1")
Kirjeldus:
+(Arusaadava sisuga kirjeldus, näiteks "HP LaserJet duplekseriga")
+ +
diff --git a/templates/et/norestart.tmpl b/templates/et/norestart.tmpl new file mode 100644 index 000000000..84cfc5a6f --- /dev/null +++ b/templates/et/norestart.tmpl @@ -0,0 +1 @@ +

Serverit ei käivitatud uuesti, sest seadistusse ei tehtud mingeid muudatusi...

diff --git a/templates/et/option-boolean.tmpl b/templates/et/option-boolean.tmpl new file mode 100644 index 000000000..72c85189a --- /dev/null +++ b/templates/et/option-boolean.tmpl @@ -0,0 +1,6 @@ +
{keytext}: +{[choices]{text}} +
diff --git a/templates/et/option-pickmany.tmpl b/templates/et/option-pickmany.tmpl new file mode 100644 index 000000000..d2534af75 --- /dev/null +++ b/templates/et/option-pickmany.tmpl @@ -0,0 +1,6 @@ + + + + diff --git a/templates/et/option-pickone.tmpl b/templates/et/option-pickone.tmpl new file mode 100644 index 000000000..08342d06e --- /dev/null +++ b/templates/et/option-pickone.tmpl @@ -0,0 +1,6 @@ + + + + diff --git a/templates/et/option-trailer.tmpl b/templates/et/option-trailer.tmpl new file mode 100644 index 000000000..188073f1d --- /dev/null +++ b/templates/et/option-trailer.tmpl @@ -0,0 +1,5 @@ + + + + +
{keytext}:
{keytext}:
diff --git a/templates/et/pager.tmpl b/templates/et/pager.tmpl new file mode 100644 index 000000000..0c9cdc6ea --- /dev/null +++ b/templates/et/pager.tmpl @@ -0,0 +1,7 @@ + + + + + + +
{PREVURL?Näita eelmist: }{ORDER=dec?Sorteeri alanevalt:Sorteeri tõusvalt}{NEXTURL?Näita järgmist: }
diff --git a/templates/et/printer-accept.tmpl b/templates/et/printer-accept.tmpl new file mode 100644 index 000000000..8acec73f9 --- /dev/null +++ b/templates/et/printer-accept.tmpl @@ -0,0 +1,3 @@ +

{is_class?Class:Printer} {printer_name} +võtab nüüd töid vastu.

diff --git a/templates/et/printer-added.tmpl b/templates/et/printer-added.tmpl new file mode 100644 index 000000000..455c418ef --- /dev/null +++ b/templates/et/printer-added.tmpl @@ -0,0 +1,2 @@ +

Printer {printer_name} edukalt +lisatud. diff --git a/templates/et/printer-configured.tmpl b/templates/et/printer-configured.tmpl new file mode 100644 index 000000000..5dbf70ba9 --- /dev/null +++ b/templates/et/printer-configured.tmpl @@ -0,0 +1,2 @@ +

Printer {printer_name} edukalt +seadistatud. diff --git a/templates/et/printer-confirm.tmpl b/templates/et/printer-confirm.tmpl new file mode 100644 index 000000000..fec4bf06d --- /dev/null +++ b/templates/et/printer-confirm.tmpl @@ -0,0 +1,7 @@ +

Hoiatus: kas soovite tõesti kustutada printeri +{printer_name}?

+ +

Kustuta printer

diff --git a/templates/et/printer-default.tmpl b/templates/et/printer-default.tmpl new file mode 100644 index 000000000..9adae5b92 --- /dev/null +++ b/templates/et/printer-default.tmpl @@ -0,0 +1,6 @@ +

{is_class?Class:Printer} {printer_name} +on määratud serveri vaikimisi printeriks.

+ +
Märkus: kõik kasutajate vaikeväärtused, mis on +määratud käsuga lpoptions, tühistavad selle vaikeseadistuse.
diff --git a/templates/et/printer-deleted.tmpl b/templates/et/printer-deleted.tmpl new file mode 100644 index 000000000..aec0ced53 --- /dev/null +++ b/templates/et/printer-deleted.tmpl @@ -0,0 +1 @@ +

Printer {printer_name} edukalt kustutatud. diff --git a/templates/et/printer-jobs-header.tmpl b/templates/et/printer-jobs-header.tmpl new file mode 100644 index 000000000..b3d29dee4 --- /dev/null +++ b/templates/et/printer-jobs-header.tmpl @@ -0,0 +1 @@ +

Tööd

diff --git a/templates/et/printer-modified.tmpl b/templates/et/printer-modified.tmpl new file mode 100644 index 000000000..0e5789a09 --- /dev/null +++ b/templates/et/printer-modified.tmpl @@ -0,0 +1,2 @@ +

Printer {printer_name} edukalt +muudetud. diff --git a/templates/et/printer-purge.tmpl b/templates/et/printer-purge.tmpl new file mode 100644 index 000000000..3225c10fc --- /dev/null +++ b/templates/et/printer-purge.tmpl @@ -0,0 +1,3 @@ +

{is_class?Class:Printer} {printer_name} +kõigist töödest puhastatud.

diff --git a/templates/et/printer-reject.tmpl b/templates/et/printer-reject.tmpl new file mode 100644 index 000000000..e93de18de --- /dev/null +++ b/templates/et/printer-reject.tmpl @@ -0,0 +1,3 @@ +

{is_class?Class:Printer} {printer_name} +ei võta enam töid vastu.

diff --git a/templates/et/printer-start.tmpl b/templates/et/printer-start.tmpl new file mode 100644 index 000000000..533ac9bb2 --- /dev/null +++ b/templates/et/printer-start.tmpl @@ -0,0 +1,3 @@ +

{is_class?Class:Printer} {printer_name} +käivitatud.

diff --git a/templates/et/printer-stop.tmpl b/templates/et/printer-stop.tmpl new file mode 100644 index 000000000..601c50ae9 --- /dev/null +++ b/templates/et/printer-stop.tmpl @@ -0,0 +1,3 @@ +

{is_class?Class:Printer} {printer_name} +peatatud.

diff --git a/templates/et/printers-header.tmpl b/templates/et/printers-header.tmpl new file mode 100644 index 000000000..5c37b37d9 --- /dev/null +++ b/templates/et/printers-header.tmpl @@ -0,0 +1 @@ +

{total=0?Printereid pole:Näidatakse {#printer_name} printerit {total} printerist{total=1?:}}.

diff --git a/templates/et/printers.tmpl b/templates/et/printers.tmpl new file mode 100644 index 000000000..a9d14194c --- /dev/null +++ b/templates/et/printers.tmpl @@ -0,0 +1,64 @@ +{printer_type?:}{#printer_name=0?: +{[printer_name] +

{printer_name}{default_name={printer_name}? (vaikimisi printer):} +{?printer_state_message=?:"{printer_state_message}"}

+ + + + + + +
+ +Kirjeldus: {printer_info}
+Asukoht: {printer_location}
+Valmistaja ja mudel: {printer_make_and_model}
+Printeri olek: {printer_state=3?jõude:{printer_state=4?töötleb:peatatud}}, +{printer_is_accepting_jobs=0?ei võta töid vastu:võtab töid vastu}, {printer_is_shared=0?pole:} avaldatud. +{?device_uri=?:
Seadme URI: {device_uri}} + +

+ +Trüki testlehekülg +{?cupscommand=1? +Puhasta prindipead + +Trüki enesetesti lehekülg:} +{printer_state=5? + +Käivita printer +: + +Peata printer +} +{printer_is_accepting_jobs=0? + +Võta töid vastu +: + +Ära võta töid vastu +} + +Liiguta kõik tööd + +Katkesta kõik tööd +{printer_is_shared=0? + +Avalda printer +: + +Ära avalda printerit +} + +Muuda printerit + +Määra printeri valikud + +Kustuta printer + +Määra vaikeväärtuseks + +Määra lubatud kasutajad +

+
+}} diff --git a/templates/et/restart.tmpl b/templates/et/restart.tmpl new file mode 100644 index 000000000..7ec91b078 --- /dev/null +++ b/templates/et/restart.tmpl @@ -0,0 +1 @@ +

Palun oodake, kuni server taaskäivitub...

diff --git a/templates/et/samba-export.tmpl b/templates/et/samba-export.tmpl new file mode 100644 index 000000000..610d8caf9 --- /dev/null +++ b/templates/et/samba-export.tmpl @@ -0,0 +1,55 @@ + + +
+ + +

Printerite eksport Sambasse

+ +{error?

Printerite eksport Sambasse ebaõnnestus:

+
{error}
+

Täpsemat infot annab error_log.

: +

Käesolev lehekülg võimaldab eksportida printereid Sambasse, et +Windowsi kliendid saaksid neid kasutada ikoonide Network +Neighborhood või Network Places abil oma töölaual. +Teil peavad eelnevalt olema paigaldatud Windowsi PostScript +printeridraiverid, nagu seda kirjeldab cupsaddsmb(8) manuaal.

} + + + + + + + + + + + + + + + + + + +
Printerid: +
+ Kõigi printerite eksport +
Samba kasutajanimi: (nõutav)
Samba parool: (nõutav)
+ +
diff --git a/templates/et/samba-exported.tmpl b/templates/et/samba-exported.tmpl new file mode 100644 index 000000000..b72a6b5bd --- /dev/null +++ b/templates/et/samba-exported.tmpl @@ -0,0 +1 @@ +

Printerid edukalt Sambasse eksporditud.

diff --git a/templates/et/search.tmpl b/templates/et/search.tmpl new file mode 100644 index 000000000..c5e06ee21 --- /dev/null +++ b/templates/et/search.tmpl @@ -0,0 +1,13 @@ +
+{WHICH_JOBS?:} +{ORDER?:} + +

Otsing - +{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?klassides:{SECTION=jobs?töödes:printerites}}}: + +Puhasta

+ +
diff --git a/templates/et/set-printer-options-header.tmpl b/templates/et/set-printer-options-header.tmpl new file mode 100644 index 000000000..864f9f0ce --- /dev/null +++ b/templates/et/set-printer-options-header.tmpl @@ -0,0 +1,3 @@ +
+ + diff --git a/templates/et/set-printer-options-trailer.tmpl b/templates/et/set-printer-options-trailer.tmpl new file mode 100644 index 000000000..a3d1e1ffa --- /dev/null +++ b/templates/et/set-printer-options-trailer.tmpl @@ -0,0 +1 @@ +
diff --git a/templates/et/test-page.tmpl b/templates/et/test-page.tmpl new file mode 100644 index 000000000..4d5d88dd6 --- /dev/null +++ b/templates/et/test-page.tmpl @@ -0,0 +1,2 @@ +

Testlehekülg saadetud; töö ID on +{printer_name}-{job_id}.

diff --git a/templates/et/trailer.tmpl b/templates/et/trailer.tmpl new file mode 100644 index 000000000..72871fb28 --- /dev/null +++ b/templates/et/trailer.tmpl @@ -0,0 +1,21 @@ + +  + + + + + +

Common UNIX Printing System, CUPS ja CUPS-i logo on +firma Easy Software +Products kaubamärgid. CUPS-i autoriõigus 1997-2006: Easy Software Products, +kõik õigused kaitstud.

+ + + + + + + + diff --git a/templates/et/users.tmpl b/templates/et/users.tmpl new file mode 100644 index 000000000..2eaffed5f --- /dev/null +++ b/templates/et/users.tmpl @@ -0,0 +1,26 @@ +
+ + +{IS_CLASS?:} + +

{printer_name} lubatud kasutajad

+ + + + + + + + + + +
Kasutajad: + +
+Neil kasutajatel lubatakse trükkida +Neil kasutajatel keelatakse trükkida +
+ +
+ +
-- 2.39.2