2015-04-29 Tim Waugh Bumped version for 1.5.7 release. make pull-translations && make update-po 2015-04-23 Tim Waugh Test device ordering. hp beats dnssd and usb. Fixes for appdata file. Re-bootstrap. Fixes for appdata file. 2015-04-21 Tim Waugh Fixed traceback (bug #1213136). 2015-04-13 Tim Waugh Set use_underline=True for previously-stock buttons (bug #1210859). 2015-04-01 Tim Waugh Increase bus settle time for usb_modeswitch devices (bug #1206808). 2015-03-17 Tim Waugh Bumped version for release. make pull-translations && make update-po Removed po/missing. Bumped version for release. make update-po 2015-03-17 Mario Sanchez Prada Pass the path when creating a cups.PPD object out of a temporary file We were passing the BufferedRandom object stored in tmpf.file instead of the string containing the path, resulting in the following failure wen creating the cups.PPD object: 'TypeError: unicode or bytes object required' https://fedorahosted.org/system-config-printer/ticket/243 2015-03-17 Tim Waugh PPDs test fix for HP LaserJet 6MP. 2015-03-17 Mario Sanchez Prada Don't install an OpenPrinting driver if License is not accepted https://fedorahosted.org/system-config-printer/ticket/240 Don't call nextNPTab() with step > 0 for "download_driver" mode Doing otherwise would cause an "index out of range" error when calculating the next page in nextNPTab(), since there's only one possible stage in the order for the "download_driver" mode. https://fedorahosted.org/system-config-printer/ticket/239 newprinter.py: extract part of installdriverpackage to a separate function Splitting the part that performs the actual installation out to a separate function will make it easier to read as well as integrate other methods, if needed, to install a driver package in the system. https://fedorahosted.org/system-config-printer/ticket/241 2015-03-17 Tim Waugh Updated aclocal.m4. 2015-03-17 Jiri Popelka Improve some Gtk+ 3 stuff. https://wiki.gnome.org/PyGObject/InitializerDeprecations (cherry picked from commit 9ad9f557d0f8dddecacd4fc6b5ce6876f8855977) 2015-03-17 Mario Sanchez Prada Consider inexistent 'functionality' field in returned data for driver In a similar fashion to what is done with the field 'supportcontacts', we need to check whether 'functionality' exists in the returned data for the requested data, before actually accessing it. https://fedorahosted.org/system-config-printer/ticket/242 2015-03-16 Tim Waugh Removed deprecated GtkButton:xalign properties. 2015-03-13 Tim Waugh Fixed gdk_pixbuf_composite() parameters (bug #1200375). 2015-03-13 Jiri Popelka GObject.SIGNAL_RUN_LAST (deprecated) -> GObject.SignalFlags.RUN_LAST Update generated configuration files with autoreconf -fi. Updated aclocal.m4. 2015-03-12 Mario Sanchez Prada Update sensitiveness of the Apply button in 'download_driver' mode At the moment, the Forward button shown in the 'download drivers' page is properly updating its sensitiveness depending on whether the license has been explicitly accepted or not. However, the Apply button shown when running the NewPrinterGUI dialog in 'download_driver' mode is always sensitive, regardless of the license being accepted. This patch fixes this issue by sharing the code that checks the acceptance of the license between the two use cases. https://fedorahosted.org/system-config-printer/ticket/238 2015-03-10 Tim Waugh Use BILINEAR, not NEAREST, when using composite() (bug #1200375). 2015-03-02 Tim Waugh Don't remove CMD-mismatched drivers if only left with generic ones (bug #1171874). 2015-02-27 Tim Waugh Don't try decoding already-decoded Unicode (bug #1195974). Don't try writing bytecache when running udev-add-printer (bug #1196183). 2015-02-26 Tim Waugh Fixed class add/remove member button icons. 2015-02-26 Mario Sanchez Prada Fix wrong usage of non existent variable: pkgname -> pkg This was a problem only in the RPM installation code path. (cherry picked from commit 64f7cc85eb46b2a95f40facc68607be3a1aa119b) 2015-02-19 Tim Waugh Don't show traceback messages for missing probe helpers (bug #1194101). 2015-02-18 Till Kamppeter Allow driver package installation also when repository list refresh errors Let the install-printerdriver helper script ignore errors of the cache refreshing step. In most cases the newly added repository gets loaded but the error is caused by another repository. 2015-02-13 Mario Sanchez Prada Make KillTimer thread-safe by protecting the public API with locks https://fedorahosted.org/system-config-printer/ticket/237 Extract KillTimer to a separate file and import it from scp-dbus-service https://fedorahosted.org/system-config-printer/ticket/237 2015-02-06 Tim Waugh Updated translations. Bumped version for release. Appdata fixes. When setting default printer, handle auth cancellation more gracefully. The auth is only for when cupspk says 'Not Found' and we try to fall back to IPP auth. Minimal unit test for PhysicalDevice. Fixed callback race (bug #1176443). Fixed some icon issues. 2015-02-02 Tim Waugh Check firewall if Network is expanded before network devices list fetched. 2015-01-29 Tim Waugh Parse 'serial:/dev/ttyUSB0' correctly (bug #1186475). 2015-01-28 Tim Waugh Fixed 'make test-xmldriverprefs'. 2015-01-28 Mario Sanchez Prada Don't add 'licensetext' to driver's python dictionary when not available Doing otherwise will cause trouble later on in newprinter.py, when reading the value of 'licensetext' providing a fallback text, in case it's not available, using driver.get('licensetext', _("Not specified.")). 2015-01-28 Till Kamppeter Support license text of driver on separate, downloadable URL The OpenPrinting web server does not only allow the driver's license texts being embedded in the Foomatic driver XML file but also having the text on a separate URL and link to it in the driver XML file. This makes it easier especially for printer manufacturers to maintain their often long license texts and also translations for them. system-config-printer supported only directly embedded license texts and as Epson switched to separately downloadable ones, their drivers could not get downloaded any more. This patch adds support for the separate texts. Make inter-process communication with install-printerdriver script more reliable For adding package repositories and installing printer driver packages out of them the install-printerdriver script is used. It provided data to the caller from both stderr and stdout. As the data could come out in an unexpected order a buffer could run full (especially with the openprinting-gutenprint package which has a very long file list) and block system-config-printer or make it crash (broken pipe). Now all relevant data (progress and file list) is provided via stdout and only stdout is read. This way the install-printerdriver script works reliably. 2015-01-19 Tim Waugh Fixed typo preventing retrieve/reprint from working. 2015-01-15 Tim Waugh Updated aclocal. Fixed typo in exception handler (part of bug #1181043). 2015-01-07 Tim Waugh SystemConfigFirewall: Deal with callers not providing an error handler (bug #1179590). 2014-12-18 Tim Waugh update-po Generate Zanata locales list from ALL_LINGUAS. 2014-12-17 Tim Waugh Enable translations with Zanata. 2014-12-12 Tim Waugh Use 'with' when dealing with temporary files. Some instances not touched as they are more complicated. Fixed typo. ppdcache: Cleaned up using 'with'. Handle non-UTF8 PPD files (Launchpad #1400232). 2014-12-12 Till Kamppeter Define packagesystem variable in config.py The packagesystem variable is accessed from both newprinter.py and OpenPrintingRequest.py, which both import config.py. NewPrinterGUI class: Pre-define recommended_model_selected attribute This attribute is needed by the fillDriverList() method. Create filelist of freshly installed driver packages in UTF-8 When installing a printer driver package, the helper script install-printerdriver returns a list of the freshly installed files to make it easier to assign a PPD of this package on the following creation of a print queue. When we read it, we create the file list array directly as UTF-8 strings for easier usage later on. 2014-12-12 Tim Waugh troubleshoot: get logs from cups.service, not just cupsd 2014-12-10 Tim Waugh Avoid traceback (bug #1171469). Fixed 'Search' button icon. 2014-12-10 Till Kamppeter Do not del() items from an array while looping through it Python 3 does not allow removing items from an array when one is looping through this array. In addition, keep the driver when it contains PPDs or packages (if DOWNLOADABLE_ONLYPPD is not set). Installability of the packages is now checked later in newprinter.py. Removed download configuration setting definitions from newprinter.py These settings are now defined in config.py. Refresh list of available drivers after installing a driver package Make sure that the list of available drivers in the GUI gets refreshed after a new driver got downloaded and installed (call fillDriverList()). Let fillDownloadableDrivers() method check whether package is installable We check whether a downloadable package initially reported by OpenPrinting qualifies for being installed checking whether things like signature, architecture, package type, ... are correct. This test was formerly in the code for querying OpenPrinting for drivers, but as this code has moved from newprinter.py to OpenPrintingRequest.py this check has now moved to the fillDownloadableDrivers() method. Let fillDownloadableDrivers() method tell the caller whether there are actually drivers to choose from This way we avoid that we have an empty list if all drivers reported by OpenPrinting disqualify on installability check. Make fillDownloadableDrivers() method also correctly work if printer is determined automatically and not only via manual search facility. install-printerdriver: Workaround for bug in aptdaemon Added a workaround for a bug in aptdaemon interpreting PackageKit's package IDs wrongly when installing a package (Ubuntu bug #1397750). install-printerdriver: Improved check for need of adding driver's Debian repo Use pyrequests instead of pycurl for secure (verified certificate) downloads pycurl stopped working after the OpenPrinting web server has moved from Ubuntu 10.04 to 12.04. 2014-12-01 Tim Waugh Debug output showing DBus exception message. 2014-11-26 Tim Waugh Fixed display of downloadable drivers (bug #1167978). Don't remove all non-matchin gCMD-specified PPDs if there would be none left (bug #1167978). Prevent backtrace (bug #1167978). 2014-11-24 Andre Heinecke Refresh job-printer-uri in update_job The job-printer-uri might differ from the job-printer-uri cups recturns when it is requested from the job attributes. This happens for example if the jop-printer-uri is taken from a notification event in monitor.py. Different job-printer-uris break the URI based Auth info lookup in gnome keyring. 2014-11-11 Mario Sanchez Prada Consider version suffixes in Nickname for PPDs from Canon drivers Expand the regular expression _RE_version_numbers in cupshelpers/ppds.py so it matches the NickName in PPD files from Canon drivers as well, in a similar fashion to what it already does for some HP printers. https://fedorahosted.org/system-config-printer/ticket/235 2014-11-10 Tim Waugh Bumped version for release: 1.4.7. update-po Updated. 2014-11-04 Tim Waugh Bumped version for release. tx pull && make update-po Fixed alignment of left/right arrows when choosing class members. 2014-11-03 Tim Waugh jobviewer: tell monitor which printers to watch. monitor: job-removed when moved out of watched set of printers. jobviewer: React to button-press-event for Move To submenu (Launchpad #1388601). Catch IPPError when writing server settings (bug #1159584). 2014-11-02 Tim Waugh Set orientation of some internal GtkBox widgets. Changed GtkHBox widgets to GtkBox. Changed GtkVBox widgets to GtkBox. Removed GtkAlignment widgets. Refer to button label by id, not parentage. 2014-10-31 Tim Waugh Moved appdata file back to top level. Can't seem to get 'make distcheck' to succeed when it's in a sub-directory. ui/PrintersWindow.ui: Fixed indentation. Fixed Error Policy label content. Changed GtkAlignment xalign/yalign properties to halign/valign on child. Dropped xscale/yscale properties. Dropped GtkViewport resize_mode property. Converted GtkAlignment *_padding properties to GtkWidget margin_* equivalents. Don't set old align properties on GtkImage/GtkCheckButton widgets. Don't set old pad/align GtkLabel properties. Don't set stock or use_stock properties in the GtkBuilder files. Don't use deprecated gtk_*_new_from_stock() functions. 2014-10-30 Tim Waugh Show New Printer dialog immediately for printer_with_uri mode. Found while investigating bug #1158743. monitor: another update timer handling issue. Cancel deferred timer on quit (possible fix for bug #1145388). 2014-10-29 Tim Waugh jobviewer: always fetch auth-info-required attribute (LP #1380514). Don't try installing smb backend a second time. This happens when performing an OpenPrinting ID-based search. 2014-10-28 Tim Waugh Don't treat CUPS IPP conformance failure state reasons as errors. Codec fix for AuthDialog.get_auth_info (bug #1060453). Fix path for screenshots. AppData screenshots. Fixed physical device identification. The MFG and MDL names were being compared too strictly. The cupshelpers.ppds.normalize() function is used first now. 2014-10-28 Till Kamppeter Fixed parsing of HPLIP fax type, as implicit conversion from string to int does not work any more (Ubuntu bug #1369789). 2014-10-28 Tim Waugh timedops: Don't try to remove sources that are already removed. Tell user how to retrieve journal entries as root (bug #1157253). 2014-10-23 Tim Waugh Removed empty translations. tx pull, tx push, update-po update-po Transifex resource is 1-5-x for master branch. Transifex resource is 1-4-x for 1.4.x branch. 2014-10-22 Tim Waugh ppdcache: return exception rather than looping. 2014-10-22 Till Kamppeter newprinter.py: If additional utilities are needed, do not try to install them twice. Make recognition of HP MFPs with scan functionality actually work, instead of considering everything as HP scanner. To determine whether libsane-hpaio still needs to get installed check for both /etc/sane.d/dll.d/hpaio and /etc/sane.d/dll.d/hplip so that it works with both Red Hat and Ubuntu. newprinter.py: Import installpackage so that PackageKit-based package installation actually works installpackage.py: Use D-Bus directly to communicate with PackageKit 2014-10-20 Tim Waugh Never set SMB Verify button sensitive without checking pysmb is available. newprinter: fixed lock handling when OpenPrintingRequest is cancelled. newprinter: Don't make installpackage errors completely silent. PhysicalDevice: extract hostname from hp:/net/...?hostname= URIs (bug #1154686). 2014-10-17 Tim Waugh Bumped version for release. Bumped version for release. update-po Updated aclocal.m4. Include an AppData file. The correct name for 'Kyocera Mita' is 'Kyocera'. 2014-10-16 Tim Waugh Main window: don't try removing the populateList timer when not set. monitor: don't try removing the update timer when not set. 2014-10-14 Tim Waugh Make installpackage a stub only. gpk-install-* executables no longer exist. To implement it properly we should use the D-Bus API. Don't run gpk-install-package-name directly, use installpackage module. 2014-10-13 Tim Waugh Fix for automatically adding Bluetooth printers. devpath could have been NULL at this point. Found with static analysis. Memory leak fixes in udev-configure-printer. Found with static analysis. 2014-10-10 Marek Kasik Use items() instead of iteritems() with Python 3 dicts Use items() instead of iteritems() in GroupPhysicalDevicesRequest's _group(). 2014-10-10 Tim Waugh Bumped version for release. Don't ask PackageKit to look for drivers for empty device IDs. monitor: only run one timer at a a time. Avoids 'Source ID ... was not found' warnings. Debugging tidy-ups. Don't fill the makes list after downloadable driver chosen. OpenPrintingRequest object for grouping queries. More debugging output. 2014-10-09 Tim Waugh Moved DOWNLOADABLE_* config constants to config.py. 2014-10-03 Daniel Dressler Fix old typo 2014-09-23 Tim Waugh Don't try nested classes, as CUPS forbids it (bug #1140627). 2014-09-22 Jiri Popelka Fix LPD/LPR Probe (Ubuntu #1372213) Python 3: socket's send() takes bytes and recv() returns bytes. 2014-09-15 Jiri Popelka Improve some Gtk+ 3 stuff. https://wiki.gnome.org/PyGObject/InitializerDeprecations amend previous commit 2014-09-14 Jiri Popelka Python 3 has removed message attribute from built-in exceptions. 2014-09-11 Tim Waugh Definitive postscriptdriver.prov is in pycups. More use of subprocess.DEVNULL. More Python3 fixes. 2014-09-05 Tim Waugh Use GLib.idle_add, not GObject.idle_add. Take the gdk lock before entering gtk_main() (bug #1052203 comment 24). 2014-09-02 Tim Waugh Bumped version for release. tx pull && make update-po Re-bootstrap with newer build tools. 2014-09-02 Jiri Popelka StateReason: Fixed __cmp__ conversion to rich comparisons (Ubuntu #1364196) 2014-08-22 Tim Waugh Python3: use subprocess.DEVNULL instead of std...=file(/dev/null,...). Don't set subprocess's stdout to non-writable fd. 2014-08-20 Tim Waugh Use Gtk main loop in D-Bus service (bug #1116756). Fixed typo causing bluetooth queues not to be removed. 2014-08-18 Tim Waugh More robust argument handling in udev-configure-printer. Python3 fixes for udev-add-printer, from 2to3. 2014-08-03 Tim Waugh Explicitly use /usr/bin/python3 in udev-add-printer (bug #1126149). Missed from earlier commit 2ee4079800b3a95b45b1372eaba806ccd2e5303e. 2014-08-01 Tim Waugh Don't call Gtk.evengs_pending() in nextNPTab. This change prevents a D-Bus service deadlock (bug #1052203). 2014-07-31 Tim Waugh scp-dbus-service: reload PPDs in FetchedPPDS safely. scp-dbus-service: rewrite openprinting search as async and call destroy on NP dialog. Revert "Don't download OpenPrinting drivers in D-Bus service (bug #1052203)." This reverts commit 2305efcb253d5b06c4cc6be5faf91033f44f22ab. troubleshoot: note errors while fetching error_log 2014-07-29 Tim Waugh GUI: chain up to parent constructor. Prevent printer-action menu items being incorrectly sensitive (bug #1124284). 2014-07-17 Tim Waugh make update-po applet: more Python3 syntax fixes. 2014-07-16 Tim Waugh Keep the device URI field updated. monitor: printer-modifed notification leads to printer-event signal. Another codec fix. Always show connections for new printers when it makes sense. Always update printer description when printer selection changed. newprinter: another codec issue fix. dnssdresolve: fix resolution for unicode URIs. Always display error when unable to fetch PPD for remote printer (bug #1087052). Extra debugging for 'service unavailable'. Use urlparse for decoding DNSSD URLs. 2014-07-15 Tim Waugh Makefile fixes for Python3. Consistent use of PYTHON env var in Makefile. Python3 changes for pickle handling. 2014-07-15 Jiri Popelka Bumped version for release. Explicitly use /usr/bin/python3 https://lists.fedoraproject.org/pipermail/devel/2013-July/186164.html Remove debug print 2014-07-14 Tim Waugh In CUPS 1.6b1, 'document-count' became 'number-of-documents'. 2014-07-11 Tim Waugh Removed 'as e' from last fix. Handle failure when cups-pk-helper not installed (bug #1118836). 2014-07-04 Tim Waugh Polkit shouldn't be a hard requirement. Don't count e.g. 'socket' as a discovered network device. Still need to check the firewall unless an actual device is found. Bumped version for release. tx pull && make update-po Set sensitivity of widgets according to permission. 2014-07-03 Tim Waugh Only check firewall when when needed. This means when the user expanded the Network Printer row and there are no discovered network printers. 2014-06-26 Tim Waugh New 'Unlock' button for front-loading authentication. authconn: added method to find out if polkit is being used. Fixed downloadable driver traceback (bug #982071). Patch from Johannes Goller. Avoid jobviewer traceback races (bug #1090479). 2014-06-25 Tim Waugh Don't call monitor.refresh until the password callback has been set. PhysicalDevice: removed unnecessary UTF-8 conversions PhysicalDevice: Fixed __cmp__ conversion to rich comparisons. 2014-06-23 Tim Waugh Don't download OpenPrinting drivers in D-Bus service (bug #1052203). It causes a deadlock. PhysicalDevice: convert to UTF-8 before comparing strings (bug #1108903). GIR: NOTHING is a Gdk.EventType (bug #1105229). check-device-ids.py: don't require root password 2014-06-20 Tim Waugh troubleshoot: convert map to list for display. Fixed syntax for python3 exception handling in last merge. 2014-06-06 Tim Waugh troubleshoot: read debugging from systemd journal. 2014-05-13 Jiri Popelka More Python3 changes. Fix TypeError: unorderable types: str() >= int() was recently added with adc03c8 Revert "Fix one UnicodeDecodeError (bug #1094037)." This reverts commit 6077dc26e97abf0b56ebc5a113e1ddfda2749226. Revert "jobviewer: fix one string conversion issue (bug #1069881)." This reverts commit c25d97c537a6fb99abfebfb1cb79c80d6479c1fe. 2014-05-06 Andre Heinecke Base password lookup on printer-uri (bug #1089029). Having multiple printers on one samba server was not handled by the password attributes. To avoid any ambiguity the actual printer-uri is now used for the password lookup. The currently used attributes are still used as a fallback to stay compatible with already saved authentication information. 2014-05-05 Jiri Popelka Fix one UnicodeDecodeError (bug #1094037). 2014-04-30 Tim Waugh Handle pending Gtk events to close the search dialog (bug #1052203). 2014-04-30 Till Kamppeter Do not run hp-makeuri on network printers known to be non-HP system-config-printer runs the command hp-makeuri of HPLIP on all detected network printers to check whether they are supported by HPLIP. Only HP printers are supported by HPLIP and so it does not make sense to run this command on any other manufacturer's printer. Unfortunately this does not always simply give a negative answer but sometimes hp-makeuri hangs indefinitely (Ubuntu bug call it any more now if we know if the printer is not from HP. 2014-04-23 Tim Waugh Allow marker-levels < 0 but interpret as 0. 2014-04-04 Jiri Popelka More deprecation warnings removed. https://wiki.gnome.org/Projects/PyGObject/InitializerDeprecations firewallsettings.py: firewalld dropped immutable zones long time ago 2014-04-03 Jiri Popelka Removed some deprecation warnings. https://wiki.gnome.org/Projects/PyGObject/InitializerDeprecations Calling GObject.threads_init() is not needed for PyGObject 3.10.2+ Updated config.guess & config.sub 2014-03-17 Jaromír Končický newprinter: allow characters needed by IPv6 address in URI fields (bug #1074245). 2014-03-14 Till Kamppeter Fix possible race condition leading to a false error alarm after driver package download Fix for the earlier committed fix of the infinite loop after downloading a driver package via OpenPrinting: Now the loop is terminated when install-printerdriver outputs "done" but perhaps somewhat early (race condition?) as this causes a false alarm of an error exit of install-printerdriver, telling to the caller that the driver was not installed, letting the caller not reload the system's PPD list and so the freshly installed driver does not get found by the subsequent print queue setup. Now we ignore an error condition after install-printerdriver has output "done". With this we should have a working fix for Ubuntu bug #1248303. 2014-03-10 Tim Waugh applet: watch out for DBusException (bug #1073693). 2014-03-07 Tim Waugh tx pull && make update-po Bumped version for release. 2014-03-07 Jiri Popelka jobviewer: fix one string conversion issue (bug #1069881). temporary solution, until merge with python3 branch 2014-03-03 Tim Waugh Added comment about page size being linked to LC_MESSAGES. 2014-02-28 Tim Waugh Don't override CFLAGS in Makefile.am. 2014-02-26 Jiri Popelka Don't rely on implicit close during gc, use with statement. amends 1e39deab40e7f4 2014-02-26 Jaromír Končický port to python3 2014-02-25 Dmitry Shachnev Switch installpackage.py to modern GI API. 2014-02-20 Jaromír Končický port to python3 2014-02-18 Tim Waugh The udev script should use python's -s parameter (bug #1066101). 2014-02-14 Ivana Hutarova Varekova fix variable name typo port to python3 fix several bugs regarding printer properties menu: * port xmldriverprefs * fix list and models comparison in ppds.py * fix printerproperties problem 2014-02-04 Tim Waugh Catch exceptions when lock held to make sure to release it. 2014-02-04 Jiri Popelka Update *.ui files by opening and saving them in glade-3.16.1 encode on output urllib.request.urlopen(url).read() returns bytes Therefore when writing the data we need to open output file in binary mode. 2014-02-03 Jiri Popelka open temp file in text mode ppd.writeFd() writes into it in text mode tempfile.mkstemp () opens file by default in binary mode use tempfile.NamedTemporaryFile() File will be destroyed as soon as it is closed (including an implicit close when the object is garbage collected). decode on input & encode on output cupsGetFd() & cupsPutFd() operate on files in binary mode. use lambda 2014-02-03 Ivana Hutarova Varekova port to python3 - string.maketrans is not supported - use bytes to convert string variables - use decode - cmp function is restricted 2014-01-28 Tim Waugh Sort model names by normalized name (bug #1058437). check-device-ids.py: handle auth cancellation better. 2014-01-17 Ivana Hutarova Varekova port to python3 None is not comparable with string in python3 2014-01-16 Ivana Hutarova Varekova port to python3 fix string.maketrans which is not supported in python3 2014-01-06 Tim Waugh Handle "Fuji Xerox" manufacturer name correctly (Launchpad #1265778). Patch from Adrian Johnson. 2014-01-06 Till Kamppeter Fixed a crash and an infinite loop occuring on driver download from OpenPrinting There are two problems which can happen when a detected printer is not locally supported and OpenPrinting is searched for it with a positive result (like Canon Pixma MP160). First, there is a crash in the thread taking care of inbteractive control of the new printer dialog, making "Cancel" not work any more when the driver download is presented. Second, after the download sytem-config-printer can get stuck in an infinite loop, not stopping when the "install-printerdriver" helper script terminates. This change solves both problems. 2013-12-18 Ivana Hutarova Varekova fix some python3 problems find during testing cupshelpers.py, PhysicalDevice.py, statereason.py use lt instead of cmp asyncipp.py - use queue instead of Queue (and rename queue internal variable) probe_printer.py, ... - use open instead of file system-config-printer.py - use _thread stuff instead of thread one __init__.py - fix import command 2013-12-16 Jiri Popelka Avoid crash when cursor isn't currently set (bug #1043116). 2013-12-12 Ivana Hutarova Varekova port source to python3 2013-12-06 Tim Waugh Makefile fixes for udevdir/udevrulesdir. Use configure.ac's new name when checking for missing translations. ...and remove the .stamp file when cleaning. Actually create the .stamp file (fix for last commit). Fixed man pages make rule to work with make -j. 2013-12-05 Ivana Hutarova Varekova port ./cupspk.py to python3 - incorporate 2to3 output port ./ppdsloader.py to python3 - incorporate 2to3 output port /jobviewer.py to python3 - incorporate 2to3 output port ./ToolbarSearchEntry.py and optionwidgets.py to python3 - incorporate 2to3 output port ./smburi.py to python3 - incorporate 2to3 output port ./userdefault.py to python3 - incorporate 2to3 output 2013-12-02 Ivana Hutarova Varekova port ./asyncipp.py to python3 - incorporate 2to3 output port ./install-printerdriver.py to python3 - incorporate 2to3 output port ./options.py to python3 - incorporate 2to3 output port ./newprinter.py to python3 - incorporate 2to3 output port ./check-device-ids.py to python3 - incorporate 2to3 output port ./dnssdresolve.py to python3 - incorporate 2to3 output port ./installpackage.py and PhysicalDevice.py to python3 - incorporate 2to3 output port ./serversettings.py to python3 - incorporate 2to3 output port ./firewallsettings.py to python3 - incorporate 2to3 output 2013-11-29 Andre Heinecke Use keyring authentication also from menu When you use the authenticate menu option for a job this now uses the get_authentication method to look up / save credentials also in the gnome keyring if the user requests this. Add show_dialog option to get_authentication This allows to silently check if the authentication credentials can be found in the keyring and only shows the interactive password dialog when running as applet. Factor out username/password lookup for reuse Update Job is now reduced to checking the state of the job and calling the new function get_authentication if authentication is required. get_authentication handles the keyring integration and takes care of presenting the authentication dialog to the user if necessary. 2013-11-27 Jiri Popelka Remove the encode()/decode() sanity magic. We should not need it anymore as every string should be unicode now. Make various improvements/fixes that came into my mind when walking through Ivana's commits: - don't make a list from view/iterator when we don't need it - gettext.install doesn't have any unicode or str parameter - we don't need to do the encode()/decode() sanity magic anymore - GLib.idle_add() can take several addition parameters - we don't need to pass it one tuple 2013-11-27 Ivana Hutarova Varekova port ./troubleshoot to python3 - incorporate 2to3 output port ./ppdcache.py to python3 - incorporate 2to3 output port ./printerproperties.py to python3 - incorporate 2to3 output port ./probe_printer.py to python3 - incorporate 2to3 output port ./asyncpk1.py to python3 - incorporate 2to3 output port ./authconn.py to python3 - incorporate 2to3 output port ./applet.py to python3 - incorporate 2to3 output port monitor.py to python3 - incorporate 2to3 output port asyncconn.py to python3 - incorporate 2to3 output port ppdippstr.py - incorporate 2to3 output to python3 - incorporate 2to3 output port ./gui.py to python3 - incorporate 2to3 output port xml/validate.py to python3 - incorporate 2to3 output port ./system-config-printer.py to python3 - incorporate 2to3 output port cupshelpers.py to python3 - incorporate 2to3 output port ppds.py to python3 - incorporate 2to3 output port installdriver.py to python3 - incorporate 2to3 output port openprinting.py to python3 incorporate 2to3 output 2013-11-18 Ivana Hutarova Varekova port cupshelpers/openprinting.py to python3 port cpuhelpers/xmldriverprefs to python3 port cupshelpers/ppds.py to python3 port cupshelpers/cupshelpers.py to python3 port cupshelpers/__init__.py to python3 port system-config-printer.py to python3 2013-11-12 Jiri Popelka Fix wrong gettext usage (bug #1029379). 2013-11-05 Jiri Popelka configure.in: AM_PATH_PYTHON -> AM_PATH_PYTHON([3]) rename configure.in -> configure.ac 2013-11-04 Tim Waugh Add a tooltip to the Verify button if disabled. 2013-11-01 Jiri Popelka few codec fixes Revert previous commit (Possible fix for codec issue (bug #1023968).) I don't think there was any problem in '_("No printer driver for %s.") % device' because _() returns unicode since 7b3739c0 and all the input params (name, mfg, mdl, des, cmd) are dbus.String which is also converted to unicode (see help(dbus.String)). 2013-10-30 Tim Waugh Possible fix for codec issue (bug #1023968). 2013-10-29 Tim Waugh Adjustments for initial window size, based on patch from Jean-Pierre Demailly. 2013-10-25 Tim Waugh Fixed typo in D-Bus signature decorator (bug #1023449). 2013-10-24 Tim Waugh Only set SMB Verify button sensitive when pysmb available. 2013-10-22 Tim Waugh Updated version for release. make update-po Updated aclocal. tx pull Fixes for small typos. 2013-10-22 Andre Heinecke Make GnomeKeyring integration work with GIR There were some slight API changes introduced when switchting to GIR GnomeKeyring: - get_default_keyring_sync: Now returns a tuple (result, keyring_name) - item_create_sync: Now returns a tuple (result, id as int) - find_items_sync: Now returns items as a GArray Fixes adding items to gnome keyring and removes some nonfatal exceptions. Fix module name when retrieving item from keyring This is a leftover from the GIR conversion. Fixes retrieving credentials for authentication from Gnome Keyring Use correct key to determine if auth is required The auth_info_required object is stored in the data dictonary with the key "auth-info-required" This fixes showing the auth info dialog when a job is added that needs authentication. 2013-10-17 Tim Waugh Avoid traceback (bug #1009865) 2013-10-11 Jiri Popelka cups.IPPError is (utf-8) encoded (bug #1018191) amends 8c0bcf70f Amend previous commit (bug #1017561). 2013-10-10 Jiri Popelka newprinter.py:getNetworkPrinterMakeModel(): decode input data (bug #1017561). 2013-09-23 Till Kamppeter More debug output for the OpenPrinting database query module. Activate debug output for all cupshelpers modules when in debug mode Activate "debugprint" output in all components of the cupshelpers library when system-config-printer is running in debug mode ("--debug" option). Same if the newprinter.py file is run standalone in its testing mode. 2013-09-18 Till Kamppeter No misleading prompt and "root" default in authentication dialogs Do not show the misleading prompt 'Password for "root" on localhost', as under Ubuntu you do not log in as root. Also do not pre-fill "root" as default user name (Ubuntu bug #653132). 2013-09-17 Till Kamppeter Added driver auto-download functionality to scp-dbus-service This patch adds the functionality to auto-download printer drivers as LSB-based packages via the OpenPrinting web site also to the process of finding the best printer driver in the D-Bus service scp-dbus-service. This way the auto-download also works if instead of the native GUI of system-config-printer another frontend GUI like the printer setup tool in GNOME Control Center is used. The patch also adds support for download of signed PPD-only packages, adds debug output to the install-printerdriver script, support for introduction of package signing on the server and for change of keys, and fixes downloading unsigned PPD-only packages. Drop bogus queeus on cups servers The dnssd CUPS backend finds bogus LPD queues on remote CUPS servers which once, do not work, and second, mess up the presentation of a remote CUPS server by system-config-printers. Therefore we suppress such entries now. Prioritize PostScript against hpcups If a printer is a PostScript and PCL printer, PostScript should be preferred and not the hpcups PCL driver. 2013-09-12 Till Kamppeter Assign the driver type "pdf" with higher priority than the driver type "exact-cmd". This prevents the experimental PDF PPD for the HP Color LaserJet CM3530 MFP (from cups-filters) being chosen. Added debugprint() calls to more easily debug problems of driver assignment. The extra debug info shown are the lists of valid driver types (from preferreddrivers.xml), the assignment of the driver types to the suitable PPDs and the resulting priority order of the PPDs. Lists are sorted by the priority order defined in preferreddrivers.xml. This helps debugging problems with preferreddrivers.xml and improving it. 2013-09-11 Tim Waugh Removed incorrect 'cell' keyword from TreeView.set_cursor() call (bug #1006692). 2013-09-09 Tim Waugh Fixed arguments for tree selection function (Ubuntu #1220066). 2013-09-08 Jiri Popelka Fix one gtk -> Gtk occurrence (bug#1004753). 2013-09-02 Jiri Popelka probe_printer.py: socket.getaddrinfo() can throw socket.error (bug #1003219). 2013-08-20 Tim Waugh Spot missing foomatic device IDs. Bumped version for release. Avoid traceback in applet (bug #998277). make update-po aclocal tx pull transifex.net -> transifex.com 2013-08-07 Tim Waugh Gdk.color_parse does throw exceptions after all (bug #994506). 2013-08-06 Tim Waugh GdkX11Window doesn't have property_change now (bug #989096). 2013-07-27 Jiri Popelka show_IPP_Error(): decode cups.IPPError message before using (bug #989050). 2013-07-22 Tim Waugh More robust URI parsing when authenticating job (bug #986939). 2013-07-18 Jiri Popelka Use 'as' instead of comma when handling exceptions. The old syntax using comma is not Python 3 compatible. 2013-07-16 Jiri Popelka Use bytes type instead of str to ease transition to Python 3. http://infohost.nmt.edu/tcc/help/pubs/python/web/bytes-type.html Use string.ascii_letters instead of string.letters (bug #984284) when creating set of allowed charackters. 2013-07-12 Jiri Popelka Amend 59af7e7 2013-07-10 Jiri Popelka Fix a codec issue in troubleshooter. 2013-07-09 Jiri Popelka Fix class members manipulation and setting of default printer. debugprint(repr(string)) escapes non-ASCII characters I think the repr() is generally useless in debugprint because the value is converted to its string representation by default but I changed only the obvious cases where the value can possibly be a string containing non-ASCII chars. see: >>> print ('č') č >>> print (u'č') č >>> print (repr('č')) '\xc4\x8d' >>> print (repr(u'č')) u'\u010d' Use gettext.install(unicode=True) to use ugettext() instead of gettext() By setting unicode flag to True we use ugettext() instead of gettext(). While gettext() returns utf-8 encoded string ugettext() returns unicode so we don't have to always use _("translatable text").decode('utf-8'). http://docs.python.org/2/library/gettext.html#gettext.NullTranslations.install Few codec issues fixed. 2013-07-02 Tim Waugh Install smb backend on demand (bug #957733). Fixed misplaced parenthesis (bug #979119). 2013-06-27 Tim Waugh Fixed another codec issue (bug #978970). 2013-06-20 Tim Waugh Avoid race when renaming printer (bug #975705). 2013-06-20 Jiri Popelka Fix signature of select_new_printer () defined inside rename_printer() 2013-06-18 Tim Waugh Don't check for missing drivers in remote printers (bug #975058). 2013-06-17 Jiri Popelka Fix Notify.Notification creation (bug #974845). 2013-06-12 Tim Waugh Gtk.StatusIcon.get_geometry returns an extra value (bug #973662). 2013-06-10 Tim Waugh More codec issues (bug #971973). 2013-06-07 Tim Waugh Slight improvement in renaming but still not right (bug #971404). Treat strings with care when formatting debugging messages (bug #971548). 2013-06-06 Tim Waugh Removed old pointer/keyboard grabbing code as it no longer works (bug #971459). More codec issues (bug #971417). 2013-06-04 Tim Waugh Notify urgencies have new names with gi.repository (bug #970646). 2013-06-03 Tim Waugh More codec issues (bug #969846). 2013-05-31 Tim Waugh PhysicalDevice: compare strings as UTF-8 (bug #968142). Fixed new printer dialog traceback. 2013-05-22 Tim Waugh dbus.String objects are unicode, not str (bug #965771). Fixed typo in previous change. 2013-05-21 Tim Waugh Make sure unicode characters are allowed in the location field (bug #962207). Fixed another codec issue (bug #964673). Printer names are always Unicode objects, so when substituting a printer name into a translated message make sure to convert the translated message to a Unicode object first. Make sure translated printer states are decoded into unicode objects (bug #965678). This makes it possible to concatenate them with other unicode objects, such as the printer-state-message. Better fix for cupshelpers.Device __cmp__ method (bug #957444, bug #961882). Make sure we're comparing UTF-8 encoded strings, and neither is a unicode object. Fixed typo which could cause a traceback (bug #965678). 2013-05-20 Jiri Popelka FirewallD.write(): catch DBusExceptions 2013-05-09 Tim Waugh make update-po Bumped version for release. tx pull -f 2013-05-08 Tim Waugh Updated aclocal.m4. Use xxx-supported values for number-up and sides options (bug #923841). tx pull 2013-04-30 Tim Waugh Some codec fixes (bug #957343, bug #957444). gettext returns encoded strings, so whenever we perform string replacement in them we need to encode the replacement strings to match. 2013-04-25 Tim Waugh Make man page and --help output consistent. 2013-04-23 Jiri Popelka Fix creating of empty pixbuf. 2013-04-22 Jiri Popelka Gdk.color_parse() does not throw an exception. It just returns None in case of a problem. 2013-04-15 Tim Waugh Don't call into Gtk directly from scp-dbus-service (bug #951710). 2013-04-12 Tim Waugh Don't delete mainlist too early when quitting (bug #915483). 2013-04-10 Tim Waugh Always specify encoding for printer name when retrieving from model (bug #950162). Better behaviour when trying to run without valid DISPLAY (bug #948240). 2013-03-27 Tim Waugh update-po update-po Bumped version. Transifex resource name for this branch is now 1-3-x Bumped version for release. Revert previous change. 2013-03-22 Tim Waugh Added missing languages. Remove bundled gtkspinner and use Gtk.Spinner instead. Updated UI file for NewPrinterWindow. Destroy ppdsloader on failure. More debugging. 2013-03-21 Tim Waugh More debugging for _IPPConnectionThread. (cherry picked from commit a5d56927ca0fd14aa79909d5f01f86cd5649861d) Even more debugging output. Fixed codec issue (Ubuntu #1158158) Fixed codec issue (Ubuntu #1158158) 2013-03-19 Jiri Popelka Fix typo: gtk.ListStore.get_itr -> get_iter (Ubuntu #1153341). 2013-02-22 Tim Waugh More debugging for _IPPConnectionThread. 2013-01-31 Tim Waugh Handle gnomekeyring.CancelledError (bug #905618) 2013-01-29 Tim Waugh Fixed layout of Ink/Toner Levels page (Ubuntu #1108860). 2013-01-03 Tim Waugh Handle list changes when performing operations on several printers (bug #890153). Fixed last fix (bug #862381). 2012-12-18 Tim Waugh Handle RuntimeError from addPrinterToClass (bug #862381). One of the possible reasons for this is that the class already has that printer. troubleshoot: look for /etc/locale.conf (bug #882157). 2012-12-16 Alexandre Rostovtsev udev: require libudev >= 172 (trac #228) Needed for udev_enumerate_add_match_parent() 2012-12-16 Tim Waugh Require libudev >= 172 for udev_enumerate_add_match_parent (Gentoo #228). 2012-12-07 Jiri Popelka remove deprecated Encoding key from desktop files http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html says: C. Deprecated Items The Encoding key is deprecated. It was used to specify whether keys of type localestring were encoded in UTF-8 or in the specified locale. 2012-11-30 Tim Waugh Added comment for one of the preference exceptions. Moved hpijs driver further down the preference list. This driver is known not to handle landscape page orientations correctly. 2012-11-21 Tim Waugh Fixed packing in Job Attributes window UI. Fixed last fix. 2012-11-20 Tim Waugh Avoid traceback in logic for changing sensitivity of new-printer widgets (bug #878527). 2012-11-19 Tim Waugh Properties dialog no longer modal, but prevented from being shown more than once. (cherry picked from commit 0bfd472921e9bad0c5533be0c8b04ecf01f81303) Prevent New Printer dialog being shown several times via properties dialog. (cherry picked from commit 88bd865d083fdbe4aa0f04beb92a60ffe70d3045) Don't display two modals dialogs at once. The "Adjust Firewall" dialog needs to be modal, but the New Printer dialog doesn't need to be. Instead, make sure only one New Printer dialog can be shown at once, as the code won't handle several of them. (cherry picked from commit bc887fcf66f1ac5c008a5c15af8d6165fb7d2f7f) 2012-11-16 Tim Waugh Properties dialog no longer modal, but prevented from being shown more than once. Prevent New Printer dialog being shown several times via properties dialog. 2012-11-16 Jiri Popelka firewall: treat FirewallD installed but not running case Revert "Use D-Bus interface to communicate with firewalld." This reverts commit c7a18527ff417c4c139b4cea20cc11fd10c12bb3. We can now safely use firewall.client.FirewallClient() because pygi branch has been merged with master 2012-11-15 Tim Waugh monitor: emit state-reason-added/removed from correct context. The refresh() method can call check_state_reasons directly, and the lock may be held at that point. Make sure to emit state-reason signals from the idle handler. Fixed packing on final troubleshoot screen. Fixed args for Gtk.VBox.pack_start(). Fixed traceback when changing driver. 2012-11-14 Tim Waugh Fixed args for GtkMenu.popup. Better error reporting if NewPrinterGUI.getDeviceURI() raises an exception. Convert serial device options to ComboBoxText widgets. ppdsloader: store exception from failed CUPS query 2012-11-13 Tim Waugh Another instance of disallowed-value in a TreeView. Removed accidental regression. Fixed key-press-event handler for IconView. Removed stale debugging line. Final Widget.set_data() calls removed. More XID bits that have no GIR equivalent. Fixed Server Settings dialog invocation. Don't emit Monitor's 'refresh' signal from idle handler. This needs to be handled before any job-added/job-received etc signals are handled. In our usage it does not need to be handled with locks not held. Fix "Configure printers" menu entry in status icon pop-up menu. Make sure to emit signals from a context that does not hold locks. Monitor.refresh() can be called from any context, so the Gdk lock might be held. We want handlers for our signals to be run without locks held, so emit those signals from the idle handler. Seems to be no way to get at the window XID any more. Another bad use_stock property in the glade data. Don't use tuples for Gtk.TreePath. One last instance of hide_all() changed to hide(). Locking fixes. StatusIcon.set_tooltip() no longer exists; use set_tooltip_markup() instead. More GIR fixes, this time in the applet. 2012-11-09 Tim Waugh Another TreeRowReference constructor that needs to be called explicitly. Fixed Connect... dialog. No need to register types. Avoid putting None in models whose columns don't allow it. Minimise changes relative to master. Fixed up gtkinklevel. gtk_label_autowrap removed: doesn't work with GTK/pygi. cupspk doesn't use Gtk at all. Only whitespace change. Corrected copyright years. Fixed typo causing infinite recursion. Use explicit constructor functions for CheckButton/RadioButton. Fixed args for TreeView/IconView set_cursor. TreeModel.get_iter_root no longer exists. Use explicit constructor function for TreeRowReference. Fixed packing for error log errors troubleshooter screen. GObject.PYOBJECT can no longer be None. Fixed args for TextBuffer.get_text. Only set can/has-default after packing the widget. Removed change marker that had been left around. Removed stale use_stock property for Troubleshoot menu item. Fixed arguments to some Gtk function calls. Handle signals gracefully before fully initialised. Connect up signals for all XML files. Avoid get_data/set_data on objects. Sort out GtkComboBoxText issues. printer-resolution is currently the only option using that widget. Fixed some calls to Gdk.color_parse. Fixed number-of-args issues with creating new printers/classes. MenuItem for _New should use new_with_mnemonic, not new_with_label. Use caution with get_selection(). More GObject/GLib conversions. More small fixes. Now displays the main window. Connect glade signals only when ready. More gir conversions. Imports now working. More gir conversions: GObject, GLib. 2012-11-09 Martin Pitt (in progress) Convert from pygtk2 to pygi/GTK3 This is WIP, still a lot of breakage everywhere. Automatic pygtk2->pygi conversion This is the result of calling pygi-convert.sh on the code, which provides the simple and bulky part. 2012-11-09 Tim Waugh Use new names for dialog info/warning/error icons. 2012-11-02 Jiri Popelka Sanitize loading of non-existing icon (bug #872227) 2012-10-25 Tim Waugh Avoid crash with certain types of dnssd device URI (bug #870000). 2012-10-23 Tim Waugh Fixed typo in systemd config file. 2012-10-18 Tim Waugh Move splix up the priority list for preferred drivers. Wrap gtk.main with thread locking (trac #222) Don't rely on document-count being present (Ubuntu #1041613) Physical devices compare equal when they share a URI. 2012-10-17 Till Kamppeter Make the "Server Settings" dialog not show irrelevant options With the dropping of the CUPS Browsing feature from CUPS 1.6.x some configurable settings supported by the "Server Settings" dialog do not exist any more. This patch makes them disappear if the CUPS version in use is 1.6.x or newer (Ubuntu bug #1052897). Made asyncconn.py and asyncpk1.py working also without GTK This way scp-dbus-service can be used on GTK-less systems like Kubuntu. Note that GTK-less use of asyncconn.py and asyncpk1.py requires authentication via PolicyKit and so scp-dbus-service can only run under conditions where PolicyKit is supported, which means that it must run as a non-root user and accessing a local CUPS daemon, via "localhost" or socket. On systems with GTK asyncconn.py and asyncpk1.py and also scp-dbus-service do not require PolicyKit authentication but can also do the authentication via GTK dialog as before (Ubuntu bug #902762). 2012-10-10 Tim Waugh Avoid lock double-release in OpenPrinting support. 2012-10-08 Till Kamppeter Added support for the 'fingerprint' field in OpenPrinting database entries 2012-10-08 Till Kamppeter Integrated driver/PPD auto-download completely into system-config-printer Due to the third-party (manufacturer) driver manager Jockey being the discontinued in Ubuntu, the driver download mechanism for downloading drivers linked by OpenPrinting is now completely integrated in system-config-printer, re-using as much as possible of the already existing functionality of downloading single PPD files via OpenPrinting. The functionality can be configured to match the policies of Linux distributions via the following constants in newprinter.py: DOWNLOADABLE_ONLYPPD=True DOWNLOADABLE_ONLYFREE=True DOWNLOADABLE_PKG_ONLYSIGNED=True The Jockey support in ppdsloader.py is not removed, so that users of ppdsloader.py who do not use newprinter.py can still use Jockey (e. g. KDE/Qt-based Kubuntu). 2012-10-05 Tim Waugh Bumped version for 1.3.12 release. Fixed udev rules so a systemd service is created for the device. Cleaned up systemd service description. udev: Allow remove to take the same format address. 2012-10-04 Tim Waugh Factored out the udev_new calls. Some re-factoring. Re-structured udev parts to run as a systemd service. 2012-10-03 Tim Waugh Updated aclocal. 2012-09-24 Tim Waugh Catch-all for gnomekeyring exceptions (bug #859760). 2012-09-21 Jiri Popelka One more mistake fixed. Amend previous commit. Use D-Bus interface to communicate with firewalld. To use firewall.client.FirewallClient() we need to port s-c-printer to gobject3 first. 2012-09-18 Tim Waugh Don't import firewall in main module: not used. 2012-09-17 Tim Waugh Removed gtk and authconn imports from asyncconn as they are not used. Suggested by Till Kamppeter. 2012-09-06 Jiri Popelka Correct firewall initialization in on_btnSMBBrowse_clicked() 2012-08-15 Jiri Popelka code clean-up 2012-08-14 Tim Waugh Don't display two modals dialogs at once. The "Adjust Firewall" dialog needs to be modal, but the New Printer dialog doesn't need to be. Instead, make sure only one New Printer dialog can be shown at once, as the code won't handle several of them. 2012-08-13 Jiri Popelka reload firewalld after updating the persistent settings use firewall.client.FirewallClient FirewallClient is class for getting/setting persistent rules of FirewallD. firewall.py has been renamed to firewallsettings.py to not collide with firewall module from FirewallD. 2012-08-03 Tim Waugh Bumped version for 1.3.11 release. Fixed most recent change in cupshelpers. The cupshelpers config module was not being imported. 2012-08-01 Tim Waugh update-po Changed application name in desktop file. tx pull Updated. Bumped version for 1.3.10 release. Use cups-config to determine serverbin directory (trac #224). 2012-07-31 Tim Waugh Reverted previous change. Just check for libudev.h header file, not the package. This allows compilation against newer versions of systemd which incorporate libudev. 2012-07-19 Till Kamppeter Improved sorting of device lists Improved sort order of device entries, so that in the "Connections" list of a detected network printer "AppSocket/JetDirect" always has highest priority and "IPP" has lowest. This way we avoid that network printers get set up with IPP connection, as many printers do not conform to the IPP standards. "AppSocket/JetDirect" is a very simple protocol which usually works (Works around Ubuntu bug #945028) Add "--show-jobs" command line option Add "--show-jobs " command line option to system-config-printer. This opens the job viewer for the specified print queue. Use hpcups instead of ps with HP LaserJet 12xx/13xx Use the PCL-5e driver (HPLIP's hpcups) instead of PostScript as recommended driver on the HP LaserJet 12xx and 13xx as they do not come with enough memory for PostScript. The PostScript driver options are still listed for manual selection so that users with a memory extension in the printer can use them (Ubuntu bug #872991). Suppress misleading notifications Suppress notification messages for the new "cups-remote-..." state reasons of CUPS 1.5.x. As they do not have human-readable text, the notifications look like errors, which is misleading (Ubuntu #855379) Generally new notification messages which do not yet have human-readable text should be suppressed. Allow test page printing for remote CUPS queues via DNS-SD As the earlier change to allow test page printing on remote CUPS queues without local PPD, but now for remote CUPS queues accessed via DNS-SD. CUPS does not mark these queues as remote, therefore the additional patch is needed to recognize the queue by its device URI. PDF printer support Support for PPD files for native PDF printers. Set priority lower than for the PostScript PPD file as native PDF printing is still experimental. Without this change it is not determined whether the PDF or PostScript PPD file gets used. First native PDF printing PPD files for CUPS are in the cups-filters package from OpenPrinting. Allow printing test page on remote printer without PPD If a queue pointing to a remote CUPS queue (for example on a server which does not broadcast) is created, this queue is usually created as a raw queue so that the driver on the server gets used. Due to the fact that the queue is raw, system-config-printer does not allow to print a test page on it and therefore does nothing when clicking on the test page button in the properties dialog. This patch allows printing a test page on such queues (no PPD file, remote queue, not a discovered queue). In addition, the user is also asked whether he wants to print a test page when he creates such queues, and for queues on which one really cannot print a test page (local raw queues or discovered remote raw queues) the test page button is not shown. Prevent XML parser crash due to text with bad encoding on OpenPrinting cupshelpers: Filter encoding problems from XML answers of OpenPrinting's web API to prevent crashes of the XML parser. This avoids failure of automatic driver download when the manufacturer's license and description texts contain wrong characters. Enhancements on udev-configure-printer - Use libusb 1.0.x instead of 0.1.x to determine the device ID when the usblp kernel module is not attached to the device. libusb 0.1.x is not maintained upstream any more. - Do not trigger udev-configure-printer on the UDEV signal emitted by the printer detection through the usblp kernel module any more. There is already a UDEV signal on the detection of the corresponding low-level USB device and through this we can also access all needed information and this way we avoid the devices being detected twice, triggering udev-configure-printer twice. Also the detaching and re-attaching of the usblp kernel module by the new libusb-1.0-based USB CUPS backend does not trigger udev-configure-printer any more. - Gather all needed printer information through the UDEV entry of the low-level USB devices, independent of the presence or absence of the usblp kernel module. This way we do not need to handle the UDEV signals of the usblp kernel module. - When scanning the USB devices with libusb, do not seLect the correct device only by the USB vendor and product IDs but also by the serial number. There are many (older) Epson printers with the same USB vendor and product IDs but different models with different IEEE-1284 device IDs. - Make error on claiming interface 0 non-fatal (from the old patch, Ubuntu bug #936155). - Let actions on the print queue always be performed only once, even if more than one of the URIs of the detected device matches a particular print queue. - Eliminate duplicate messages in the syslog. 2012-07-11 Jiri Popelka Use IPP API accessors. (trac #226) CUPS 1.6 makes various structures private and introduces these ippGet and ippSet functions for all of the fields in these structures. http://www.cups.org/str.php?L3928 We define (same signatures) our own accessors when CUPS < 1.6. 2012-06-05 Jiri Popelka udev: replace udev_get_sys_path() with hard-coded "/sys" (trac #223) udev_get_sys_path() is no longer provided by libudev 2012-03-14 Jiri Popelka FirewallD support I left Firewall class almost untouched, just renamed it to SystemConfigFirewall because system-config-firewall is I think the only service prividing org.fedoraproject.Config.Firewall interface. I added new FirewallD class with the same interface as SystemConfigFirewall so it's transparent to a client. SystemConfigFirewall works the way that it first discovers what's allowed in firewall with one call (read()) and then again with one call (write()) allows what's necessary. FirewallD class uses separate call for each service/port query or modification. The newly added services are allowed in firewall for 60s. 2012-03-14 Tim Waugh smburi: handle URL-encoded URIs containing Unicode. Patch suggested by Lars Uebernickel . 2012-03-01 Tim Waugh Bumped version for 1.3.9 release. update-po tx pull 2012-02-24 Tim Waugh check-device-ids: better indenting for wrong ID reporting. check-device-ids: differentiate missing IDs from wrong ones. 2012-02-15 Tim Waugh Don't warn when CUPS >= 1.5.3 fixes STR #4018. 2012-02-03 Tim Waugh ppdcache: avoid tmpfile leak by removing returned PPD file if HTTP_NOT_MODIFIED. Not sure this is entirely intended behaviour for cupsGetPPD3 (STR #4018). ppdcache: handle file disappearances when storing in cache (bug #786232). Handle file errors when opening the returned PPD file, in the spirit of defensive coding. This actually happens in some cases but the root cause is not known. ppdcache: make self-test terminate. 2012-01-30 Jiri Popelka Fix several debugprints (bug #785581). 2012-01-23 Tim Waugh Fixed typo in troubleshooter. Updated British translation. update-po Bumped copyright year range. Bumped version for 1.3.8 release. 2012-01-06 Jiri Popelka Avoid AttributeError in on_btnNPApply_clicked() (bug #772112). 2011-12-16 Tim Waugh Added debugging when jobviewer not found (bug #757520). 2011-12-12 Tim Waugh Applied patch from Till Kamppeter to use pycurl 'https' support for openprinting (CVE-2011-4405). 2011-12-09 Vincent Untz Always use a sequence as args for timedops.TimedSubprocess() This helps make sure there is never an issue where we forget to escape a string. See https://bugzilla.novell.com/show_bug.cgi?id=735322 2011-11-28 Tim Waugh Added some firewall debugging for bug #755913. 2011-11-21 Tim Waugh Fixed typo (Ubuntu #844976). 2011-11-18 Tim Waugh Run probe_printer.py with an argument to run PrinterFinder by hand. More debugging output in PrinterFinder. Really fix SMB probing in PrinterFinder. LpdServer class: spot when we can't connect, and give up. Likewise in PrinterFinder's lpd_probe function. 2011-11-10 Tim Waugh Ignore ' All-in-one' suffix for printer model names when comparing them (bug #751610). 2011-10-25 Tim Waugh Bumped version for release. 2011-10-21 Tim Waugh Removed superfluous semi-colons. Handle HTTP errors from openprinting.org (seen in bug #743446). More helpful debugging messages. Don't re-open PPD when already available, just to localize marker names. Use the monitor's PPD cache in the properties dialog. monitor: provide method for sharing the monitor's PPD cache. cupshelpers: avoid re-opening PPD when not needed (not a leak). Fixed file descriptor leak in PPDCache (Ubuntu #874445). More fixes for code using newer pycups. 2011-10-17 Tim Waugh Fixed typo in check-device-ids.py when looking for ID-less matches. 2011-10-11 Tim Waugh Require newer pycups; drop compatibility code. Only whitespace changes. 2011-10-11 Till Kamppeter Do not connect to CUPS with an empty user name If the user leaves the user name field of the login/password dialog empty, establish the IPP connection with the previously set user name. On asynchronous IPP connections make sure that the password dialog is repeated if a wrong password is entered (Ubuntu bug 653132). On asynchronous IPP connections there is no "Not authorized" pop-up and no reappearing opf the login/password dialog to try again if one enters a wrong password. It gets fixed when removing the "self._try_as_root = False" in before the reconnection attempt as root. There cannot happen an infinite loop due to this anyway, as the try-as-root code also checks the user name and does not reconnect as root again if the user is already root. Several fixes on credential caching for IPP authentication (Ubuntu bug 653132) - Define a new remove_auth_info() method for the global_authinfocache class. This allows to remove wrong credentials from the cache to get a new login/password dialog for trying the input again. - Move reading the cached credentials from the creation of the connection objects to the beginning of the authentication methods, as sometinmes the object gets created but the connection is done much later. For example in the add-printer wizard the object for synchronous connection is created, no cached credentials are found and read, then the object for asynchronous connections, also no credentials are found and read, now an asynchronous connection is done to poll the list of detected printers, credentials are asked for to do so, and these credentials are not needed for creating the queue in the end as the synchronous connection object was already created before and therefore does not read cached credentials any more, ending up with a second login/password dialog at the end of the wizard. This fix is done for both the synchronous and asynchronous IPP connection classes. - Actually cache the credentials when they got entered via the login/password dialog of an asynchronous connection. - In the case of asynchronous connections remove the cached credentials entry before reconnecting after failed authorization and when canceling the login/ password dialog. This assures that the dialog reappears on another attempt to do an administrative task. Handle new CUPS 1.5 IPP error response "IPP authentication canceled" also on asynchronous connection Fix to distinguish canceling of authentication from entering an empty password (on asynchronous IPP connections). This is the same as revision ef59305 but now forasynchronous IPP connections (Ubuntu bug 653132). 2011-10-07 Tim Waugh Don't penalise pxlmono now that bug #661814 is fixed in ghostscript-9.04. 2011-10-06 Tim Waugh Handle new CUPS 1.5 IPP error response IPP_AUTHENTICATION_CANCELED (Ubuntu #653132). 2011-10-05 Tim Waugh update-po Bumped version for 1.3.7 release. tx pull Show private job attributes for "my jobs" (bug #742279). 2011-09-27 Ralph Corderoy debug.nonfatalException()'s tblast[] was unused. 2011-09-27 Tim Waugh Test Page button: enable when application/postscript is supported. Also disable maintenance buttons when there are unsaved changes, or when the queue is not processing/accepting jobs. 2011-09-26 Tim Waugh Tidied up some regular expressions in preferreddrivers.xml. Expressions must match starting at the beginning of the line (so to find a word not at the beginning, will likely start "."). But they do not need to match the entire line: so they never need to end with ".*". 2011-09-26 Till Kamppeter Fixes on the recognition of driver types in preferreddrivers.xml Fixed the rules for recognition of driver types. Now the types "foomatic-recommended-hpijs", "foomatic-hpijs", and "foomatic-recommended-postscript" are recognized correctly (Ubuntu bug 855412). 2011-09-26 Tim Waugh update-po update-po Fixed erroneous space character in translatable string. update-po 2011-09-23 Tim Waugh troubleshoot: handle errors saving troubleshoot.txt (Ubuntu #789602). newprinter: removed references to lblIPPURI now it's gone. The ipp/ipps/https schemes are now handled in the same way as "Enter URI". 2011-09-23 Till Kamppeter Make connections list easily accessible Make the connections list on the device page of the add-printer wizard more easily usable: Really expand it by default and explicitly define its default size so that it gets larger (~ 3 visible lines). This actually fixes Ubuntu bug #842092. Improve handling of remote CUPS queues reported via DNS-SD A CUPS server can also broadcast its queues vis DNS-SD and not via IPP (like Mac OS X machines with shared printers do). In this case the queues are not made available automatically on the client, but the broadcasted queues can be selected in the add-printer wizard under the auto-detected network devices. This patch improves the labeling so that the server is listed with its name or IP (and not with the description of its first queue) and in the "Connection" menu of the server the queues are shown with their descriptions (and not all undistinguishable with "Remote CUPS printer via DNS-SD"). List CUPS servers correctly in the devices list when using "Find Network Printer" If one enters the host name or IP of a CUPS server into the "Find Network Printer" field on the devices page of the add-printer wizard, the server gets labeled with the description of the first printer found on the server. This patch makes the server being listed with its host name or IP. Removed forgotten debug code in printer finder In the SMB printer part of the printer finder (what does the work for "Find network prnter" on the devices screen of the add-printer wizard) there was some debug code which made every search, independent of the entered host name or IP, finding a Samsung SCX-4200, shared via SMB. Improve handling of IPP devices found when adding a printer (newprinter.py) - Make recognition whether a found IPP device is a remote CUPS queue actually work - Show queue names of IPP devices in "Connection" list. This makes it easier to find the correct device URI when setting up IPP printers with more than one internal queue or when setting up a queue pointing to a CUPS server after searching the CUPS server's queues via "Find network printer". - Make reading out device URI of IPP device (getDeviceURI() method) more reliable. 2011-09-20 Tim Waugh Don't handle tooltips during mainloop recursion (bug #664044, bug #739745). 2011-09-12 Tim Waugh Expand connections list (Ubuntu #842092). Patch from Rodrigo Moya. 2011-08-31 Tim Waugh Fix up printer event handler in printerproperties.py, broken by recent change. 2011-08-31 Till Kamppeter Fixed bold print of tab labels on option conflicts If there are conflicting option settings on the tabs "Printer Options" and/or "Installable Options" of the printer properties dialog, the tab names at the left of the dialogs should be shown in bold. This patch makes this working correctly in all situations, especially after changing the driver/PPD for a print queue. Save "Installable Options" changes on driver change When changing the driver and the PPD of the new driver has an "Installable Options" group, the wizard shows a page to set these options. This patch makes the changes here actually being saved. 2011-08-31 Tim Waugh Update printer properties dialog correctly when PPD changed. Added a Boolean to the printer-modified signal from NewPrinterGUI. This describes whether the PPD for the printer was changed. Now we can update the printer properties dialog correctly. Catch the right exception in get_notifications() (Ubuntu #827573). 2011-08-30 Jiri Popelka tx pull && make update-po Marked 2 translatable labels as such (bug #734313) 2011-08-22 Tim Waugh Bumped version for 1.3.6 release. update-po tx pull 2011-08-19 Tim Waugh Make bootstrap non-interactive. 2011-08-18 Tim Waugh IPPAuthConnection: if semantic attribute is referenced after destroy, don't fail (Ubuntu #828030). 2011-08-16 Jiri Popelka Allow entering @,?,=,& characters in Device URI text field (Ubuntu #826958). 2011-08-02 Tim Waugh Removed PackageKit client code in missingPackagesAndExecutables (bug #726938). The PackageKit Python client module is hard-coded to set a default GLib main loop on import, which means it cannot be imported by a module that might be used by an application using a different main loop implementation, such as KDE's printer-applet. 2011-08-01 Tim Waugh Properties dialog: make OK button sensitive even when no changes to save (Ubuntu #444280). Only becomes insensitive when there are conflicts. Make PackageKit optional in cupshelpers (bug #726996, Ubuntu #819000). 2011-07-29 Tim Waugh Avoid "global name 'dbus' is not defined" traceback in serversettings.py (bgu #726682). Bumped version for 1.3.5 release. 2011-07-28 Tim Waugh Completed fix for updated firewall API. tx pull && make update-po Use "Enter hostname" for browse servers instead of "Enter IP address" (bug #726134). When probing for LPD printers, make sure this process is interruptible (bug #726383). Interrupt it if the Wait window is closed. Just hide the WaitWindow on delete. Completed fix for updated firewall API. Fixed LPD probing by removing test code. 2011-07-22 Tim Waugh Fixed badly-formed XML. Add cupshelpers.missingExecutables to the exported Python interface. Fixed PackageKit query for missing packages. Need to filter for packages *not* installed, and also need to eliminate duplicates due to several versions/architectures being available. 2011-07-21 Tim Waugh Documentation for new D-Bus methods. update-po Fixed hr.po plural forms. tx pull && make update-po troubleshooter: avoid confusion between local variable and imported module. See https://bugzilla.redhat.com/show_bug.cgi?id=720460#c11. 2011-07-20 Tim Waugh Fixed DNSSD hostname resolution. (cherry picked from commit 3747e7598fb793b8820021c7ce05a4ca011dcba2) Adjusted firewall code to match new system-config-firewall API (modified for CVE-2011-2520). Uses json instead of pickle. 2011-07-19 Tim Waugh D-Bus service: moved killtimer add_hold into same object that releases the hold. Expose physical device grouping logic via D-Bus. Fixed DNSSD hostname resolution. Restored file->package resolution for missingPackagesAndExecutables. Now uses PackageKit to do it. New method cupshelpers.missingExecutables() for just executables. missingPackagesAndExecutables: removed static package list. Should use PackageKit to resolve filenames to packages. Expose check for missing PPD executables via D-Bus. Fixed cupsFilter search in missingPackagesAndExecutables. Expose driver selection logic via D-Bus. D-Bus service: make killtimer global. Fixed comment in ppdsloader. 2011-07-18 Tim Waugh ppdsloader: close the dialog when no longer needed, don't wait until we're destroyed. 2011-07-15 Tim Waugh Updated udev-configure-printer comment for systemd. 2011-07-14 Tim Waugh Don't complain about missing/invalid device ID for devices we've already handled. Avoid compiler warning in argument parsing in main(). Fixed CFLAGS/AM_CFLAGS usage in Makefile.am. Now CFLAGS on the command line can override optimization flags. 2011-07-13 Tim Waugh Updated British translation. update-po Bumped version for 1.3.4 release. Removed unused Printer Groups feature. Updated ui/PrintersWindow.ui with newer glade. No actual changes. Don't show "No printers configured" page if the printers are filtered in any way. 2011-07-12 Tim Waugh URL-quote URIs when using "Find Network Printer" (Ubuntu #808137). Downloadable drivers: don't display printers for which there are no drivers (bug #668154). 2011-07-11 Tim Waugh Kerberos support for the SMB 'Verify' button. Removed IPP/HTTP device screen in favour of "Enter URI" (bug #685091). If someone has a URI already, they can just put it into the "Enter URI" screen. If they don't have a URI, they'd only be guessing when they fill out the fields in those two ipp/https screens. CUPS-to-CUPS printer sharing should be done using CUPS Browsing or BrowsePolling. 2011-07-08 Tim Waugh Converted ComboBoxEntry widgets to Entry+EntryCompletion in NewPrinterWindow.ui. Robustness in ppdsloader in the face of errors (Ubuntu #766818). 2011-07-07 Tim Waugh Changed State label into a GtkEntry so contents are always fully selectable. Changed Make/Model label into a GtkEntry so contents are always fully selectable (bug #719217). 2011-07-06 Tim Waugh Backported firewall-related translation strings from 1.2.x. 2011-07-06 Lennart Poettering udev: don't rely on retriggering printers, enumerate them instead Retriggering udev devices is primarily a tool to make sure changed udev rules should be applied. It should not be used in any normal codepaths. This patch makes it unnecessary to retrigger printer devices after starting CUPS. Instead we simply enumerate them in a service that is started at the same time as CUPS. This patch also includes the systemd unit file that makes sure we are called at the right time. We use "RemainAfterExit=yes" in the service file to ensure the enumerator is called only once during runtime. 2011-07-06 Tim Waugh Convert iters to paths before comparing (bug #717062, Ubuntu #791690, trac #221). Tree iters cannot be compared, but paths can. (cherry picked from commit 60efcbb0f91275753364b6bc67daf2fb8b543ea5) Convert iters to paths before comparing (bug #717062, Ubuntu #791690, trac #221). Tree iters cannot be compared, but paths can. 2011-07-01 Tim Waugh Don't try to read the firewall again for each rule we check. (cherry picked from commit 6eac280f6a0d4317770e34726340b4b44fca41d5) Cannot modify the firewall to allow SNMP broadcast responses (trac #214). (cherry picked from commit c04857584eee60be910b82b8b427b70e4fc5d96c) Use "Do It Later" instead of "Cancel" for adjust firewall dialog (trac #213). (cherry picked from commit 990f0908f385f0702102f2a1b782edc5b07b2ad0) 2011-06-30 Till Kamppeter Do not error out on missing firewall D-Bus service This change allows running system-config-printer on non-Fedora/Red Hat systems without modifications and no errors, warnings, or tracebacks. On Fedora/Red Hat the control of the local firewall via D-Bus service is still done. (cherry picked from commit 7f150124376580866ba0ed7b267fd1e7ba3ed440) 2011-06-30 Tim Waugh Check we are connected to the local server for server firewall changes. (cherry picked from commit bf250f689c66a20d6e90387dfaaa5bdc5b08f778) No longer need "review firewall" dialog. (cherry picked from commit 37158603873248a076804ee1efafe8cfcef043cc) Adjust firewall for network printer detection. (cherry picked from commit ea573cca78d1f3b884414065f310e19605c527cf) Actually change the firewall to allow incoming IPP connections. (cherry picked from commit 130bb204a42fa5ca921b74e93c9121703bed35c0) Check firewall for SNMP, SMB and mDNS. (cherry picked from commit 5caee445ba88c3fc999e41ed18fe7b869eaf8780) 2011-06-29 Tim Waugh Set translation domain in D-Bus service (Ubuntu #783967). 2011-06-21 Tim Waugh Driver prefs: avoid PostScript for HP LaserJet 2100 Series (bug #710231). Avoid non-manufacturer PostScript drivers in this case. Some other drivertype names changed to avoid conflicts and mistaken matches. Ensure consistency in jobviewer if add_job fails (bug #693055, bug #632551). 2011-06-10 Jiri Popelka Updated Free Software Foundation (FSF) address. 2011-06-08 Till Kamppeter Raised priority for SpliX driver Raised the priority of the SpliX driver for Samsung laser printers, so that it is used as the default driver for these printers, and not "Foomatic/gdi" any more. The driver is free software and is superior in terms of reliability and printout quality, so it should not be categorized as a non-free third-party driver (Ubuntu bug #793741). 2011-06-07 Tim Waugh Adjusted test code in asyncpk1.py so it doesn't look like a tempfile vulnerability. 2011-06-02 Tim Waugh Bumped version for release. Pulled Transifex translations and ran make update-po again. 2011-05-06 Jiri Popelka Set translation domain for ServerSettingsDialog (Ubuntu #777188) 2011-04-21 Tim Waugh udev-configure-printer: be more defensive when parsing CUPS response (Ubuntu #760661). Fixed typo in comment. 2011-04-18 Tim Waugh scp-dbus-service: Ignore setlocale() errors (Ubuntu #748964). 2011-04-15 Jiri Popelka Allow % character in SMB URI (Ubuntu #747400). 2011-04-15 Tim Waugh Renamed ui/*.glade to ui/*.ui again (Ubuntu #759811). 2011-04-13 Tim Waugh Added PrinterModified D-Bus signal to printer properties interface. More error handling (Ubuntu #744783). Ensure consistency in jobviewer if add_job fails (bug #693055, bug #632551). 2011-04-07 Tim Waugh Avoid traceback if printer duplication fails (bug #694629). 2011-04-05 Tim Waugh update-po Updated aclocal.m4. Bumped version for release. Fixed PPDs loader when using CUPS remotely or when DBus not available (bug #693515). 2011-04-04 Tim Waugh Handle failure to load PPDs more gracefully (Ubuntu #742409). Updated aclocal.m4. 2011-03-28 Tim Waugh Fixed off-by-one error in monitor. Be defensive against CUPS returning incorrect job IDs (Ubuntu #721051). Avoid traceback when cancelling New Printer dialog after failure. 2011-03-25 Tim Waugh More robustness for printer properties dialog when printer removed (Ubuntu #741987). 2011-03-23 Tim Waugh Fixed printer renaming (Ubuntu #726954). 2011-03-22 Tim Waugh Make sure everything is ready before handlers might be called (bug #689336). The NPTNetworkHostname entry widget seems to be emitting 'changed' (and the handler is called) immediately as it is initialised to the empty string. Make sure our handler is ready for that. More uses of check-device-ids.py. Now it can simply be given a device URI or even just a queue name. 2011-03-22 Till Kamppeter Job viewer's attribute window: Convert job numbers and attribute values to strings In the code for the job attributes window in the job viewer (right-click a job and choose "View Attributes") on two points arguments have to be converted to strings. Once for the notebook page labels as the job IDs are numbers, and second for the attribute values, they can be numbers or even data structures (Ubuntu bug #733088). 2011-03-18 Tim Waugh Bumped version for release. 2011-03-16 Tim Waugh update-po Handle URIs in Find Network Printer entry, and use 'Enter URI' instead of 'Other' (bug #685091). Fixed an instance where NewPrinterGUI might not have self.printers set (bug #680683). Set connected state when connecting to server fails (bug #685098). More gracefully handling of cupsd restarting. monitor: new cups-connection-recovered signal. main app: handle this signal in the same way as when starting local cupsd service. 2011-03-14 Tim Waugh Transifex configuration file. Transifex configuration file. update-po Pull from Transifex 2011-03-14 Jiri Popelka Use "Do It Later" instead of "Cancel" for adjust firewall dialog (trac #213). This had been fixed in 1.2.x (990f090) but was lost during the by-hand merge. IPPHostname can contain colon (to specify port). This had been fixed in 1.2.x (6fb4a12) but was lost during the by-hand merge. 2011-03-14 Till Kamppeter Make automatic driver download also working when changing the driver When changing the PPD file of an existing print queue ("Make and Model" in "Properties" dialog) the cupshelpers.getDevices() function is called with the scheme of the device URI to find the printer's device ID. The scheme needs to be supplied as ASCII string and not as UniCode, otherwise the scheme is not recognized and the appropriate CUPS backend does not get called. The device ID is needed to suggest the correct drivers and to trigger automatic driver downloads. 2011-03-11 Tim Waugh Handle the situation where cupsd has died more gracefully. NewPrinterGUI's init() function now returns True/False; if it failed, update to see if the service is still running. In other exceptional situations, update to see if the service is still running. When we get the cups-connection-error signal from the monitor, do not try to reconnect through libcups by calling getClasses; instead, immediately go into the unconnected state. Removed stale code left over from conversion to gobject. Ensure all uses of ppdsloader supply the Device ID. The "printer" (i.e. New Printer) case did not supply the Device ID obtained from the device list. Discovered by Till Kamppeter. Fixed some small typos in newprinter --help output. 2011-03-09 Tim Waugh Don't allow prompts when handling cups-connection-error signal (trac #219). 2011-03-08 Till Kamppeter Activated and fixed testing mode for device ID/driver association Currently, newprinter.py has only one testing mode to test the complete wiozard setting up physically available printers. This did not allow testing which driver gets associated to a printer with a given device ID, for example if a user reports a bug about a wrong driver being selected but the maintainer or developer does not have the user's printer. Exactly this is now available by a second testing mode with parameters, which is fixed and made available with this change. Instead of cd /usr/share/system-config-printer python newprinter.py one does the call with parameters: cupsctl FileDevice=yes cd /usr/share/system-config-printer python newprinter.py --setup-printer=file:/tmp/printout --devid="MFG:HP;MDL:Fax;" and the printer with the device ID "MFG:HP;MDL:Fax;" will get set up and the appropriate driver (here the fax driver of HPLIP) gets selected. Also automatic driver downloads happen if appropriate. This change only makes an already existing testing mode accessible and fixes a bug in it (the device/driver association did not get triggered). It does not change any behavior for normal use of system-config-printer. 2011-03-08 Tim Waugh Just hide Printer Properties dialog on delete-event (Ubuntu #729966). Only run tx if available in bootstrap. update-po tx pull Added Transifex client hook to bootstrap script. Ignore .tx directory. update-po tx pull Added Transifex client hook to bootstrap script. 2011-02-25 Tim Waugh Prevent traceback after 2nd drivers search dialog is cancelled (bug #680288). update-po Renamed ui/*.ui -> ui/*.glade again. It turns out the intltool-extract problem with recognising Glade-3 files is still present. update-po 2011-02-24 Tim Waugh Extra job options: print-quality, printer-resolution, output-bin. Automatically show horizontal scrollbar in job options screen. Removed debugging output. Ignore "output-mode-default" attribute as it is not settable. Handle IPP_TAG_RESOLUTION types (requires pycups-1.9.55). Don't traceback if option value cannot be handled. 2011-02-24 Jiri Popelka Fixed traceback in options.py (bug #679103). Select one from supported values instead of the default if the default is not among supported. 2011-02-22 Tim Waugh Match HP-Fax2/3/... PPDs, as well as Ubuntu/Debian hpijs-ppds packages. New hpijs-plugin driver type to catch proprietary plug-in requirements for hpijs. 2011-02-20 kami911 l10n: Updates to Hungarian (hu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Hungarian (hu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Hungarian (hu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-18 Tim Waugh preferreddrivers.xml: Identify hpcups and hpijs fax PPDs. Match native hpijs driver (drv:///hp/hpijs.drv/...) as "hpijs". I've put it just after "hpcups" in the driver preference order. May need tweaking. Handle Ubuntu locations of hpcups.drv and hpijs.drv. preferreddrivers.xml: match OpenPrinting gutenprint PPD names as gutenprint. Removed DES field check altogether. I don't know of any situations where this helps, or where checking the DES field would help when the MFG and MDL fields do not match. xmldriverprefs.test: show order more clearly. Make xmldriverprefs.test() debugging optional. More debugging during PPD selection. Only discard PPDs for DES-mismatch if they actually have a DES field. Preferred foomatic PostScript drivers before PCL drivers (except foomatic-recommended ones). 2011-02-17 Tim Waugh Bumped version for release. update-po Fixed page sequence when adding a printer with an exactly-matching driver. More debugging around firewall/get-devices. firewall: fixed cache behaviour. Defer calls to populateList initiated by monitor. Removed duplicate method definition. monitor: always set self.bus even when D-Bus not available. Fixed traceback due to libsane-hpaio installation check. 2011-02-16 Tim Waugh Updated British translation. update-po Bumped version for release. Prevent look-up failures in dnssdresolve (Ubuntu #716357). 2011-02-15 kristho l10n: Updates to Danish (da) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-15 Tim Waugh Install libsane-hpaio when appropriate (bug #585362). Avoid double-checking networked HPLIP-able devices. 2011-02-14 Tim Waugh Use #!/usr/bin/python throughout, even for non-executables. 2011-02-13 yurchor l10n: Updates to Ukrainian (uk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-10 jassy l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-09 Tim Waugh Don't display tooltips in the jobviewer as they do not work at all. Bumped version for snapshot release. applet: don't crash when DISPLAY is unset (bug #676343). 2011-02-09 hasanalpinan l10n: Updates to Turkish (tr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-09 Tim Waugh Don't crash when DISPLAY is unset (bug #676339). update-po Bumped version for release. 2011-02-09 Jiri Popelka Use set_autowrap() from slip.gtk module when possible. slip.gtk module contains the same code as gtk_label_autowrap.py so try to use slip.gtk.set_autowrap() first. 2011-02-09 hasanalpinan l10n: Updates to Turkish (tr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-09 jassy l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-08 Tim Waugh Don't rely on CUPS_PRINTER_COMMANDS alone. 2011-02-08 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-08 jassy l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-07 Tim Waugh update-po update-po 2011-02-07 Till Kamppeter Save not only the IP but also the host name in the device record when resolving a DNS-SD service name With the host name we can create host-name-based HPLIP URIs which are stable against routers which do not keep always the same IP for a network device when it is turned off and on again. 2011-02-07 Tim Waugh CUPS dnssd URI check should check for /cups in the string, not at end. 2011-02-04 Till Kamppeter Enhancements of the PhysicalDevice class for the CUPS "dnssd" backend This is especially to improve association of DNS-SD- and SNMP-discovered printers, so that the same printer, discovered with the two methods appears only once in the list of discovered devices. There are also improvements for getting mmake/model/serial number info and for network printers the IP address and (if available) the host names are also listed. This way admins can easily identify the discovered printers, even if there is more than one of the same model in the network. 2011-02-04 Tim Waugh Small tidy-up from last patch. 2011-02-04 Till Kamppeter Explicit support for the "dnssd" CUPS backend This change adds explicit support for the "dnssd" CUPS backend to system-config-printer. This makes entries in the list of discovered printers coming from the "dnssd" CUPS backend appear with nice descriptions instead of custom URI input fields (as one gets for unknown backends). It also adds code to make hostname-based HPLIP URIs be generated (keep HPLIP queues working when router changes IP everytime when printer is turned on). Fixes on the DNS-SD service name resolver Fixed the DNS-SD service name resolving: Expanded "%" encodings in the dnssd device URIs (like dnssd://HP%20LaserJet%20P3005%20%5B2611E3%5D._ipp._tcp.local/) before sending the service name to Avahi and let PhysicalDevice check the resolved IP addresses. Now network printers discovered both by DNS-SD and SNMP are really appearing only once in the list of discovered printers. 2011-02-03 Tim Waugh Fixed bugs in gtk_label_autowrap.py by updating to latest version (bug #637829). 2011-02-03 jassy l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-02-02 Tim Waugh troubleshoot: handle wrong server name but right IP address. Also, always attempt to find SMB queues. 2011-02-01 jassy l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-01-21 Martin Pitt (in progress) Convert from pygtk2 to pygi/GTK3 This is WIP, still a lot of breakage everywhere. Automatic pygtk2->pygi conversion This is the result of calling pygi-convert.sh on the code, which provides the simple and bulky part. 2011-01-21 Tim Waugh Avoid traceback when notification daemon has persistence (bug #671375). 2011-01-20 Tim Waugh Grabbing focus for editing breaks it (bug #650995). 2011-01-20 shanky l10n: Updates to Kannada (kn) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-01-20 Tim Waugh Handle failure to connect in PrinterURIIndex (bug #668568). 2011-01-19 Tim Waugh Avoid Foomatic/pxlmono until output size issue is fixed (bug #661814). Update printer properties after NewPrinter dialog has changed PPD/device. Display "(Current)" for current driver when no real device known. Fixed current driver display when using a "(recommended)" driver. Actually fix problem supposed to be fixed by last commit. Fixed driver selection when there are duplicate PPDs available. In this situation a different PPD than the user selected would be used. For example, with an HP LaserJet 1200 the following drivers were shown: Foomatic/pxlmono Postscript pcl3, hpcups Foomatic/hpijs etc... However, 'Postscript' represents two identical PPDs and the underlying driver list contains both of these. Selecting 'pcl3, hpcups' would choose index 2 from the driver list, i.e. the second of the duplicates. The fix is to remove duplicates once we have merged them. 2011-01-18 Jiri Popelka Allow %, ( and ) characters in dnssd URI (bug #669820). 2011-01-15 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-01-14 Tim Waugh Bumped version for snapshot release. update-po Follow file renames in POTFILES.in. update-po Recreated aclocal.m4 using new autoconf Bumped version for release. 2011-01-13 khasida l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-01-13 mgiri l10n: Updates to Oriya (or) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-01-12 Jiri Popelka string.letters are locale.getpreferredencoding() encoded (bug #668127). 2011-01-05 swkothar l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-01-03 swkothar l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2011-01-03 runab l10n: Updates to Bengali (India) (bn_IN) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-12-21 Tim Waugh Don't log "invalid or missing" ID as level error but debug. This situation is expected most of the time, as either the libusb method or the usblp method will lock out the other. 2010-12-16 Tim Waugh Undo grab_focus change. Still something strange going on though: after right-click and Rename, typing at the keyboard doesn't end up reaching the cell's editable widget. It has to be selected first. Grab focus for the cell, not the icon view, when renaming printer. 2010-12-16 Jiri Popelka Block unwanted characters when editing queue name (bug #658550). 2010-12-16 Tim Waugh Don't traceback on exit if we couldn't connect to CUPS at all. Fixed typo in last commit. Initialise D-Bus threading in timedops module (bug #662047). Initialise threading for D-Bus. This is needed as long as it is used from two separate threads. We only do this in a few places now, but in particular the troubleshooter does this. 2010-12-09 Tim Waugh Don't treat damaged PPDs as failure to connect to CUPS. Handle bad PPDs in the PPDCache object (bug #661755). Ignore leading/trailing whitespace in IEEE 1284 Device ID fields. 2010-12-08 Tim Waugh Only show maintenance buttons when capable (bug #658564). Don't just make the buttons insensitive. Don't set maintenance function buttons insensitive in UI file. Renamed *.glade to *.ui. Updated UI files with glade-3. 2010-12-06 tiansworld l10n: Updates to Chinese (China) (zh_CN) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-12-02 Tim Waugh Grab focus on the IconView after setting it editable (bug #650995). This fixes rename problems when using compiz. Don't need debug logs for every missing MFG/MDL field. Don't leave an extra Monitor running. 2010-12-01 Tim Waugh Tidying. 2010-12-01 Till Kamppeter Do not generate print queue names which begin or end with a dash 2010-12-01 Tim Waugh Moved PPD matching call into PPDsLoader class to avoid multiple calls. Debugging messages in authconn.Connection. Now logical operations are bracketed by debugging messages. 2010-11-30 Till Kamppeter Compare printer make/model names only by words and numbers (like they sound) Do matching of make and model names only considering letters, numbers, and words, ignoring all non-alphanumeric characters (like dashes). This makes names sounding the same but written differently considered equal. This overcomes the problem that if the IEEE-1284 device ID is not known that not correctly written model names in the (non-manufacturer) PPD files still match. For example "Epson PM-A820", "EPSON PM A820", and "Epson PM A 820" match each other (Ubuntu bug The normalize() function used for that normalizes manufacturer and model names for comparing. The string is turned to lower case and leading and trailing white space is removed. After that each sequence of non-alphanumeric characters (including white space) is replaced by a single space and also at each change between letters and numbers a single space is added. This makes the comparison only done by alphanumeric characters and the words formed from them. So mostly two strings which sound the same when you pronounce them are considered equal. Printer manufacturers do not market two models whose names sound the same but differ only by upper/lower case, spaces, dashes, ..., but in printer drivers names can be easily supplied with these details of the name written in the wrong way, especially if the IEEE-1284 device ID of the printer is not known. This way we get a very reliable matching of printer model names. Examples: - Epson PM-A820 -> epson pm a 820 - Epson PM A820 -> epson pm a 820 - HP PhotoSmart C 8100 -> hp photosmart c 8100 - hp Photosmart C8100 -> hp photosmart c 8100 2010-11-30 Tim Waugh Make sure to fill makes list only when PPDs and devices are fetched. Fixed last merge. 2010-11-30 Till Kamppeter Lower the priority of Gutenprint For PostScript and PCL printers without manufacturer-supplied PPDs and with explicit support by Gutenprint, the (inferior) Gutenprint PCL 5e driver got selected. Demoted Gutenprint to make Foomatic/Postscript and HPIJS preferred (Ubuntu bug #669152). Also improved recognition of Gutenprint's PPD URIs. 2010-11-30 Tim Waugh Recreate the monitor for the correct host after "Connect...". More debugging. Removed calls to pynotify.Notification.attach_to_status_icon(). Newer versions of libnotify do not provide this method as its use is being replaced by the "persist" capability in notification-daemon. 2010-11-29 elsupergomez l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-11-26 Tim Waugh Define a generic-foomatic-recommended drivertype and use it. Adjusted PCLXL test case to require pxlcolor driver. This is to avoid the case where we get (a) the gutenprint black and white driver, or (b) a random generic PCL 6/PCL XL driver The current foomatic-recommended driver is pxlcolor. Allow all generic drivers to be candidates. Missed another instance of 'foomatic:' in the XML file. No longer need FOOMATIC_GENERIC driver class. Till's explanation: The driver class DRIVER_TYPE_FOOMATIC_GENERIC is not really needed and it also stopped the evaluation before reaching the check for the "(recommended)". A driver search for a completely unknown PCL-XL printer leads to an assignment of a working but inferior driver. Try system-config-printer --setup-printer='file:/tmp/printout' --devid='CMD:PCLXL;' and you will get the (low-res, bw, PCL 5e) Gutenprint driver assigned instead of the (hi-res, color, PCL XL) pxlcolor driver. Removing the check for "Generic" leads to the desired result. Treat "foomatic-db-compressed-ppds:" the same as "foomatic:". 2010-11-26 ufa l10n: Updates to Portuguese (Brazilian) (pt_BR) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-11-25 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-11-25 Tim Waugh update-po Bumped version for snapshot release. Make scp-dbus-service.py executable. Only use ID-matched PPD names if there were any. Fixed NewPrinter transience again. D-Bus paths: separate main pathname from instance number with /. No longer need run_config_tool method in applet.py. Fixed traceback. 2010-11-24 Tim Waugh Use D-Bus object activation for printing test pages. Only set properties dialog transience if parent known. Use D-Bus activation for printer properties dialog. New Quit method for JobApplet interface. Better reference counting. (D-Bus objects still not getting freed though.) JobViewer: close jobs window on cleanup. Fixed PPDCache traceback. New Makefile rule for running the D-Bus service. Use D-Bus activation for job applet. Clean up at exit in scp-dbus-service.py. Removed applet's --no-tray-icon option, and manage-print-jobs desktop file. Removed --choose-driver option from man page. Moved dbus parts into subdirectory. 2010-11-23 Tim Waugh Fixed JobViewer error introduced by conversion to GObject. Reverted bad commit. Fixed window positioning of NewPrinterWindow. D-Bus activation for job applet. JobViewer: new 'finished' signal, now used by main application. Fixed window positioning of NewPrinterWindow. Fixed window parenting issue in NewPrinterGUI. Removed --setup-printer option. Use D-Bus activation instead. Removed --choose-driver option. Use D-Bus activation instead. New Printer dialog: don't focus on map if no parent window. NewPrinterDialog is now a public method. Removed --setup-printer option. Use D-Bus activation instead. newprinter: printer_with_uri fixes when no Device ID given. D-Bus service: no need for NewPrinter method. D-Bus service: don't set debugging unconditionally. D-Bus service: KillTimer fix for multiple clients. 2010-11-22 Tim Waugh D-Bus object activation for NewPrinterDialog. Interface still subject to change. Documentation fix. Include bug report reference for Xerox 6250DP issue. 2010-11-19 Tim Waugh Renamed *.conf. XML: Changed deviceid element to contain one or more field elements. This gives a more natural way of being able to match against several Device ID criteria. New "avoid" element for not-quite-blacklisted drivers. Fixed Xerox 6250DP driver selection. 2010-11-18 fdaluisio l10n: Updates to Italian (it) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-11-17 shnurapet l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-11-16 Tim Waugh Use exact-cmd in our preferreddrivers.xml. 2010-11-16 Jiri Popelka Request also 'job-preserved' attribute in JobViewer (Ubuntu #675259). 2010-11-16 Tim Waugh Added new "fit" category: exact-cmd. 2010-11-15 Tim Waugh Added test case for Xerox 6250DP. Removed extra debugging. Prefer generic PCL 5c driver to PCL 5e (5c adds colour). 2010-11-15 cleitonlima l10n: Updates to Portuguese (Brazilian) (pt_BR) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-11-14 tombo l10n: Updates to Italian (it) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-11-12 Tim Waugh Removed unused code. 2010-11-11 Tim Waugh Removed unnecessary output while renaming. udev-configure-printer: syslog if no corresponding CUPS device matches. 2010-11-10 Tim Waugh When PackageKit is available, always search for drivers to install. Without doing this, we may very well end up using the "wrong" driver if a sub-optimal one happens to be installed. XML: Allow an optional packagehint attribute for drivertype. 2010-11-09 Tim Waugh Ricoh family driver rules, with test case. Also a test case for gutenprint vs Brother HL-2030. Test-case flags for cupshelpers.ppds self-test. These allow tests such as "make sure this printer does *not* use this driver". New rule for running the xmldriverprefs test. This allows for easier inspection of preferred driver orders. XML: gutenprint is no good on the Brother HL-2030 (bug #645993) Fixed XML validator so that it handles blacklists. Adjusted/added some comments. Fixed XML test output (UTF-8 encoding problems with Océ). XML: driver types can now be referenced by glob pattern. Fixed up xmldriverprefs.xml test() function. 2010-11-05 Tim Waugh Set CUPSHELPERS_XMLDIR when running from working directory. Use CUPSHELPERS_XMLDIR environment variable if set. Use /etc/cupshelpers/preferreddrivers.xml pathname. Fixes for 'make distcheck'. Remove "Series" word from model names if present. Don't ignore the rest of the line entirely. Some models (e.g. HP OfficeJet Series 300) refer to themselves with model names containing "Series". Updated preferreddrivers.xml (added splix, turboprint). Updated documentation in RELAX NG file. Cancel printer finder once it is no longer needed. Better debugging output when printer finder is running. 2010-11-03 Tim Waugh Updated preferreddrivers.xml to more closely match old hard-coded rules. Fixed some unused drivertypes in preferreddrivers.xml. 2010-11-03 Jiri Popelka Treat cups.Connection() failure in PrinterURIIndex._map_printer (bug #648014). 2010-11-03 Tim Waugh Updated aclocal.m4. Validate XML file as part of 'make check'. Small fix for xmldriverprefs: strip drivertype element text. Fixed Makefile.am. Don't use status icon when notification server supports persistence (trac #216). Start to remove status icon support in favour of notifications (trac #216). This part just removes calls to Notification.attach_to_status_icon(). 2010-11-01 Tim Waugh Compatibility code for new smbc exception types. 2010-11-01 hasanalpinan l10n: Updates to Turkish (tr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-31 Jiri Popelka Added troubleshoot/VerifyPackages.py Use rpm -V to verify common printing packages. Bug #646803. 2010-10-30 kmaraas l10n: Updates to Norwegian Bokmål (nb) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-29 renault l10n: Updates to French (fr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-29 Tim Waugh Updated comment in RNG file. Combined the two XML file types into one. Fetch Device ID for existing device when changing PPD. This allows us to give a more complete choice of drivers. Tidied up example drivertypes.xml. Include generic drivers whenever CMD field is available. Export installdriver as cupshelpers.installdriver. This allows other applet implementations, such as the KDE printer-applet, to share more code. Make sure InstallPrinterDrivers get correctly typed values (bug #647270). 2010-10-28 Tim Waugh Enhanced self-test for xmldriverprefs. Show all ID-matched drivers when adding a new printer. Use new interface when finding drivers for new printer. New getPPDNamesFromDeviceID function doesn't need downloadedfiles param. New element for XML driver preferences. The element's ppdname attribute has been changed into an element, and interleaving is now used on drivertype's child elements. A new element has been introduced for matching against how well a driver fits to a printer, i.e. whether it's an exact match, close match, generic driver that should work, or complete guess. The XML driver preferences implementation has been adjusted accordingly, which required some changes to the PPDs object so that it keeps track of fitness for each driver, not just the best-fitting. 2010-10-27 Tim Waugh Don't use DES: fields from hpcups PPDs. From original patch by Till Kamppeter. Fixed misuse of str.find() result. Brother HL-1450 contains 'BR-Script2' suffix which should be stripped. Speed-ups in cupshelpers.ppds.ppdMakeModelSplit. By using pre-compiled regular expressions and better algorithms, the ppd-make-and-model parsing function has been made about 35% faster. Catch generic-escp driver types. Show "(recommended)" for auto-selected manufacturer and model. Use native language when building PPDs list (lost in last change-but-one). Only show "(recommended)" for driver that is auto-selected. Don't build PPD list twice. Use ppd-product values as aliases for main model name. Only use ppd-products values from Product attributes. 2010-10-26 Tim Waugh Reverted second DNS-SD resolver. Was this even necessary? If we really need to resolve special HPLIP device URIs, the dnssdresolve module should be used to do that asynchronously and at the right point (i.e. not inside PhysicalDevice but between getting the device URIs and adding the devices, like is already the case with dnssd:// URIs). Graphtec needs special handling in the udev handler. Document how the XML files are used. 2010-10-26 goeran l10n: Updates to Swedish (sv) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-26 Tim Waugh Changed drivertype blacklist handling. newprinter: failure to order PPD names is non-fatal. 2010-10-25 hasanalpinan l10n: Updates to Turkish (tr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-25 raven l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-24 hasanalpinan l10n: Updates to Turkish (tr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-22 goeran l10n: Updates to Swedish (sv) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-22 Tim Waugh preferreddrivers.xml: Include generic drivers even if no Device ID is available. Use xmldriverprefs in the GUI. Implementation of XML driver preference order. RELAX NG schema for drivertypes and preferreddrivers, with examples. Fix generic-driver search now " Printer" is stripped from name. 2010-10-21 hasanalpinan l10n: Updates to Turkish (tr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-21 vpv l10n: Updates to Finnish (fi) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-21 hasanalpinan l10n: Updates to Turkish (tr) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Turkish (tr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-20 Tim Waugh Strip " Printer" from PPD model names (hpcups does this). Fixed typo in ppdcache. PPDs: Use ppd-product values to add to make/model list. Idea from Till Kamppeter. Use getPPDs2 if available. Don't retry getNotifications if the operation is forbidden. monitor: don't try to update if subscriptions not available. Debugging output: include events watched in monitor. Added debugging to monitor.py to see when/why get_notifications is called. Adapted cupshelpers.ppds.PPDs() to cope with cups.Connection.getPPDs2(). Removed unnecessary debugging. 2010-10-20 feonsu l10n: Updates to Slovak (sk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-19 Tim Waugh Don't try to read the firewall again for each rule we check. Restored lost change from 1b97ab1f129b9ceb34041ae50f0d82efe47c8c02. Remove reference to current printer on exit (bug #556548). cupshelpers: more useful repr for Printer object. 2010-10-19 Jiri Popelka Don't check ComboBoxEntry for allowed characters (bug #644131). 2010-10-17 ruigo l10n: Updates to Portuguese (pt) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-15 Tim Waugh Speed-up for version numbers check in ppdMakeModelSplit. Regular expressions can be fast if compiled first. For some reason in this case, using str.find() first makes it faster still. cupshelpers.ppds: show time spent in PPDs._init_makes() in debugging output. Let --debug option enable debugging from cupshelpers.ppds as well. 2010-10-15 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-15 jassy l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-14 Tim Waugh Always use MFG and MDL keys for InstallPrinterDrivers interface (bug #643073). Show debug output whenever InstallPrinterDrivers is called. Avoid truncating model names like "Epson PX V500". Problem spotted by Till Kamppeter. Removed debugging accidentally left in. 2010-10-13 Tim Waugh Job viewer: Delete should be sensitive whenever Cancel is not (Ubuntu #604357). 2010-10-13 warrink l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-13 yurchor l10n: Updates to Ukrainian (uk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-13 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-13 Tim Waugh update-po update-po Bumped version for release. Updated British translation. Updated British translation. update-po update-po 2010-10-13 feonsu l10n: Updates to Slovak (sk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-13 Till Kamppeter Avoid duplicate listings of the same PPD file According to the Adobe specs different PPDs have to have different NickName entries. Therefore we suppress repeated listing of the same NickName. Save name of PPD which matches best to the detected printer, not only make/model. After searching the best matching PPD for the detected printer only make and model got saved and not the name of the actually best matching PPD, making the any prioritization of PPD files, especially the ones based on the CMD: or DES: fields in the device ID useless. 2010-10-12 Tim Waugh CMD-field matching for PPDs (bug #630058). Add debug message when device ID is made up for snmp backend. Added nds to ALL_LINGUAS. Avoid crash in jobviewer (bug #640904). More complete fix would involve calling update_status() from the idle timer instead. Cannot modify the firewall to allow SNMP broadcast responses (trac #214). Correctly parse snmp backend output when fetching Device ID (bug #639394). 2010-10-07 htaira l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-07 lovenemesis l10n: Updates to Chinese (China) (zh_CN) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-05 Jiri Popelka Create ~/.printer-groups.xml only when group is created. XmlHelper has been automatically creating ~/.printer-groups.xml with start of system-config-printer if it wasn't alredy created. With this change the file is created for the first time when user adds some group. 2010-10-05 ncfiedler l10n: Added Low German translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-10-05 Jiri Popelka XmlHelper: Don't intend output when saving to file (bug #639586). When libxml2.parseFile reads document from file it includes also e.g. end of lines into the document and we need to skip them when walking through the document. So it's easier not to intend the output when saving the document to file. 2010-10-04 Jiri Popelka GroupsPaneModel: Avoid crash when removing queue (bug #639586). 2010-10-01 Tim Waugh Use "Do It Later" instead of "Cancel" for adjust firewall dialog (trac #213). 2010-10-01 Bastien Nocera Delete Bluetooth printer's queue when unpaired As you'd need to pair it again if you wanted to use it. 2010-09-29 Jiri Popelka Fix the fix (6b455d4) for bug #621199. IPPHostname can contain colon (to specify port). Added examples of IPP URI to NewPrinterWindow (bug #575795). 2010-09-27 Tim Waugh Use actual Device ID strings in 'no match' debug message (bug #630350). 2010-09-24 Jiri Popelka Checking GtkEntrys when adding new printer device (bug #621199). When adding new printer device user could type in each text entry whatever characters (s)he wants. With this change the not allowed characters cannot be typed in. 2010-09-23 Jiri Popelka rename_printer() - check whether printer exists after duplicating (bug #625502). 2010-09-23 hedayat l10n: Updates to Persian (fa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-22 Jiri Popelka Don't rename when names differ only in size of characters (bug #625502). 2010-09-20 Jiri Popelka Specify requested_attributes in getJobs if possible (bug #635719). When renaming printer, throw out /,# and spaces from new name (bug #612315). 2010-09-19 dirgita l10n: Updates to Indonesian (id) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-17 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-16 Tim Waugh WaitWindow: just hide on delete. Some more translatable strings marked as such (bug #634436). Mark another string as translable (bug #634436). 2010-09-15 rbuj l10n: Updates to Catalan (Valencian) (ca) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-13 milankerslager l10n: Updates to Czech (cs) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-12 htaira l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-12 dheche l10n: Updates to Indonesian (id) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-10 milankerslager l10n: Updates to Czech (cs) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-06 ypoyarko l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-05 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-05 papapep l10n: Updates to Catalan (Valencian) (ca) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-03 papapep l10n: Updates to Catalan (Valencian) (ca) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-03 igor l10n: Updates to Portuguese (Brazilian) (pt_BR) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-09-02 avienda l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-30 kmaraas l10n: Updates to Norwegian Bokmål (nb) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-30 ruigo l10n: Updates to Portuguese (pt) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-29 mrtom l10n: Updates to French (fr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-29 rbuj l10n: Updates to Catalan (Valencian) (ca) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-29 kmilos l10n: Updates to Serbian (Latin) (sr@latin) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Serbian (sr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-25 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-24 elsupergomez l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-24 vpv l10n: Updates to Finnish (fi) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-24 warrink l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-24 goeran l10n: Updates to Swedish (sv) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-24 khasida l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-24 yurchor l10n: Updates to Ukrainian (uk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-24 ttrinks l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-23 Tim Waugh update-po Bumped version for release. jobviewer: Catch KeyError from lookup_cached_by_name. 2010-08-20 Bastien Nocera Make udev-configure-printer work for Bluetooth As CUPS will obviously not detect our Bluetooth printer, we need to create a device URI for the printer ourselves. udev-configure-printer add as root will now create a queue and ask for the necessary printer drivers. 2010-08-20 yurchor l10n: Updates to Ukrainian (uk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-12 yeager l10n: Updates to Swedish (sv) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Swedish (sv) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-11 ruigo l10n: Updates to Portuguese (pt) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-09 fvalen l10n: Updates to Italian (it) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-09 ttrinks l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-07 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-06 irabaiolli l10n: Updates to Portuguese (Brazilian) (pt_BR) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-06 gkoenig l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-05 igorbounov l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-04 Tim Waugh Updated British translation. update-po 2010-08-04 runab l10n: Updates to Bengali (India) (bn_IN) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-03 htaira l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-03 ttrinks l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-02 beckerde l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-08-02 mgiri l10n: Updates to Oriya (or) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-28 Jiri Popelka Avoid connecting to cups twice in PPDsLoader. 2010-07-28 kkrothap l10n: Updates to Telugu (te) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-28 runab l10n: Updates to Bengali (India) (bn_IN) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Bengali (India) (bn_IN) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-28 Jiri Popelka Changed shebang in executables (bug #618357). Use '#!/usr/bin/python' instead of '#!/usr/bin/env python'. https://fedoraproject.org/wiki/Features/SystemPythonExecutablesUseSystemPython 2010-07-28 shanky l10n: Updates to Kannada (kn) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-26 Jiri Popelka List of jockey installed file is array not set. 2010-07-26 sandeeps l10n: Updates to Marathi (mr) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Marathi (mr) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Marathi (mr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-26 swkothar l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-23 Jiri Popelka Catch KeyError in jobviewer when printer uri not known (bug #615727). 2010-07-23 swkothar l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-23 Tim Waugh Make the 'Add' button actually do something. (cherry picked from commit c358ac7927b741e4f6706f913dacda6422b5a58f) This got lost when merging. Avoid double-destroy in ppdsloader. 2010-07-23 swkothar l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-23 jassy l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-22 vpv l10n: Updates to Finnish (fi) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-22 jassy l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-21 Till Kamppeter Fix recognition of remote CUPS queues when setting up an IPP queue If a queue to be set up with an "ipp://..." URI points to a remote CUPS queue which has already a PPD/driver on the server, we do not need to (and should not) search for a PPD/driver to set up locally. This change fixes a bug to make system-config-printer really recognize such queues and suppress driver configuration. On discovered network printers do not only cache make and model but also the device ID The device ID is not available on all discovery methods for a network printer. This change caches the device ID and makes assosiation of different discovered URIs to the same physical printer more reliable and also accelerates the processing of discovered network printer URIs. Added missing "import gobject" to probe_printer.py In the method perform_authentication() of the class BackgroundSmbAuthContext gobject.timeout_add() is used. Probably the method is not used very often and so system-config-printer worked for most users before applying this patch. Prioritize DNS-SD-based URIs against IP-based URIs Identifying printers by their DNS-SD names (which they emit by themselves) is much more reliable than using IP addresses, as in many networks printers use dynamic IP addresses via DHCP or Zeroconf and many routers do not keep assigning always the same IP address to a given MAC address. So IP's of printers can easily change. This change makes automatically set up (clicking "Forward", "Forward", ... in the New Printer Wizard) print queues for network printers preferring URIs with printer identification via DNS-SD names. Access OpenPrinting via the web query API with redirect support OpenPrinting has recently changed the internal structures of their web server to make the server faster and more reliable under high loads. This changed also the web API calls slightly and redirects got introduced for backward compatibility. system-config-printer accessed via httplib without redirect support. This change switched over to urllib to solve the problem. 2010-07-21 Tim Waugh Fixed typo in MFG blacklist. 2010-07-21 Till Kamppeter When setting up a printer search for local drivers before searching the internet system-config-printer searches drivers for newly seet up printers always at first on the internet before it searches on the local system, this is annoying (especially on systems with Jockey installed) and can also raise costs. This change gives priority to drivers which are already locally available. Integration of the dnssd CUPS backend and assosiation of DNS-SD names and IPs Currently, there are two methods for CUPS to discover local printers in the network: DNS-SD which identifies printers with DNS-SD names and SNMP which identifies printers with IP addresses. In addition one can find two different HPLIP URIs for HP's network printers, also one DNS-SD-name-based and one IP-based. All these must be correctly associated to the physical printers, so that each physical printer will appear only once in the list of discovered printers. This change solves this problem reliably but it could not be avoided to call the command line utility avahi-browse for that as there are no well-documented Python APIs to communicate with Avahi. To avoid any kind of problems in terms of slowness or blocked UI, the call is done asynchronously and the result is cached so that only one call is needed for identifying all discovered network printers. A replacement of the one command line call by an appropriate API call is welcome. Remove the ":9100" from discovered "socket://..." URIs. Some discovery methods leave out the default port in the URI, others not. This way the URIs get equal and can easily be assigned to the same physical printer. Fill the queue list when clicking "Probe" in LPD printer setup screen When manually setting up an LPD-based network printer, after entering the printer's host name or IP and clicking "Probe" the drop down box at the "Queue" field was not filled with the found queue names. This change fixes this bug. udev-configure-printer: Match usblp, libusb, HPLIP, and USB device file URIs udev-configure-printer needs to reliably recognize whether for a discovered physical printer on the USB there is already a print queue set up, so that no second queue gets set up automatically and disabling and re-enabling of the existing queues works correctly. There can occur very different URIs for the same printer, with the usblp kernel module or libusb being used, HPLIP for HP printers and even third-party backends (from printer manufacturers for example) which still base their URIs on the /dev/usb/lp* device files. This change makes all URIs getting recognized and associated to printers discovered by UDEV. Improvements for setting up Bluetooth printers 1. bluetooth://... URI are explicitly supported now, so on the right hand side of the window with the list of detected devices a nicer screen appears and not the screen for a custom URI. 2. Bluetooth devices are searched together with the network devices and not together with the local devices. Discovering Bluetooth devices takes considerably longer than discovering local devices (USB or parallel). This way the local devices pop up in the list immediately and not only after the long time the bluetooth CUPS backend needs for its device discovery task. Silence error messages of missing PrinterDriversInstaller D-Bus service On Ubuntu the mentioned D-Bus service is not available, and here are really ugly console message appears: system-config-printer-applet: failed to start PrinterDriversInstaller service: org.freedesktop.DBus.Error.AccessDenied: Connection ":1.57" is not allowed to own the service "com.redhat.PrinterDriversInstaller" due to security policies in the configuration file People could think that there is a security problem with system-config-printer. See also Ubuntu bug #530218. The change should perhaps be improved, for example let the ./configure script set a switch whether the PrinterDriversInstaller D-Bus service is installed or not and only show the message if the service is installed. Prioritize HP's hpcups driver against HPIJS With the time HP's CUPS Raster driver hpcups has matured and needed infrastructure in the CUPS Raster output device of Ghostscript got implemented, therefore it is more recommended now to use HP's non-PostScript printers with hpcups instead of HPIJS. This change makes system-config-printer prefering hpcups when automatically setting up queues for printers supported by both hpcups and HPIJS. Make multi-threaded driver package search via Jockey work This was probably overlooked due to lack of testing. Do not error out on missing firewall D-Bus service This change allows running system-config-printer on non-Fedora/Red Hat systems without modifications and no errors, warnings, or tracebacks. On Fedora/Red Hat the control of the local firewall via D-Bus service is still done. Added delay to the auto-start of the applet This assures that the applet also starts if the panel takes time to load. 2010-07-21 swkothar l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-21 ypoyarko l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-21 hedda l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-21 ypoyarko l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-20 vpv l10n: Updates to Finnish (fi) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-20 Tim Waugh Exclude dnssd backend from udev search. 2010-07-19 Tim Waugh Blacklist certain printer state reasons (bug #520815). 2010-07-15 Tim Waugh udev helper: use CUPS defaults when connecting. 2010-07-14 munzirtaha l10n: Updates to Arabic (ar) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-12 makoto l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updated Japanese translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updated Japanese translator. Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-08 Jiri Popelka Sanitize loading of non-existing icon (bug #612415). 2010-07-04 warrink l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-07-01 Tim Waugh Strip ' BR-Script3' from the names of Brother PPDs. 2010-06-30 Tim Waugh Initialise downloadable_drivers dict earlier (bug #608815). Make the 'Add' button actually do something. 2010-06-30 Jiri Popelka Fill in username before calling set_auth_info (bug #609515). 2010-06-30 Tim Waugh Fixed UDEV_RULES conditional; also, avoid unnecessary tests. 2010-06-30 Jiri Popelka Error checking in on_job_cancel_prompt_response (bug #608283). 2010-06-30 noriko l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-30 ttrinks l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-28 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-28 warrink l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-28 tbull l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-28 jassy l10n: Updates to Panjabi (Punjabi) (pa) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-27 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-27 elsupergomez l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-27 Tim Waugh update-po update-po update-po 2010-06-25 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-25 warrink l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-24 Tim Waugh update-po 2010-06-24 Jiri Popelka Fixed untranslated string in pysmb.py 2010-06-24 Tim Waugh Updated British translation. update-po 2010-06-23 Tim Waugh Added some PCL fallbacks, and removed ESC/P from unit test. Use sysconfdir for udev rules. PACKAGERS: make sure you override udevruledir and udevhelperdir if you want to use the /lib/udev locations. Updated aclocal.m4. Bumped version for release. Handle empty notify-subscribed-event subscription attributes (bug #606909). 2010-06-23 Jiri Popelka Show number of processing / pending jobs (bug #606868). 2010-06-22 Jiri Popelka Avoid KeyError in AdvancedServerSettings.py (#606798). 2010-06-22 Tim Waugh Fixed regular expression in cupshelpers/ppds self-test. Don't add queues for Graphtec devices (bug #547171). 2010-06-18 Tim Waugh Make sure automatically-created queues will work. If there are missing executables and the user isn't running the package installer applet, delete the queue. 2010-06-16 Jiri Popelka Add job to active_jobs only if it has job-printer-name (#604492). 2010-06-15 Jiri Popelka Spinner icon has to have more than one frame (#603034). Added missing include in udev-configure-printer.c 2010-06-11 Tim Waugh Undo commit ce3ff84b6fbfed23455062f193498eb0517b82a6. 2010-06-11 beckerde l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Serbian (Latin) (sr@latin) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-10 Jiri Popelka Make deep copy of jobids in CancelJobsOperation (#598249). Better fix for #598249. Also if canceling/deleting of a job fails, carry on cancelling the other jobs in the list. 2010-06-10 leahliu l10n: Updates to Chinese (China) (zh_CN) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-09 Tim Waugh Avoid name clash with module in master branch. Use jobviewer tooltips from master branch. Updated aclocal.m4. Added accelerators for the job viewer and attributes viewer (trac #208). jobviewer: add tooltips and "close" button with accelerator (trac #208). Restored keybindings lost in switch to action groups (trac #208). 2010-06-08 leahliu l10n: Updates to Chinese (China) (zh_CN) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-07 Tim Waugh Bluetooth devices have no USB serial number. Command lines are bad, use argument vectors instead. Make configure fail if libraries required for udev rules are missing. 2010-06-07 Bastien Nocera Add Bluetooth auto-config to udev-configure-printer 2010-06-06 kami911 l10n: Updates to Hungarian (hu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Hungarian (hu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Hungarian (hu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-05 htaira l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-04 charnik l10n: Updates to Greek (el) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Greek (el) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-03 Jiri Popelka Do not try to cancel/delete job when there's no jobid (#598249). Do not update_job() that has been purged. 2010-06-03 leahliu l10n: Updates to Chinese (China) (zh_CN) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-06-02 Tim Waugh Updated Makefile.am for AdvancedServerSettings.py rename. New translation: Breton. 2010-05-31 leahliu l10n: Updates to Chinese (China) (zh_CN) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-31 khasida l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-30 kami911 l10n: Updates to Hungarian (hu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Hungarian (hu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Hungarian (hu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-28 fvalen l10n: Updates to Italian (it) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-28 ttrinks l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-25 Tim Waugh Strip model names before " PCL" and " UFR II" for Canon drivers. Andrew Kisliakov writes: ==> I work with two products – a locally developed driver product called CQue which provides PS, PCL and PXL drivers, and a Canon developed driver for the UFR II language. [...] If the two strings “ pcl” and “ ufr ii” were added to this set of strings, the drivers are then correctly classified. I’ve tested this and it seems to work. <== 2010-05-24 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-24 Tim Waugh newprinter: handle failure to connect to CUPS. ppdcache: perform thread locking for callbacks. Fixed asyncconn error callback again. 2010-05-24 kristho l10n: Updates to Danish (da) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-21 Tim Waugh Converted CancelJobsOperation into a GObject. New destroy signal for PrinterPropertiesDialog. New destroy signal for NewPrinterGUI. More robust reference counting in asyncconn. 2010-05-19 egghead l10n: Updates to Ukrainian (uk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-19 Tim Waugh org.fedoraproject.Config.Services's Introspect acts strangely. asyncconn: fixed error handling callback. jobviewer: fixed typo in refresh signal handler. Threading fixes (trac #206). Threading fixes (trac #206). While GTK+ signal handlers perform locking on the Python GIL automatically, GLib callbacks (such as those scheduled using gobject.idle_add) do not. Make sure we do our own locking from GLib callbacks. With the asyncconn.Connection object, the underlying asyncipp.Connection and asyncpk1.Connection objects now perform locking on behalf of their callers. jobviewer: don't leak asyncconn.Connection when cancelling jobs. 2010-05-18 vpv l10n: Updates to Finnish (fi) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-18 Tim Waugh Bumped version for 1.1.19 release. update-po 2010-05-18 warrink l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-18 Tim Waugh ppdcache: cache open file objects rather than filenames. Now the PPD cache doesn't leave temporary files around even in exceptional cases. Use PPDCache in StateReason. Note: this leaves temporary files around at the moment because the main GUI object's reference count never reaches zero. 2010-05-18 ttrinks l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-17 elsupergomez l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-17 mareklaane l10n: Updates to Estonian (et) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Estonian (et) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Estonian (et) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-17 Tim Waugh ppdcache: more debugging information. ppdcache: no need to connect initially. ppdcache: use callbacks instead of signals. 2010-05-16 elsupergomez l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-16 ruigo l10n: Updates to Portuguese (pt) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-15 Tim Waugh Don't buffer debugging output. 2010-05-15 kmilos l10n: Updates to Serbian (Latin) (sr@latin) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Serbian (sr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-14 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-14 Tim Waugh Updated British translation. update-po POTFILES.in: AdvancedServerSettings.py -> serversettings.py Updated British translation. update-po Updated British translation. update-po Attempt to translate backend device-info strings (Ubuntu #557199). Avoid traceback changing PPD for queue with bad PPD. 2010-05-14 Simon Olofsson Escape messages in the error dialog, they may contain markup (Ubuntu #567324). 2010-05-14 kristho l10n: Updates to Danish (da) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-14 Tim Waugh Fixed typo. 2010-05-13 Tim Waugh cups-pk-helper support: FileGet requires a file it can write to (bug #587744). 2010-05-12 Tim Waugh ppdcache: added support for getPPD3 If-Modified-Since handling. New ppdcache module. newprinter, ppdsloader: drop unnecessary checks for asyncconn callbacks. asyncconn: don't give callbacks after destruction. asyncipp: delay joining thread until it is idle. 2010-05-11 mgiri l10n: Updates to Oriya (or) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-11 Tim Waugh Use global auth-info cache in asyncipp as well. 2010-05-10 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-10 Tim Waugh Another fix for bug #590193. Only local filenames can be selected for troubleshoot.txt (bug #590529). Initialise auto_make to the empty string (bug #590193). authconn: use a global auth info cache. Removed unused method. serversettings: fixed reconnect/_reconnect mismatch. AdvancedServerSettings: fixed HTTPError status code handling. serversettings: tidied up. 2010-05-09 Tim Waugh Moved server settings dialog code into serversettings.py. Renamed AdvancedServerSettings.py to serversettings.py. 2010-05-08 elsupergomez l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-07 Tim Waugh update-po 2010-05-07 Sergey Nizovtsev Set tooltips for job actions. Replace menubar to toolbar in JobsViewer (trac #205). 2010-05-07 Tim Waugh Bumped version to make it clear this is a different branch. Bumped version for 1.2.2 release. update-po Always use close_fds=True in subprocess.Popen calls (bug #587830). 2010-05-07 elsupergomez l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-07 Tim Waugh Still need to initialise GTK+ threading for Connect... dialog. ServiceStart object must be created before monitor signals are handled. authconn: treat any HTTPError as failure (bug #587744). * authconn.py (Connection._authloop): Don't restrict failure cases to HTTP_UNAUTHORIZED and HTTP_FORBIDDEN. HTTP_AUTHORIZATION_CANCELED is another case, but really any error code here should be treated as failure. Initialise GUI.printers in constructor (bug #589793). ppdsloader: watch out for errors when connecting. asyncconn: always give the right Connection object in the callbacks. * asyncconn.py (Connection): Rather than overloading the __eq__ and __ne__ operators to compare with the captured object, always give this Connection object in reply/error handlers. asyncipp: handle connection failures better. * asyncipp.py (_IPPConnectionThread.run): Don't exit thread if connection fails. asyncipp: show reconnect/cancel dialog, and handle response correctly. * asyncipp.py (_IPPAuthOperation._reconnect_error): Actually show the dialog. (_IPPAuthOperation._on_retry_server_error_response): Use the correct object when invoking the reconnect method. 2010-05-06 Tim Waugh Handle HTTPError from AdvancedServerSettingsDialog (bug #587744). check-device-ids: run SNMP query for lpd: URIs too. 2010-05-06 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-05 vpv l10n: Updates to Finnish (fi) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-05 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-05 Tim Waugh update-po Adjust the firewall for SMB browsing. Removed a translatable string that is not used. Handle member-names not being a list. Show (stdout) unmatched IEEE 1284 Device IDs in less confusing format. 2010-05-04 elsupergomez l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-05-04 Tim Waugh Some strings in the SMB auth dialog were not marked for l10n (Ubuntu #557199). Better fix for Ubuntu #575048 (Verify button width). Fixed a troubleshooter string that wasn't being translated (Ubuntu #557199). 2010-05-04 Jiri Popelka Make Varify button auto-resizable (Ubuntu #575048). 2010-05-04 Tim Waugh There is no dropPPDs method any more. printerproperties: allow standalone testing. printerproperties: No need to fetch all printers now. cupshelpers: automatically fetch attrs, and handle 'member-names'. PrinterPropertiesDialog no longer needs mainapp reference. monitor: added get_printers method. Hook up PrinterPropertiesDialog to monitor signals. fillPrinterTab renamed to load, and some more inter-dependencies removed. printerproperties: fixed delete-event handling. PrinterPropertiesDialog.show now takes host and encryption params. Split out printerproperties module from system-config-printer.py. * printerproperties.py: New file. Content from... * system-config-printer.py: ...here. * po/POTFILES.in: Translate it. * Makefile.am: Ship it. There is no class-added signal, only printer-added. 2010-05-04 Jiri Popelka Fixed TreeIter handling in update_job_creation_times() (bug #588409). Make Kyocera detected if it reports only the model name (Ubuntu #564633). 2010-05-03 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-30 Tim Waugh Fixed localized state reasons (bug #587718). troubleshoot: turn off debugging before fetching error log. No need to introspect CupsPkHelper every time, just once. Fixed indentation in PK1Connection.getDevices. Set DBusGMainLoop in correct places. Don't initialise GTK+ threads. We don't want to use it threaded. Register type PPDsLoader. Show New Printer window early if from D-Bus service, late otherwise. Fixed typo. Fixed Firewall synchronous mode. 2010-04-29 Tim Waugh Make Firewall class give asynchronous callbacks. This allows our New Printer Dialog to show the right page while we're waiting for authorization to read the firewall settings. newprinter: fix set_transient_for call when used in main application. Really translate newprinter.py. Fixed traceback. Make the 'Adjust Firewall' dialog run asynchronously. This allows D-Bus client calls to return immediately. ppdsloader is now a gobject and fetchPPDs method is gone. This allows the D-Bus service to collect PPDs correctly. Clean up newprinter client demo code. Removed doubled-up 'translatable' attribute in UI file (Ubuntu #571662). Demonstration of NewPrinterDialog as a D-Bus service. newprinter: set up our own lists; add self-test code. It is now possible to run "python newprinter.py" to see the dialog in action. newprinter: don't require mainapp reference at all. The separation is complete. Moved PPD checking and test page printing from newprinter to main app. newprinter: moved busy/ready here. 2010-04-28 Tim Waugh Moved checkNPName and makeNameUnique to newprinter module. newprinter: mainapp gives us name, we fetch our own printer list. newprinter: don't use mainapp's authconn.Connection. newprinter: mainapp sets host and encryption. newprinter: mainapp now gives us cmdline-specified devid. 2010-04-28 kristho l10n: Updates to Danish (da) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-28 Tim Waugh NewPrinterGUI.init() now takes optional ppd argument for some modes. newprinter: mainapp now gives us the URI for dialog_modes that need it. NewPrinterGUI.init() now takes parent window as parameter. monitor: removed old Watcher interface. jobviewer: Use signals for monitor. monitor: Added 'refresh' signal. monitor: Only automatically refresh when using Watcher interface. main app: Use signals for monitor. monitor: emit gobject signals for events. Start to untangle NewPrinterGUI from the main GUI class. The NewPrinterGUI class is now a gobject.GObject which emits a signal when the printer is added. Selecting the new printer in the GtkIconView is now done in the main GUI class. Lots more to untangle still. Cleaned up gettext usage. Moved the New Printer dialog out to a separate module. * newprinter.py: New module. Content from... * system-config-printer.py: ...here. * po/POTFILES.in: Translate it. * Makefile.am: Ship it. Start CUPS service if not already started (bug #577226). Added notebook with special-case tabs to main GtkIconView. Fixed last fix. jobviewer: PrinterURIIndex fix when looking up by name. Don't fetch Device ID from network printer if we already know it. jobviewer: PrinterURIIndex fix when no names to initialise with. 2010-04-28 amitakhya l10n: Updates to Assamese (as) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-28 enshahar l10n: Updates to Korean (ko) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Korean (ko) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-26 Tim Waugh Resolve DNS-SD hostnames for physical device comparison (trac #179). 2010-04-23 bertux l10n: Updates to French (fr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-23 taylon l10n: Updates to Portuguese (Brazilian) (pt_BR) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-23 shanky l10n: Updates to Kannada (kn) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Kannada (kn) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-22 Jiri Popelka Also close NewPrinterWindow when queue has been deleted (better fix of #581668). 2010-04-22 Tim Waugh Specify requested_attributes in getJobs if possible (bug #584806). 2010-04-22 Jiri Popelka Make sure the printer we change ppd for still exists (bug #581668). 2010-04-22 Tim Waugh Applet module no longer needs to import statereason. 2010-04-21 feonsu l10n: Updates to Slovak (sk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-20 ttrinks l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-19 Tim Waugh Set gettext domain for new printer dialog (Ubuntu #557199). Patch from Gabor Kelemen. 2010-04-17 kmilos l10n: Updates to Serbian (Latin) (sr@latin) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Serbian (sr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-17 warrink l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-17 ruigo l10n: Updates to Portuguese (pt) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-17 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-16 logan l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-16 Tim Waugh Updated British translation. update-po Check we are connected to the local server for package installation. Avoid Yes/No buttons (trac #204). 2010-04-16 warrink l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-16 taylon l10n: Updates to Portuguese (Brazilian) (pt_BR) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-16 feonsu l10n: Updates to Slovak (sk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-15 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-15 logan l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-15 mgiri l10n: Updates to Oriya (or) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-15 ruigo l10n: Updates to Portuguese (pt) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-15 Tim Waugh Check we are connected to the local server for server firewall changes. 2010-04-15 gkoenig l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-15 Tim Waugh Bumped version for 1.2.1 release (stable). Updated British translation. update-po 2010-04-14 Tim Waugh Re-run bootstrap. No longer need "review firewall" dialog. Adjust firewall for network printer detection. Actually change the firewall to allow incoming IPP connections. Check firewall for SNMP, SMB and mDNS. Avoid tracebacks when adjusting server settings. Handle IPP failure fetching printer attrs for completed jobs (Ubuntu #562679). monitor: don't crash if job-state attribute is missing (Ubuntu #562441). 2010-04-13 mvdz l10n: Updates to Ukrainian (uk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-13 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-12 Tim Waugh Fixed signature for JobCancelPurge. check-device-ids: exclude 'hpfax' devices. 2010-04-10 mvdz l10n: Updates to Ukrainian (uk) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-09 Tim Waugh check-device-ids: don't reuse 'c'. 2010-04-09 kmilos l10n: Updates to Serbian (Latin) (sr@latin) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Serbian (sr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-09 ruigo l10n: Updates to Portuguese (pt) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-09 Tim Waugh check-device-ids: exclude the hal backend. check-device-ids: handle non-UTF-8 environments. 2010-04-09 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-09 ttrinks l10n: Updates to German (de) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-08 vpv l10n: Updates to Finnish (fi) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-08 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-08 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-08 Tim Waugh check-device-ids: temporarily disabling firewall will get SNMP responses. check-device-ids: neater output for skipping devices. check-device-ids: use SNMP to try to fetch device-id if missing. 2010-04-08 warrink l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-08 logan l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-04-08 Tim Waugh troubleshoot: handle IPPError in PrintTestPage module (bug #579957). update-po 2010-04-08 Jiri Popelka Added missing translatable="yes" in glade files (bug #580442). 2010-04-07 Tim Waugh check-device-ids: terminate early if no IDs. check-device-ids: switch scheme and make_and_model around in output 2010-04-06 Tim Waugh Fixed typo (Ubuntu #552398). 2010-04-02 Tim Waugh check-device-ids: fix user-specified IDs check-device-ids: exclude dnssd, explain why URIs are skipped. check-device-ids: allow hp backend IDs as well 2010-04-01 htaira l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-29 swkothar l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Gujarati (gu) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-26 Tim Waugh check-device-ids: use make-and-model field for best-matching. Finally fixed race condition in asyncipp. The IPP connection thread was using the idle loop for callbacks, but the error/reply callback functions were stored in class instance variables. By the time the idle loop ran the callbacks they may be for a different caller! The fix is to pass the error/reply callback function itself to the idle timeout, as well as the actually error/reply data. Better inklevel 25/50/75% markers. Fixed window transience for 'Change Device URI'. More async traceback fixes (Ubuntu #547075). 2010-03-25 Tim Waugh check-device-ids: use correct paths for lsb model URIs. Fixed set arithmetic. check-device-ids: search harder for missing Device IDs. Add a tooltip to each marker level icon. 25%, 50% and 75% level markers in the inklevel widget. Fixed traceback in asyncipp (Ubuntu #520466). In the time between the callback invocation being added to the idle loop and it actually getting called, the connection thread was destroyed. Move the check for whether there is a callback function to call to the moment before it is used. 2010-03-24 mareklaane l10n: Updates to Estonian (et) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-24 Tim Waugh Actually, use JobCancel method instead for 1.1.x. For 1.1.x we will use the compatibility JobCancel method. This way we will only fallback to IPP when attempting to purge a job. Use new JobCancelPurge cups-pk-helper method. This is how the interface has been adapted upstream (bug #548756). 2010-03-24 mareklaane l10n: Updates to Estonian (et) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-23 Tim Waugh check-device-ids: show drivers in preference order. 2010-03-23 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-22 Tim Waugh Initialize downloadable_drivers when OpenPrinting query fails (bug #400872). 2010-03-22 htaira l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-22 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-22 Tim Waugh More error-checking in udev-configure-printer. Fixes compilation warnings from gcc. Fixed 'NotShowIn' desktop entry in print-applet.desktop.in. Warning message from desktop-file-install: print-applet.desktop: key "NotShowIn" is a list and does not have a semicolon as trailing character, fixing 2010-03-22 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-22 Tim Waugh Fixed reconnection error handling in IPPAuthOperation class (bug #575198). 2010-03-21 raven l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-21 zerng07 l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Chinese (Taiwan) (zh_TW) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-19 Tim Waugh check-driver-ids.py: Fixed driver URI-to-filename mapping. The canonical name for Kyocera is Kyocera Mita. Fixed typo. Removed some debugging bits in check-device-ids. check-device-ids.py: show CMD field as well. 2010-03-18 Tim Waugh Fixed traceback in check-driver-ids.py when no drivers are found. 2010-03-17 bouska l10n: Updates to French (fr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-17 Tim Waugh update-po Bumped version for 1.2.0 release (stable). check-device-ids.py: another error handling fix. 2010-03-16 kmaraas l10n: Updates to Norwegian Bokmål (nb) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-16 Tim Waugh Added missing-imports Makefile rule, with distcheck hook. Import modules we catch exceptions from (bug #574117). 2010-03-15 bouska l10n: Updates to French (fr) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-15 htaira l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) l10n: Updates to Japanese (ja) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-15 Tim Waugh Added StartupNotify=true to the 'manage print jobs' desktop file. 2010-03-13 vpv l10n: Updates to Finnish (fi) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-13 igorbounov l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org) 2010-03-11 igorbounov Sending translation for Russian 2010-03-10 kristho Sending translation for Danish 2010-03-10 Tim Waugh update-po Bumped version for 1.1.18 release. 2010-03-09 milankerslager Sending translation for Czech 2010-03-09 Tim Waugh Treat hpcups-requiring-plugin as 3rd party proprietary (bug #547837). Rua bootstrap against autoconf-2.65. 2010-03-09 milankerslager Sending translation for Czech 2010-03-09 Tim Waugh Treat hpcups-requiring-plugin as 3rd party proprietary (bug #547837). 2010-03-09 Jiri Popelka Fixed jobviewer traceback when closing notification (bug #571603). * jobviewer.py (Jobviewer.cleanup, Jobviewer.now_connected): Ignore glib.GError when closing not yet shown notification. 2010-03-09 htaira Sending translation for Japanese 2010-03-08 avienda Sending translation for Russian 2010-03-06 kami911 Sending translation for Hungarian Sending translation for Hungarian 2010-03-05 Tim Waugh Fixed typo in data button setting function. 2010-03-03 sveinki Sending translation for Icelandic 2010-03-02 Tim Waugh check-device-ids: show which packages provide each driver. 2010-03-02 yeager Sending translation for Swedish 2010-03-01 yeager Sending translation for Swedish 2010-03-01 Tim Waugh Use icon name 'printer' instead of 'gnome-dev-printer'. check-device-ids: attempt to install relevant driver packages. 2010-03-01 ruigo Sending translation for Portuguese 2010-02-28 Tim Waugh Import gobject in gtkspinner. 2010-02-27 Tim Waugh update-po Regenerated aclocal.m4 from autoconf-2.65. Bumped version for 1.1.93 release. Removed some debugging bits in check-device-ids. Fixed traceback (referencing 'installer' before assignment). 2010-02-26 Tim Waugh Added simple program to check IEEE 1284 Device IDs against PPDs. Allow IPP_INTERNAL_ERROR when fetching PPD for empty class (bug #567920). 2010-02-23 Tim Waugh Increased new printer notification timeout to 20 minutes. This time now has to include driver package download and installation. 2010-02-22 Tim Waugh Removed HP and Kyocera IEEE 1284 Device ID hacks. Fixed traceback with unlikely CUPS config. If CUPS is configured to require authentication when fetching printer attributes the jobviewer will fail. 2010-02-22 Jiri Popelka Catch RuntimeError in statereason.py when cupsGetPPD2 fails (#566938). Catch RuntimeError in statereason.py when cupsGetPPD2 fails (#566938). 2010-02-21 kmilos Sending translation for Serbian (Latin) Sending translation for Serbian 2010-02-21 Tim Waugh Display a warning when the wrong IEEE 1284 Device ID is detected. 2010-02-19 kristho Sending translation for Danish 2010-02-19 Tim Waugh update-po Bumped version for 1.1.92 release. Set timeout for InstallPrinterDrivers D-Bus call. 2010-02-19 kristho Sending translation for Danish 2010-02-19 vpv Sending translation for Finnish Sending translation for Finnish 2010-02-18 vpv Sending translation for Finnish 2010-02-18 Tim Waugh Added compatibility code for unofficial DevicesGet D-Bus interface. * cupspk.py (Connection.getDevices): Use empty list for schemes defaults. Catch TypeError on D-Bus call and use old API in that case. * asyncpk1.py (PK1Connection.__init__): Use introspection to discover which interface to use for DevicesGet. (PK1Connection.getDevices): Use old or new interface as appropriate. 2010-02-17 Tim Waugh ppdsloader: avoid traceback. * ppdsloader.py: Don't try to re-display the dialog if we've been destroyed. 2010-02-17 Vincent Untz Update the PolicyKit code to use the correct signature for DevicesGet The DevicesGet dbus method was originally developed as a patch, and when it got integrated in cups-pk-helper, the signature changed a bit. 2010-02-16 igor Sending translation for Brazilian Portuguese 2010-02-16 pkst Sending translation for Greek 2010-02-12 dichi Sending translation for Indonesian 2010-02-11 Tim Waugh Avoid clearing selecting device settings when adding printer. * system-config-printer.py (NewPrinterUGI.add_devices): Don't set the cursor in the URIs treeview if a device was already selected by the user. 2010-02-10 Tim Waugh Use gtk.STOCK_* instead of 'gtk-*' throughout. Use stock 'add' icon for new-printer button (Ubuntu #394071). * system-config-printer.py (GUI.__init__): Use 'add' instead of 'new' for new-printer button. Part of trac #64. 2010-02-09 Tim Waugh Bumped version for 1.1.17 release. update-po 2010-02-08 Tim Waugh Updated British translation. update-po Fixed automatic driver assignment via applet. Bumped version for release. Ship CheckSELinux troubleshoot module. CheckSELinux: display method must return a value. 2010-02-08 Jiri Popelka Catch selinux ImportError in CheckSELinux.py 2010-02-07 warrink Sending translation for Dutch 2010-02-07 Tim Waugh Avoid crash filling makes list when no make detected (bug #562520). 2010-02-05 Tim Waugh Fixed drop-down list for connection dialog. * system-config-printer.py (GUI.on_connect_activate): Set the text column for the ComboBoxEntry's store. 2010-02-04 Jiri Popelka Troubleshooter checks local SELinux file contexts (trac #119). * troubleshoot/CheckSELinux.py (CheckSELinux): Use restorecon -nvR to check whether the file contexts are all as we expect. 2010-02-04 elsupergomez Sending translation for Spanish 2010-02-04 kenda Sending translation for German 2010-02-03 raven Sending translation for Polish 2010-02-03 Tim Waugh Updated British translation. update-po Better error handling when renaming a printer (bug #561182). * system-config-printer.py (GUI.rename_printer): Handle IPPError when fetching attributes for printer. Also use the original name to undo changes on failure. Fixed typo in installdriver module test. 2010-02-02 Jiri Popelka GNOME HIG small fixes (#558621, #558624, #558625) 2010-01-31 elad Sending translation for Hebrew 2010-01-28 bouska Sending translation for French 2010-01-28 kenda Sending translation for German 2010-01-27 elsupergomez Sending translation for Spanish 2010-01-27 Tim Waugh jobviewer: only show jobs for selected printers. This was broken with the move-jobs changes as we now monitor notifications for printers other than those we are specifically interested in. 2010-01-26 Tim Waugh Avoid non-zero page sizes in SpinButton adjustments. Use tooltips in jobs treeview (trac #201). When retrying authentication as another user, forbid PolicyKit. With normal IPP authentication we retry as the root user if the operation fails the first time. However, if we are using PolicyKit we only want to attempt it via PolicyKit the first time; all subsequent times should be via IPP. 2010-01-25 Tim Waugh Only add current device to list when all devices found (bug #558524). Set model for LPD queue ComboEntry. Removed unnecessary debugging. 2010-01-24 Tim Waugh Fixed statereason localization for raw queues (bug #558156). Fixed async pycups fallback again. 2010-01-22 Tim Waugh Mirror asyncpk1 fallback fix in asyncpk0 (bug #557695). 2010-01-22 ypoyarko Sending translation for Russian Sending translation for Russian 2010-01-21 Tim Waugh Added GtkAdjustments for all XML-declared SpinButtons. Fixed traceback when renaming a printer. * system-config-printer.py (GUI.rename_printer): The copy_printer method is now called duplicate_printer. 2010-01-20 Jiri Popelka Fix last commit (add forgotten gettext). Trac #192 Update 'Time submitted' column when clicking Refresh in job viewer. Make it obvious when a printer is disabled (Trac #192). jobviewer.py (JobViewer._set_job_printer_text) 2010-01-19 raven Sending translation for Polish 2010-01-19 warrink Sending translation for Dutch 2010-01-19 Tim Waugh Explicitly list udev files as they are only used conditionally. Updated British translation. update-po Fixed typo in translatable string. update-po Ship printerdriversinstaller.conf file. Try to avoid listing files twice in Makefile.am to avoid mistakes like that in future. Bumped version for development release. Removed support for installing HP's proprietary plug-in. 2010-01-18 Tim Waugh Clean up temporary files when localizing statereason (bug #552768). Handle errors more gracefully in userdefault.py (bug #556345). Make sure serial device widgets are always initialized (bug #556488). Updated aclocal.m4 by running bootstrap. Don't rely on cups-pk-helper being around (bug #556170). * asyncpk1.py (PK1Connection._call_with_pk): Fall back to pycups if the D-Bus call fails. 2010-01-15 Tim Waugh Use ppdsloader module. New PPDsLoader class. Use asyncconn to fetch PPDs. Increase GetReady timeout to allow for installing drivers. udev-add-printer: try to install drivers first. Start the PrinterDriversInstaller service in the applet. PrinterDriversInstaller implementation. This is a system bus service which utilizes the session bus service provided by e.g. gnome-packagekit. Don't try to set window as parent of itself. Don't destroy the asyncconn twice. Avoid traceback when checking on connecting backends (bug #555552). Although I can't see any route into check_still_connecting where the event's source ID is not in the connecting_printers dict, somehow it is happening. Just ignore this if it happens. 2010-01-14 Tim Waugh Destroy fetchDevices asyncconn so we don't leak resources. Restore option values for serial device. These were lost in the transition from Glade-2. udev-add-printer: avoid traceback when no CMD field present. Fixed window modality and transience. 2010-01-14 guidograzioli Sending translation for Italian Sending translation for Italian 2010-01-13 Tim Waugh Set D-Bus timeout when calling asynchronously. 2010-01-13 Jiri Popelka Ability to retrieve job files which have been preserved (Trac #20). jobviewer.py (JobViewer): New Retrieve entry in job context menu and function on_job_retrieve_activate(). 2010-01-11 Tim Waugh Removed unnecessary debugging. Fixed traceback introduced in d9f4fe5 (bug #554372). Use asyncconn for canceling/deleting jobs. Fix crash copying printer with certain job options (bug #554268). When a job option such as page-border (which has known supported values) is present on a queue, and that queue is duplicated, we decide whether to set that job option based on whether it is the system default. However, the system default is not set for that type of option. * options.py: Add 'get_default' method to optionwidget interface. * system-config-printer.py (GUI.save_printer): Use it. 2010-01-08 Jiri Popelka Remove job attributes viewer tabs for jobs that have been purged. 2010-01-08 Tim Waugh Reinstated job completion notifications with better text (trac #181). Made job context 'Cancel' item localizable (trac #188). * jobviewer.py (JobViewer.__init__): Don't use stock label for context menu 'Cancel' item. The stock label is about aborting the current action, whereas this menu item is about actively stopping a job. 2010-01-07 warrink Sending translation for Dutch 2010-01-07 Tim Waugh Fixed typo introduced in 8db7f55 (bug #551436). Fixed crash when using keyring for auth without password (bug #553141). 2010-01-06 jensm Sending translation for German 2010-01-06 Tim Waugh Make sure there are enough ink level values (bug #541882). 2010-01-06 Jiri Popelka "Copy" action in context menu is now called "Duplicate" (Trac #190). 2010-01-06 elsupergomez Sending translation for Spanish 2010-01-06 igor Sending translation for Brazilian Portuguese 2010-01-05 tbull Sending translation for German 2010-01-05 raven Sending translation for Polish Sending translation for Polish 2010-01-04 Tim Waugh update-po asyncpk1: Handle cancelJob's optional purge_job parameter. Changed 'Clear job' to 'Delete job'. Reverted po/de.po to state before erroneous commit. Commit f488fc77 in November 2009 was for system-config-firewall not system-config-printer. I have reverted po/de.po to the state it was in immediately before that commit. Translate asyncipp.py. Make sure the printer we added still exists before selecting it (bug #551436). Update copyright message. Set notification timeouts appropriately (bug #550829). * applet.py (NewPrinterNotification.NewPrinter): If there is any doubt about the queue, don't let the notification time out. Fixed traceback in NewPrinterGUI.init (bug #550442). * system-config-printer.py (NewPrinterGUI.init): Fixed incorrect test. Updated copyright message. Avoid on_jobviewer_exit traceback (bug #550437). * system-config-printer.py (GUI.on_quit_activate): Make sure to hide the jobviewer windows when asking them to quit, to make sure their exit handlers are not called twice. 2010-01-04 Jiri Popelka Remove my-default-printer application (Trac #154). Deleted: my-default-printer.desktop.in, my-default-printer.in, my-default-printer.py Modified: Makefile.am, configure.in, po/POTFILES.in 2010-01-01 jensm Sending translation for German 2009-12-23 Tim Waugh Parse foomatic's special DRV Device ID field (bug #550108). This allows us to prefer foomatic-recommended drivers, which helps in the case of e.g. the Brother HL-2040 (see bug #531370). Driver selection fixes (bug #550075). New auto_driver instance variable to track which driver should be pre-selected. For adding a queue, use the ppdname suggested by cupshelpers.ppds.PPDs. For changing an existing queue, use the NickName or ModelName of the PPD to search for the corresponding ppdname. Fixed typo. 2009-12-22 Tim Waugh Bumped version for release. update-po Fixed translatable text for fetching devices. Ignore com.apple.print.recoverable state reason. Prevent traceback in found_network_printer_callback (bug #547765). Initialise gobject threads in the applet. Ship async classes. Translate strings in asyncipp.py. Initialise gobject threads in main application. Fix up gettext functions in async classes. Use asyncconn for fetching device lists. This avoids a thread-safety issue: as getDevices is an operation that (by default) requires authentication, when PolicyKit is available we will use it. However, doing so from within a TimedOperation will cause it to be done from a separate thread. As PolicyKit is implemented over the D-Bus system bus, and we are already using the system bus in Monitor, this is not safe. By using the new asynchronous calling class, direct IPP connections are done from a separate thread (as there is no asynchronous interface in libcups) whereas PolicyKit calls are performed asynchronously in the same thread. This means that D-Bus is only ever used from one thread, and so is safe. Allow asyncconn.Connection instances to be compared correctly. The comparison should really be made against the wrapped connection class. Prepare cupshelpers for asyncconn. This change allows cupshelpers.getDevices() to handle asynchronous connections. Synchronous connections are unchanged. Fixed PK1Connection.getDevices. Was converting the schemes parameters into strings too early. List unimplemented methods in asyncpk1. 2009-12-21 Tim Waugh Parent XID support in asyncpk0. Use asyncpk0 when appropriate. New asyncpk0 module to handle PolicyKit pre polkit-1. 2009-12-21 Jiri Popelka Allow job history to be purged - Trac #158 jobviewer.py (JobViewer): New Clear entry in job context menu, which purges job history and document files by calling cancelJob(purge_job=True). JobViewer.purge_job(jobid) is temporary solution until we can use PolicyKit to call Connection.cancelJob with additional purge_job parameter. 2009-12-21 Tim Waugh asyncconn: use asyncpk1 when appropriate. asyncpk1: pass unhandled method calls through to asyncipp object. asyncpk1: more careful __del__ debug output. asyncipp: Fix up ref counts, more careful __del__ debugging output. asyncconn: remove synchronous calling, fix up ref counts. Async reference counting fixes and temporary file handling. 2009-12-19 elad Sending translation for Hebrew 2009-12-18 Tim Waugh Removed extra debugging. More asyncpk1 methods: setJobHoldUntil, restartJob, getFile. Fixed asyncipp HTTP-level authentication. More asyncpk1 work. Error handling and cancelJob. 2009-12-18 Jiri Popelka Prevent traceback when no downloadable driver selected (#548449). * system-config-printer.py: set selection mode of tvNPDownloadableDrivers to SELECTION_BROWSE instead of SELECTION_SINGLE. 2009-12-18 Tim Waugh Implemented framework for PK1Connection class. Adapted to new pycups API for cupsSetPasswordCB2. 2009-12-16 Tim Waugh Save initial work on asynchronous PK1 connection class. Implemented async Connection wrapper class for IPP/polkit. More asyncconn improvements: semantic operations and comments. More fixes and improvements to asyncconn. Use cups.Connection.setPasswordCB() if available. Supply given password after reconnecting as new user. Added authentication to asyncconn. 2009-12-15 Tim Waugh Simple asynchronous calling class for cups.Connection. 2009-12-14 Jiri Popelka Prevent traceback when cancel button in troubleshooter pressed (#546821). * troubleshoot/ErrorLogCheckpoint.py (ErrorLogCheckpoint.enable_clicked): catch OperationCanceled exception 2009-12-14 Tim Waugh Prefer Foomatic/hpijs to hpcups for the time being. The hpcups driver is a better architecture but still has quite a few bugs (page margins, duplexing, etc). The Foomatic/hpijs is more reliable than hpcups at this stage. 2009-12-11 Tim Waugh Fix the location field for IPP printers. 2009-12-11 kami911 Sending translation for Hungarian Sending translation for Hungarian 2009-12-10 Tim Waugh Clear device screen each time a new dialog is presented. * system-config-printer.py (NewPrinterGUI.fillDeviceTab): Select 'Other' initially. 2009-12-09 Jiri Popelka Use device-location attribute if present (Trac ticket #196). cupshelpers.py, probe_printer.py, s-c-printer.py: When adding a network printer the device-location attribute is used to set the printer-location attribute of the new queue. 2009-12-09 Tim Waugh Don't suggest the computer is a person in the troubleshooter (Ubuntu #490314). Fixed jobviewer traceback with very short-lived state reasons (bug #545733). * system-config-printer.py (GUI.state_reason_removed): Ignore glib.GError when closing notification. 2009-12-09 amitakhya Sending translation for Assamese 2009-12-09 anipeter Sending translation for Malayalam 2009-12-08 Tim Waugh Fixed traceback with short lpd device URIs (bug #545397). * system-config-printer.py (GUI.on_tvNPDevices_cursor_changed): Don't assume an lpd: URI has a queue part. 2009-12-08 khasida Sending translation for Japanese 2009-12-08 tchuang Sending translation for Chinese (Traditional) 2009-12-08 eukim Sending translation for Korean 2009-12-07 ypoyarko Sending translation for Russian 2009-12-07 elad Sending translation for Hebrew 2009-12-07 Tim Waugh Fixed traceback when troubleshooter options is cancelled (bug #544356). If the troubleshooter window is "busy", the cancel button is for cancelling the current operation. Otherwise it is for aborting the entire troubleshoot session. 2009-12-07 runab Sending translation for Bengali (India) 2009-12-06 kristho Sending translation for Danish 2009-12-04 Jiri Popelka Fix _probe_jetdirect() and _probe_ipp() in probe_printer.py * probe_printer.py: - Move LpdServer._open_socket() to open_socket() so it can be used in PrinterFinder._probe_jetdirect(). - In PrinterFinder._probe_ipp() use protocol independent socket.getaddrinfo() instead of obsoleted socket.gethostbyname() 2009-12-04 Tim Waugh Constraints handling fix. Detect constraints of the form: *UIConstraints: *Duplex *OptionDuplex False 2009-12-03 Tim Waugh Fixed cupsd.conf parsing when lines begin with blanks (bug #544003). Don't overwrite BrowsePoll settings with basic settings dialog (bug #543986). The cupsAdminGetServerSettings function cannot return more than one BrowsePoll value, so any BrowsePoll values must be filtered out before calling cupsAdminSetServerSettings. To prevent any other such problems, best to only include the settings we want to set. Handle RuntimeError when localizing state reason (bug #543937). * statereason.py (StateReason.get_description): Handle RuntimeError from cups.getPPD. Don't fail if smbc module is not available (trac #199). 2009-12-01 Tim Waugh Give finishings reference for translators. 2009-12-01 Jiri Popelka Fixed spacing in ServerSettingsDialog.glade Basic and advanced server settings dialogs are merged (trac ticket #104). * AdvancedServerSettings.py: - class AdvancedServerSettingsDialog renamed to AdvancedServerSettings - doesn't create separate dialog in __init__(), use new widgets from ServerSettingsDialog.glade instead. * ServerSettingsDialog.glade: - added widgets for AdvancedServerSettings. - removed Advanced... button. * system-config-printer.py (GUI.on_server_settings_activate, GUI.server_settings_response, GUI.on_adv_server_add_clicked, GUI.on_adv_server_remove_clicked, GUI.on_adv_server_settings_apply): - changed to use new AdvancedServerSettings class 2009-11-30 Tim Waugh update-po Bumped version for release Don't update properties if apply failed (bug #542503). * system-config-printer.py (GUI.printer_properties_response): Don't update the printer properties after apply is clicked if the operation failed. Prevent traceback when marker-levels are not reported. * system-config-printer.py (GUI.updateMarkerLevels): Avoid traceback introduced in last change. 2009-11-29 alexxed Sending translation for Romanian 2009-11-27 Tim Waugh Bumped version for release update-po Prevent traceback with bad marker-levels attribute (bug #541882). * system-config-printer.py (GUI.updateMarkerLevels): Attempt to coerce attribute values to required types. Retry when reconnection (due to authentication) fails (bug #541741). * authconn.py (Connection._authloop): Moved _perform_authentication call inside the try..except clause. Set _has_failed if the operation will be retried. (Connection._perform_authentication): If _connect fails treat it as server-error-service-unavailable so the retry handler kicks in. 2009-11-27 ruigo Sending translation for Portuguese 2009-11-27 Jiri Popelka Added Test Page and Self-Test Page buttons tooltips (#516458). * system-config-printer.py (GUI.dests_iconview_item_activated): Added tooltips to Print Test Page and Print Self-Test Page buttons to explain the difference (#516458). 2009-11-26 Tim Waugh Prevent number of markers causing window to exceed screen height. * glade/PrinterPropertiesDialog.glade: Put gtkinklevel widgets inside a scrolled window. Prevent marker-names causing window to exceed screen width (bug #540826). * system-config-printer.py (GUI.updateMarkerLevels): Set desired label width for ink levels to 10 characters. Start main window in the middle of the screen (bug #539876). Fixed editability of PPD options for explicit IPP queues (bug #541588). * system-config-printer.py (GUI.fillPrinterTab): The PPD options are editable if the queue is not a discovered queue. 2009-11-23 Tim Waugh Prevent traceback when PackageKit is not installed (bug #540230). 2009-11-20 taljurf Sending translation for Arabic 2009-11-18 Tim Waugh Fixed initialisation of PrinterFinder class. Install the foomatic package if foomatic-rip is missing. 2009-11-18 chenh Sending translation for Chinese (Simplified) 2009-11-15 kristho Sending translation for Danish 2009-11-15 jensm Sending translation for German 2009-11-15 fab Sending translation for German 2009-11-13 sandeeps Sending translation for Marathi 2009-11-13 ifelix Sending translation for Tamil 2009-11-13 shanky Sending translation for Kannada 2009-11-12 mgiri Sending translation for Oriya 2009-11-12 kkrothap Sending translation for Telugu 2009-11-12 rajesh Sending translation for Hindi 2009-11-12 jassy Sending translation for Punjabi 2009-11-12 swkothar Sending translation for Gujarati 2009-11-11 Tim Waugh Suggest installing foomatic-db-ppds when appropriate. * cupshelpers/cupshelpers.py (parseDeviceID): Don't set the CMD list to a list of the empty string when not present; set it to the empty list. * system-config-printer.py (NewPrinterGUI.nextNPTab): After the device is selected decide whether it might support PostScript. If it might, and foomatic-db-ppds is not installed, suggest installing it. NOTE: The application will have to be restarted for the new PPDs to be discovered. This is not particularly elegant. It will be fixed properly in 1.2 by installing packages by MFG/MDL tags. 2009-11-09 warrink Sending translation for Dutch 2009-11-09 elsupergomez Sending translation for Spanish 2009-11-09 ruigo Sending translation for Portuguese 2009-11-08 pkst Sending translation for Greek 2009-11-07 perplex Sending translation for Italian 2009-11-07 warrink Sending translation for Dutch 2009-11-07 kmilos Sending translation for Serbian (Latin) Sending translation for Serbian Sending translation for Serbian (Latin) Sending translation for Serbian 2009-11-07 beckerde Sending translation for Spanish 2009-11-07 raven Sending translation for Polish Sending translation for Polish 2009-11-06 vpv Sending translation for Finnish 2009-11-06 igor Sending translation for Brazilian Portuguese 2009-11-06 Tim Waugh Updated British translation. update-po Updated British translation. update-po Added translatable string for new retry-current-job error policy. Was showing untranslated (as "retry-current-job"). 2009-11-05 Tim Waugh Fail nicely if new printer is deleted during test page prompt (bug #533109). * system-config-printer.py (GUI.on_btnNPApply_clicked): Catch RuntimeError from display_properties_dialog_for and don't try printing a test page in that case. It means our printer has disappeared in the mean time. 2009-11-04 pkst Sending translation for Greek Sending translation for Greek 2009-11-02 Tim Waugh Fixed typo in German translation (bug #532371). 2009-10-30 Tim Waugh Catch IPP errors when updating from notified events (bug #530641). * system-config-printer.py (GUI.printer_event, GUI.state_reason_added, GUI.state_reason_removed): Catch and ignore IPP errors here. It may be that the printer for which the event was generated no longer exists, in which case we should take no action. 2009-10-28 Jiri Popelka Added support for custom state reasons (trac #16). 2009-10-28 Tim Waugh Translate cups-missing-filter into something presentable. Strip 'zjs' from make-and-model as well. Avoid Connection.setServer in troubleshooter when choosing network queue. Strip 'zxs' and 'pcl3' from make-and-model (bug #531048). Fixed visibility tracking for jobs window. * jobviewer.py (JobViewer.on_delete_event): Track visibility on delete event. 2009-10-26 mareklaane Sending translation for Estonian Sending translation for Estonian 2009-10-22 Tim Waugh Ship udev rules in the correct location. Use gobject.timeout_add_seconds where appropriate. This allows for more efficient system power usage. * applet.py (NewPrinterNotification.GetReady, NewPrinterNotification.run_config_tool): Use gobject.timeout_add_seconds. * jobviewer.py (JobViewer.update_job_creation_times, JobViewer.on_icon_configure_printers_activate): Likewise. * monitor.py (Monitor.check_state_reasons, Monitor.get_notifications, Monitor.refresh): Likewise. * system-config-printer.py (GUI.on_btnIPPVerify_clicked): Likewise. * timedops.py (TimedSubprocess.run): Likewise. * troubleshoot/PrintTestPage.py (PrintTestPage.connect_signals, PrintTestPage.update_jobs_list): Likewise. 2009-10-17 Tim Waugh 'Move' job context menu item should read 'Move To'. 2009-10-17 kami911 Sending translation for Hungarian Sending translation for Hungarian 2009-10-16 Tim Waugh Start to add support for moving jobs. All works except for the menu items not activating correctly. Works when 'Move' menu item is clicked before clicking the actual printer menu item in the submenu. Don't import pprint needlessly in applet and jobviewer. 2009-10-11 fgonz Sending translation for Spanish 2009-10-07 chenh Sending translation for Chinese (Simplified) 2009-10-06 runab Sending translation for Bengali (India) 2009-10-06 Tim Waugh Don't display properties dialog for first test page (Ubuntu #444280). When offering to print a test page for a newly added printer, initialise the properties dialog so that we know the correct page size but don't present it on the screen. This avoids leaving it around with only "Cancel" clickable. 2009-10-05 kmaraas Sending translation for Norwegian Bokmål 2009-10-04 kristho Sending translation for Danish 2009-10-01 elsupergomez Sending translation for Spanish 2009-09-30 kristho Sending translation for Danish 2009-09-30 warrink Sending translation for Dutch 2009-09-30 Tim Waugh Attempt to determine make and model of network printers (bug #524321). * system-config-printer.py (NewPrinterGUI.nextNPTab): If a network device is selected and we do not yet know its Device ID, attempt to determine it when Next is clicked. Auto-select raw queue correctly when changing PPD. * system-config-printer.py (NewPrinterGUI.init): The raw queue is filed under Generic, so use that for auto-selecting the current make and model from the list. 2009-09-29 Tim Waugh Don't use untranslatable string for default value. If the device-make-and-model field is not present use the empty string, not "Unknown" -- this module cannot provide a user-presentable string. Style fixes. 2009-09-29 Till Kamppeter If a printer is created and there is already a queue with the suggested name, add a dash and a number to the new name, not only a number. This makes it more readable if the original name ends with a digit. If there is no device ID for a discovered printer, use the make-and-model string to determine make and model for auto-selecting the PPD/driver. Fixed bug in previous upload for carrying the device ID through the wizard steps (LP: #436218). Make sure that the discovered device ID is saved into the data structure representing the printer, so that it is used for pre-filling the search field for PPD download (it got often pre-filled with "Generic text-only printer" before) and also for generating the default print queue name. 2009-09-24 Tim Waugh troubleshoot: don't rely on stdout being available (Ubuntu #435505). * troubleshoot/__init__.py (Troubleshooter._report_traceback): Don't assume "print" will work -- catch exceptions. 2009-09-23 mgiri Sending translation for Oriya 2009-09-23 ypoyarko Sending translation for Russian Sending translation for Russian 2009-09-22 rajesh Sending translation for Maithili 2009-09-22 Tim Waugh Better order for network printer probes. * probe_printer.py (PrinterFinder._do_find): Try the quick probes first. Use the correct URI for probed CUPS queues. * probe_printer.py (PrinterFinder._probe_ipp): Use printer-uri-supported attribute here, not device-uri (which is only meaningful to the remote server). Give debug output for each network printer found. * probe_printer.py (PrinterFinder._new_device): Show URI in debug output. Avoid traceback in PhysicalDevice.py. * PhysicalDevice.py (PhysicalDevice._get_host_from_uri): Return None if it is an HPLIP URI for a local device. 2009-09-22 Jiri Popelka Added IPP and JetDirect support to 'Find Network Printer' (rest of trac #152). * probe_printer.py (PrinterFinder._probe_jetdirect): New method. (PrinterFinder._probe_ipp): New method. (PrinterFinder._new_device): New method. 2009-09-22 amitakhya Sending translation for Assamese 2009-09-22 Tim Waugh Cancel PrinterFinder when new-printer dialog closes. * system-config-printer.py (NewPrinterGUI.init): Initialise widgets for PrinterFinder. (NewPrinterGUI.on_NPCancel): Cancel PrinterFinder. (NewPrinterGUI.found_network_printer_callback): Delete PrinterFinder. (NewPrinterGUI.on_btnNPApply_clicked): Cancel PrinterFinder. Allow PrinterFinder cancellation. * probe_printer.py (PrinterFinder.cancel): Cancel background operation and set quit flag. (PrinterFinder._do_find): Check quit flag. (PrinterFinder._probe_snmp): Likewise. (PrinterFinder._probe_lpd): Likewise. (PrinterFinder._probe_hplip): Likewise. (PrinterFinder._probe_smb): Likewise. 2009-09-22 mvdz Sending translation for Russian Sending translation for Ukrainian Sending translation for Russian 2009-09-22 Tim Waugh Fixed label display when clicking Find twice in Find Network Printer. * system-config-printer.py (NewPrinterGUI.on_btnNetworkFind_clicked): Make sure to hide the "not found" label. Let Return key activate the 'Find' button for Find Network Printer. 2009-09-22 jassy Sending translation for Punjabi 2009-09-22 Tim Waugh Fixed missing import. * probe_printer.py: Import errno. 2009-09-22 ifelix Sending translation for Tamil 2009-09-22 rajesh Sending translation for Hindi 2009-09-22 shanky Sending translation for Kannada 2009-09-22 tchuang Sending translation for Chinese (Traditional) 2009-09-22 fvalen Sending translation for Italian 2009-09-21 mrtom Sending translation for French 2009-09-21 kmilos Sending translation for Serbian (Latin) Sending translation for Serbian 2009-09-21 Tim Waugh Fixed device fetch when not using polkit-1. * system-config-printer.py (NewPrinterGUI.init): Don't start querying PPDs yet. (NewPrinterGUI.fetchDevices): Removed incorrect code for the path not using polkit-1. Re-use authconn connection in that case. (NewPrinterGUI.got_devices): After network device query has finished, start a PPDs query. Added SMB support to 'Find Network Printer' (part of trac #152). * probe_printer.py (BackgroundSmbAuthContext): New class based on pysmb.AuthContext. Always perform UI operations from a gobject timeout rather than in-line. Must be used from a non-UI thread. (PrinterFinder._probe_smb): New method. (PrinterFinder._do_find): use it. 2009-09-21 anipeter Sending translation for Malayalam 2009-09-21 kkrothap Sending translation for Telugu 2009-09-21 sandeeps Sending translation for Marathi Sending translation for Marathi 2009-09-21 kristho Sending translation for Danish 2009-09-21 jensm Sending translation for German Sending translation for German 2009-09-21 swkothar Sending translation for Gujarati 2009-09-21 feonsu Sending translation for Slovak 2009-09-21 jassy Sending translation for Punjabi 2009-09-21 eukim Sending translation for Korean 2009-09-21 ypoyarko Sending translation for Russian 2009-09-20 fgonz Sending translation for Spanish 2009-09-20 vpv Sending translation for Finnish 2009-09-20 ccielogs Sending translation for Italian 2009-09-20 dominiksandjaja Sending translation for German 2009-09-19 xconde Sending translation for Catalan 2009-09-19 raven Sending translation for Polish Sending translation for Polish 2009-09-19 ruigo Sending translation for Portuguese 2009-09-19 khasida Sending translation for Japanese 2009-09-18 goeran Sending translation for Swedish 2009-09-18 igor Sending translation for Brazilian Portuguese 2009-09-18 warrink Sending translation for Dutch 2009-09-18 Tim Waugh Updated British translation. Updated British translation. update-po Use 'View Attributes' instead of 'Attributes'. update-po Handle hpcups driver for 5400 series in test suite. Skip taskbar entry for job attributes window when hidden. * jobviewer.py (JobViewer.toggle_window_display): Set skip_taskbar hint for job attributes window as well. 2009-09-18 hunter688 Sending translation for Czech 2009-09-18 Tim Waugh Iconify jobs window into status icon. * jobviewer.py (JobViewer.toggle_window_display): When hiding the window, set the icon geometry to that of the status icon, turn off the taskbar entry and iconify the window. On showing the window, use present() and turn the taskbar entry back on. Track window visibility in user data rather than with the "visible" property. 2009-09-17 Tim Waugh Attempt to discover whether the firewall needs adjusting. * firewall.py: New file. * Makefile.am: Ship and install it. * system-config-printer.py: Check whether TCP port 631 is open before telling user to adjust firewall. Whitespace changes only. Don't show job-id and job-printer-up-time attributes. The job-id attribute gives no information, as the notebook tab already shows it. The job-printer-up-time attribute is not really specific to that job but to the printer it was queued for. It also changes every second. * jobviewer.py (JobViewer.update_job_attributes_viewer): Ignore job-id and job-printer-up-time attributes. Only update job attributes window in one place. * jobviewer.py (JobViewer.on_job_attributes_activate): Use the update_job_attributes_viewer method, passing it our connection. (JobViewer.on_job_attributes_viewer): Take optional connection parameter. Easier window title for translation. The window title for the job attributes window should probably be the singular ("job attributes") rather than the plural ("jobs attributes"). * jobviewer.py (JobViewer.__init__): Easier window title for job attributes window. (JobViewer.on_jobs_attributes_activate): Renamed. (JobViewer.jobs_attributes_on_delete_event): Renamed. 2009-09-17 Jiri Popelka Show job attributes (trac #6) * jobviewer.py (JobViewer.__init__): Added Attributes popup menu entry. (JobViewer.on_jobs_attributes_activate): For every selected job create notebook page with attributes. (JobViewer.update_job_attributes_viewer): Update attributes store with new values. * monitor.py (Monitor.refresh): Subscribe also job-progress events. 2009-09-16 Tim Waugh Translate job-hold-until values. * ppdippstr.py: New job_options dict. Provide translations for job-hold-until. * options.py (OptionAlwaysShown.reinit): Look for translations and construct a combobox_map/dict if present. Support outputorder job option (trac #189). * ui/PrinterPropertiesDialog.glade: New option. * system-config-printer.py (GUI.__init__): New option. Avoid unnecessary "publish printers" dialog. * system-config-printer.py (GUI.__init__): Set server_is_publishing variable to None to indicate that we don't yet know. (GUI.on_shared_activate): If server publishing status is not yet known, examine printer's attributes to see if server-is-sharing-printers is there. 2009-09-16 ypoyarko Sending translation for Russian 2009-09-15 Tim Waugh Prevent traceback when cancelling change-driver dialog. 2009-09-15 kristho Sending translation for Danish 2009-09-15 Tim Waugh More data button state fixing. Surely correct now! * system-config-printer.py (GUI.setDataButtonState): Don't allow device or PPD of discovered queue to be changed. 2009-09-14 goeran Sending translation for Swedish 2009-09-14 Tim Waugh update-po Bumped version for release. 2009-09-10 mvdz Sending translation for Ukrainian 2009-09-10 amitakhya Sending translation for Assamese 2009-09-09 fvalen Sending translation for Italian 2009-09-09 willwill Sending translation for Thai 2009-09-08 taljurf Sending translation for Arabic 2009-09-08 hunter688 Sending translation for Czech 2009-09-07 kkrothap Sending translation for Telugu 2009-09-06 peterve Sending translation for Dutch 2009-09-05 palos Sending translation for Slovak 2009-09-04 Tim Waugh Make sure to cancel the fetchDevices callback when not needed. Fetch network devices as soon as local devices are received. * system-config-printer.py (NewPrinterGUI.init): Don't connect to row-expanded signal. (NewPrinterGUI.device_row_expanded): Removed. (NewPrinterGUI.fillDeviceTab): Retain thread handle to allow for cancellation. (NewPrinterGUI.got_devices): Start fetching network devices once local devices request has completed. (NewPrinterGUI.on_NPCancel): Cancel any pending fetchDevices callback. Fixed cancellation in TimedOperation class. * timedops.py (TimedOperation): Remember whether a callback was initially specified and always operate in callback mode in that case. 2009-09-03 ruigo Sending translation for Portuguese 2009-09-03 Tim Waugh Fixed spinner UI bug. * gtkspinner.py (Spinner._next_frame): Fixed spinner UI bug. Use callbacks when fetching devices. * system-config-printer.py (NewPrinterGUI.__init__): Connect to row-expanded signal for devices treeview. (NewPrinterGUI.fetchDevices): New optional parameter network. This method is now called in its own thread so don't interact with GTK+ or create another thread. (NewPrinterGUI.fillDeviceTab): Set 'Other' and 'Network Printer' rows only, and start a fetchDevices thread for local devices. (NewPrinterGUI.got_devices): Callback function for discovered devices. Add them to the treeview if they are new. (NewPrinterGUI.device_row_expanded): Fetch network devices if we have not already done so. Allow for more than one spinner task. * system-config-printer.py (NewPrinterGUI.__init__): Initialise spinner task count. (NewPrinterGUI.inc_spinner_task): New method. (NewPrinterGUI.on_btnNetworkFind_clicked): Use it. (NewPrinterGUI.dec_spinner_task): New method. (NewPrinterGUI.found_network_printer_callback): Use it. Allow parameters to cupshelpers.getDevices. * cupshelpers/cupshelpers.py (getDevices): Pass keywords through. Fixed cupspk support for DevicesGet. * cupspk.py (Connection.getDevices): Follow Connection interface more closely: first parameter is limit, fourth is timeout, scheme lists are lists not strings. Extended TimedOperation class to allow callbacks. * timedops.py (TimedOperation.__init__): New optional callback and context parameters. Start checking the thread immediately if giving a callback. (TimedOperation.run): This is not allowed if a callback will be given. (TimedOperation._check_thread): Give a callback if requested. (TimedOperation.cancel): Prevent callback. 2009-09-03 shanky Sending translation for Kannada 2009-09-02 Tim Waugh Allow PPD/device changes for raw queues. * system-config-printer.py (GUI.setDataButtonState): Fixed sensitivity of Browse... buttons for PPD and Device. 2009-09-02 mgiri Sending translation for Oriya 2009-09-02 sandeeps Sending translation for Marathi 2009-09-02 kami911 Sending translation for Hungarian Sending translation for Hungarian 2009-09-01 kmilos Sending translation for Serbian (Latin) Sending translation for Serbian Sending translation for Serbian (Latin) Sending translation for Serbian 2009-09-01 runab Sending translation for Bengali (India) 2009-09-01 anipeter Sending translation for Malayalam 2009-09-01 jassy Sending translation for Punjabi 2009-09-01 rajesh Sending translation for Hindi 2009-09-01 leahliu Sending translation for Chinese (Simplified) 2009-08-31 swkothar Sending translation for Gujarati 2009-08-31 kmaraas Sending translation for Norwegian Bokmål 2009-08-30 kami911 Sending translation for Hungarian Sending translation for Hungarian 2009-08-30 jensm Sending translation for German 2009-08-30 kami911 Sending translation for Hungarian Sending translation for Hungarian 2009-08-29 ifelix Sending translation for Tamil 2009-08-29 raven Sending translation for Polish 2009-08-28 vpv Sending translation for Finnish 2009-08-28 Tim Waugh Fixed PPD/IPP string translation. Make proxy authentication work for all usernames. * jobviewer.py (JobViewer.update_job): Don't use "user" attribute for keyring look-up. (JobViewer.auth_info_dialog_response): More debugging output. Fixed proxy authentication. * jobviewer.py (JobViewer.on_auth_notification_closed): Removed. (JobViewer.on_auth_notification_authenticate): Removed. (JobViewer.update_job): Set the keyring attributes for searching. 2009-08-28 xconde Sending translation for Catalan 2009-08-28 ypoyarko Sending translation for Russian 2009-08-28 tchuang Sending translation for Chinese (Traditional) 2009-08-27 Tim Waugh Fixed traceback with older versions of GTK+. The icon-press signal only exists when we have primary/secondary icon support in GtkEntry. Assume polkit-1 when PolicyKit is used. * Makefile.am: Removed WITH_POLKIT_1 substitution. * configure.in: Removed --with-polkit-1 option. * config.py.in: Removed WITH_POLKIT_1. * authconn.py: Assume polkit-1. * cupspk.py: Likewise. * system-config-printer.py: Likewise. Make new polkit-1 support conditional on "configure --with-polkit-1". * configure.in: New --with-polkit-1 configure option, default=no. * Makefile.am: Replace @WITH_POLKIT_1@. * config.py.in: Set WITH_POLKIT_1. * authconn.py: Restore locking exception when using PolicyKit before polkit-1. * cupspk.py: Restored old PolicyKit code, used unless WITH_POLKIT_1 is set. * system-config-printer.py (NewPrinterGUI.fetchDevices): Only fetch devices in a separate thread if WITH_POLKIT_1 is set. Fetch devices in a separate thread to avoid blocking (bug #516787). * system-config-printer.py (NewPrinterGUI.fetchDevices): Fetch devices in a separate thread if using PolicyKit. Don't do this if we are not using PolicyKit as we would lose any cached credentials for IPP authentication. It is now safe to use cups-pk-helper from a non-GUI thread. * authconn.py (Connection.__init__): Removed cupspk exception when we are in a separate thread. Ported to polkit-1. * cupspk.py (Connection._obtain_auth): Removed. (Connection._handle_exception_with_auth): Removed. (Connection._call_with_pk_and_fallback): Handle cancellation in-line. Avoid error dialog after cancelling operation via PolicyKit dialog. * authconn.py (Connection._authloop): Don't show a dialog here. 2009-08-27 Till Kamppeter Fix cleaning of TurboPrint PPD listings of CUPS 1.4.x to get assigned to the correct printer model. Model lists from CUPS 1.4.x seem to be a mixture of Unicode and conventional strings, let the sorting procedure handle this. 2009-08-27 eukim Sending translation for Korean 2009-08-26 Tim Waugh Handle icon load failure gracefully. Use correct statereason level icon names. 2009-08-26 kristho Sending translation for Danish Sending translation for Danish 2009-08-26 Tim Waugh Added 'orientation' property to GtkBuilder VBoxes. 2009-08-26 Jiri Popelka Small fixes in JobsWindows.ui * JobsWindows.ui: Removed unused on_view_activate handler. Fixed View->Refresh icon. 2009-08-26 Tim Waugh Fixed job context menu items' sensitivity. * jobviewer.py (JobViewer.on_treemodel_row_changed): Removed. (JobViewer.on_selection_changed): Don't examine the cursor, only the selected paths. Set no actions sensitive when no paths selected, and make sure remaining sensitive actions can apply to all selected jobs. 2009-08-26 Jiri Popelka Allow job operations to operate on several jobs at once (trac #186). 2009-08-26 Tim Waugh Fixed traceback in on_tvNPDeviceURIs_cursor_changed (bug #519367). * system-config-printer.py (NewPrinterGUI.on_tvNPDeviceURIs_cursor_changed): Use get_cursor instead of get_selected and avoid traceback (bug #519367). 2009-08-26 hyuuga Sending translation for Japanese 2009-08-26 Tim Waugh update-po Fixed translations by renaming GtkBuilder files back to *.glade. It turns out that intltool-update uses file extensions to determine the file type when extracting translatable strings, and *.ui is not recognised. The "gettext/glade" parser understands GtkBuilder XML so we'll just use that. 2009-08-26 ypoyarko Sending translation for Russian 2009-08-26 ankit Sending translation for Gujarati 2009-08-26 tchuang Sending translation for Chinese (Traditional) 2009-08-26 fvalen Sending translation for Italian 2009-08-25 warrink Sending translation for Dutch Sending translation for Dutch 2009-08-25 Tim Waugh update-po Bumped version for release. Don't allow Back/Forward to lose troubleshooting diagnostic information. * troubleshoot/ErrorLogCheckpoint.py (ErrorLogCheckpoint.collect_answer): Don't allow Back/Forward to lose any debugging output from error_log. (cherry picked from commit cf65ee6f6592a3ba01606a02b94907e43653802f) Don't install RPM provides script. 2009-08-25 leahliu Sending translation for Chinese (Simplified) 2009-08-25 Tim Waugh Neater bash-wrapping. Fixed bash-wrapping for postscriptdriver.prov. Bash-wrapped postscriptdriver.prov. postscriptdriver.prov: Handle one level of symlinks. 2009-08-24 Tim Waugh Don't allow Back/Forward to lose troubleshooting diagnostic information. * troubleshoot/ErrorLogCheckpoint.py (ErrorLogCheckpoint.collect_answer): Don't allow Back/Forward to lose any debugging output from error_log. Source code tidying in applet.py. * applet.py: Avoid line continuation slashes. Fixed applet traceback when printing test page. * applet.py (NewPrinterNotification.NewPrinter): Set devid before using it. 2009-08-24 fvalen Sending translation for Italian 2009-08-22 igor Sending translation for Brazilian Portuguese 2009-08-22 kristho Sending translation for Danish 2009-08-21 Jiri Popelka Removed notification when job has completed (trac #181). Fixed mixed indentation (Tab -> spaces) 2009-08-21 Tim Waugh Added experimental package tagging for PPD files. * postscriptdriver.prov: New file. * Makefile.am: Ship and install it. 2009-08-20 Tim Waugh Better consistency with printer icons (bug #518020). * system-config-printer.py (GUI.populateList): Only use paused icon for disabled printers. Rejecting printers show as insensitive. Overlay state reason icon if appropriate. Use paused icon when printer state reason is 'paused'. * system-config-printer.py (GUI.updateStateReasons): Store icon name, not reason level. Use gtk.STOCK_MEDIA_PAUSE for 'paused'. (GUI.set_printer_state_reason_icon): Updated. Small fix for cupshelpers. * cupshelpers/cupshelpers.py (Printer.__init__): Store all supplied attributes in other_attributes instance variable initially. 2009-08-20 Till Kamppeter Fixed driver selection. This change is needed for models which support PostScript but where the OpenPrinting database recommends a PCL driver. I have recommended PCL drivers on PostScript printers for two reasons: 1. The printer ships with not enough memory for PostScript. This made many users complain and report bugs. Examples are HP LaserJet 12xx/13xx. 2. The printer does not ship with the PostScript interpreter by default, but the manufacturer has uploaded a PostScript PPD to OpenPrinting. To make these printers work out of the box I have made system-config-printer preferring the "recommended" driver of the OpenPrinting database over the native PostScript PPD. I have never let it prefer a generic PostScript PPD over a manufacturer-supplied one. I have found a real bug now: The HP LaserJet 12xx/13xx got explicitly forced to use the HPIJS driver and not the newer hpcups driver the recommended pxlmono (PCL 6/XL, 1200 dpi instead of 600 dpi). I have removed the exception and now pxlmono gets used. 2009-08-20 Tim Waugh Job status icon and state reason in jobs treeview (bug #518070). * jobviewer.py (JobViewer.__init__): Use cell data functions for the main treeview. Just store jobid and job creation time in the treestore. (update_job): Invalidate cached status description and redraw the status icon. (add_state_reason_emblem): Optionally calculate the worst state reason for a given printer. (state_reason_added, state_reason_removed): Redraw the treeview so that the icon is recomputed. Only update job creation times once per minute at rest. * jobviewer.py (JobViewer.add_job): Just update job creation times once here. Kill job creation times timer on the jobviewer is destroyed. * jobviewer.py (cleanup): Kill job creation times timer. Use symbolic icon name instead of string literal. * system-config-printer.py (GUI.populateList): Use gtk.STOCK_MEDIA_PAUSE here. 2009-08-20 beckerde Sending translation for Spanish Sending translation for Spanish 2009-08-20 Tim Waugh Use preferred object path for AuthenticationAgent (bug #518427). * cupspk.py: Use preferred object path for AuthenticationAgent. 2009-08-20 sergiomesquita Sending translation for Portuguese 2009-08-20 kenda Sending translation for German 2009-08-19 Tim Waugh Updated British translation. 2009-08-19 ruigo Sending translation for Portuguese 2009-08-19 Tim Waugh Updated British translation. 2009-08-19 igor Sending translation for Brazilian Portuguese 2009-08-19 raven Sending translation for Polish Sending translation for Polish Sending translation for Polish 2009-08-19 Tim Waugh update-po update-po Show a 'paused' emblem for rejecting/disable printers (bug #518020). * system-config-printer.py (GUI.printer_event): Update the icon view. (GUI.populateList): Set a 'paused' emblem on the icon if the queue is rejecting or disabled (bug #518020). Fixed cupspk handling of disabling a printer. * cupspk.py (Connection.disablePrinter): Use the correct fallback function. Set an appropriate status icon tooltip when configuring printer (bug #518007). * jobviewer.py (JobViewer.set_special_statusicon): Allow a tooltip to accompany a special status icon. * applet.py (NewPrinterNotification.GetReady): Set an appropriate tooltip (part of bug #518007). 2009-08-18 ruigo Sending translation for Portuguese Sending translation for Portuguese 2009-08-18 Tim Waugh Use separate thread for verifying IPP queue (bug #518065). * system-config-printer.py (NewPrinterGUI.on_btnIPPVerify_clicked): Use TimedOperation here. timedops: allow cancel method to be used as a timeout callback. Fixed WaitWindow transience when changing PPD. Busy/ready cursor handling fixes. Prefer native CUPS drivers to foomatic drivers. Another small fixed for gutenprint driver identification. Fixed identification of CUPS native gutenprint drivers. Removed pango import. We no longer need pango as we don't ellipsize any strings now. Better looping. Fixed typo. * system-config-printer.py (GUI.rename_printer): Fixed typo in error handling case. 2009-08-18 jensm Sending translation for German 2009-08-18 Tim Waugh Fixed missing treeview update in properties dialog. * system-config-printer.py (GUI.updatePrinterProperties): Actually call the function to update the treeview, rather than naming it. Removed unnecessary comma at end of line. Don't iuse deprecated string.find() in cupspk. Removed unnecessary semi-colons. Use set_default_size instead of setting width and height properties. Fixed typo handling exceptions from AdvancedServerSettingsDialog. * system-config-printer.py (GUI.on_adv_server_settings_apply): Fixed typo. More tooltips fixes. 2009-08-18 Paolo Borelli Use modern gtk tooltip support. 2009-08-18 Tim Waugh Avoid duplicate IDs in UI XML. 2009-08-18 kami911 Sending translation for Hungarian Sending translation for Hungarian 2009-08-18 jensm Sending translation for German 2009-08-18 leahliu Sending translation for Chinese (Simplified) 2009-08-15 ruigo Sending translation for Portuguese 2009-08-14 Tim Waugh udev-configure-printer: Compare MFG and MDL case-insensitively. HPLIP reports incorrect Device IDs (launchpad #405804). * udev/udev-configure-printer.c (find_matching_device_uris): Use strcasecmp instead of strcmp for MFG and MDL fields. Support for cups-pk-helper's DevicesGet method. * cupspk.py (Connection.getDevices): New method. Based on a patch by Marek Kašík. Don't attempt to use PolicyKit if we are root. * authconn.py (Connection._connect): Don't use PolicyKit if we are root. 2009-08-13 kmaraas Sending translation for Norwegian Bokmål 2009-08-13 Tim Waugh Fixed parenting of WaitWindow when adding printer. The WaitWindow widget is only used by the NewPrinterGUI object so load it there. Use the NewPrinterWindow widget as the parent when displaying the WaitWindow, except when fetching devices which occurs before that window is presented. 2009-08-13 Jiri Popelka Added support for localized marker names (trac #183). 2009-08-11 raven Sending translation for Polish 2009-08-11 Jiri Popelka Added support for custom state reasons (trac #16). 2009-08-11 Till Kamppeter HP's Bluetooth printers return a model name with added "_BT" in their device ID. This breaks PPD file matching. This change removes this suffix before comparing model names. 2009-08-11 Tim Waugh Don't get tripped up by "-" when checking for missing executables. * cupshelpers/cupshelpers.py (missingPackagesAndExecutables): Accept a filter of "-" (Ubuntu #411376). 2009-08-10 logan Sending translation for Spanish 2009-08-09 xconde Sending translation for Catalan 2009-08-08 kristho Sending translation for Danish 2009-08-08 kmaraas Sending translation for Norwegian Bokmål 2009-08-08 igor Sending translation for Brazilian Portuguese 2009-08-07 Tim Waugh update-po update-po Build XZ tarball. (cherry picked from commit 6de5c892171318abc08a489041c77b0980bb6355) Bumped version for release. Adjusted PPDs test suite for HP PSC 2210. HPLIP now provides a native driver for the HP PSC 2200 series, so that is now the preferred PPD. Validate BrowsePoll entries (bug #493839). * AdvancedServerSettings.py (AdvancedServerSettingsDialog.on_browse_poll_edited): Use socket.getaddrinfo() to validate edited value as numeric IP address. If that fails, verify the value is a valid hostname. 2009-08-07 anganar Sending translation for Russian 2009-08-07 Tim Waugh Make properties dialog OK button insensitive when no changes (bug #493891). * system-config-printer.py (GUI.setDataButtonState): Make OK button sensitivity depdendent on there being changes made. udev-configure-printer: fixed removal when cupsd not running. If the queue for a device has been removed, then cupsd is stopped, and then the device is disconnected, reconnecting the device once cupsd has been re-started fails to add a queue. The fix is always to remove the usb-uris line for the device on disconnection even if we cannot connect to cupsd. * udev/udev-configure-printer.c (cups_connection): Removed. (find_matching_device_uris): Exit if unable to connect to cupsd. (for_each_matching_queue): Return early if unable to connect. (enable_queue, disable_queue): Likewise. (main): Set the CUPS password callback here. 2009-08-05 Tim Waugh Revert "Split out D-Bus system service for adding the printer." This reverts commit 98564e671c84c831a9a6b0706659fb99783bc57c as it introduced a race condition between: a) the udev callout fetching the Device ID from the device, and b) CUPS backends responding to CUPS-Get-Devices, called from the D-Bus service, fetching the Device IDs from USB devices. 2009-08-04 kenda Sending translation for German 2009-08-03 Tim Waugh Build XZ tarball. 2009-08-03 kristho Sending translation for Danish 2009-08-02 igor Sending translation for Brazilian Portuguese 2009-08-02 kristho Sending translation for Danish 2009-08-02 beckerde Sending translation for Spanish 2009-08-02 Tim Waugh troubleshoot: treat http and https schemes as potential CUPS servers. * troubleshoot/CheckNetworkServerSanity.py: Recognize http and https schemes and try to connect to a CUPS server. Use encryption for https. * troubleshoot/CheckPrinterSanity.py: Include https in the list of network schemes. 2009-08-01 igor Sending translation for Brazilian Portuguese 2009-08-01 xconde Sending translation for Catalan Sending translation for Catalan Sending translation for Catalan 2009-07-31 raven Sending translation for Polish 2009-07-31 igor Sending translation for Brazilian Portuguese 2009-07-31 Tim Waugh Updated British translation. update-po 2009-07-31 raven Sending translation for Polish 2009-07-31 Tim Waugh Restored gtk import in optionwidgets.py. Require pycups >= 1.9.46. * system-config-printer.py: Require pycups >= 1.9.46. Removed work-arounds. * applet.py: Removed work-around. 2009-07-31 beckerde Sending translation for Spanish 2009-07-31 Tim Waugh API improvement in cupshelpers: limit job fetches. * cupshelpers/cupshelpers.py (Printer.jobsQueued): New optional limit parameter. (Printer.jobsPreserved): Likewise. (Printer.testsQueued): Likewise. * system-config-printer.py (GUI.rename_confirmed_by_user): Use it. (GUI.is_rename_possible): Likewise. Small improvements for printer rename confirmation. * cupshelpers/cupshelpers.py (Printer.jobsPreserved): Removed pprint import. Just fetch 'completed' jobs, not 'all'. Handle job attribute 'job-state' absence. * glade/RenamePrinter.glade: Removed. * system-config-printer.py (GUI.rename_confirmed_by_user): Build dialog programmatically instead. 2009-07-31 Jiri Popelka A warning is given that renaming destroys print job history. 2009-07-31 Tim Waugh Fixed cupspk's implementation of adminGetServerSettings(). * cupspk.py (Connection.adminGetServerSettings): Fixed handling of dbus.String types. Patch from Marek Kašík. jobviewer: notice jobs that have stopped due to backend errors. * jobviewer.py (JobViewer.job_event): If a backend fails, CUPS doesn't stop the job at all but stops the printer, the job-state being set back to IPP_JOB_PENDING. Watch for this scenario and warn the user about the problem. 2009-07-31 beckerde Sending translation for Spanish 2009-07-31 fab Sending translation for German 2009-07-31 Tim Waugh Create better ChangeLogs by omitting merge commit logs. * Makefile.am: Added "-- --no-merges" to the gitlog-to-changelog invocation. Updated British translation. update-po Fixed translatable string 'Revert portrait'. 2009-07-31 nagyesta Sending translation for Hungarian 2009-07-31 raven Sending translation for Polish 2009-07-30 raven Sending translation for Polish 2009-07-30 Tim Waugh update-po Switch to GtkBuilder instead of glade. * glade/*.glade: Renamed -> ui/*.ui and converted to GtkBuilder format. * glade.py: Renamed gui.py and adapted to use GtkBuilder. * Makefile.am, po/POTFILES.in: Updated. * jobviewer.py: Updated. Removed stale glade references. * options.py: Warn if ComboBox widget has no model. * optionwidgets.py: Removed stale glade reference. * system-config-printer.py: Updated. Remove stale glade references. Set ComboBox strings. Removed reference to deleted glade file. 2009-07-30 Till Kamppeter Let the checks for adding a device to a physicaldevice object parse HPLIP URIs correctly to extract the host name/IP from them Updated the "hp-info" call to check fax capability of an HP printer to work with HPLIP 3.9.6. Updated installation of the HPLIP plug-in to the needs of HPLIP 3.9.6. 2009-07-29 ccielogs Sending translation for Italian 2009-07-28 ccielogs Sending translation for Italian 2009-07-27 Tim Waugh Printer icon should not show 'printing' when job stopped. * jobviewer.py (JobViewer.job_event): Update job status after handling updated job data. Better method of determining current device URI. * system-config-printer.py (NewPrinterGUI.getDeviceURI): Use the notebook page number to decide whether we already have the device URI rather than having two lists of optionless backends. Don't give valid URIs for empty socket, lpd or smb URI types. 2009-07-27 Till Kamppeter Made the field for freely typing in an URI actually work. Made extracting make and model from the NickName of TurboPrint PPDs working again. 2009-07-26 charnik Sending translation for Greek Sending translation for Greek 2009-07-26 Till Kamppeter Use case-insensitive matching when cleaning up the PPD nick names to get the model names for the make/model/driver list. 2009-07-26 Tim Waugh Split out D-Bus system service for adding the printer. The udev rule now just invokes a program that simply gives the correct devpath to com.redhat.PrinterConfig.UsbPrinterAdd/Remove. The work of deciding whether to enable, disable or add the printer is done in the D-Bus system service by printer-config-daemon. Revert "Fixed file descriptor leak in udev-configure-printer." This reverts commit 7682b865c6a59be7ddf6cba32fe0380ab58c0d24. 2009-07-25 Tim Waugh Fixed file descriptor leak in udev-configure-printer. * udev/udev-configure-printer.c (read_usb_uri_map): Close the file descriptor. 2009-07-25 peterve Sending translation for Dutch 2009-07-24 Tim Waugh udev-configure-printer: fixed duplicate devpath check. * udev/udev-configure-printer.c (device_id_from_devpath): Fixed devpath check. Patch from Till Kamppeter. (device_id_from_devpath): Fixed memory leak. udev-add-printer: create fax queues using prefix of printer queue. * udev/udev-add-printer: Use the name of the printer queue as a prefix for the name of the fax queue. Fax PPDs have model names like "Fax" which is not specific to a particular model. Add a dash before the numeric suffix when making names unique. * system-config-printer.py (GUI.makeNameUnique): Add a dash before the numeric suffix. Notify the correct printer name in udev-add-printer. * udev/udev-add-printer (create_queue): Return unique name. (add_queue): Notify unique name. Fixed name uniqueness checking in udev-add-printer. * udev/udev-add-printer (create_queue): Printer names are not case-sensitive. Don't consider discovered queues as conflicting. (add_queue): Give printers list to create_queue, not just their names. udev-add-printer: don't require pycups 1.9.46 just yet. * udev/udev-add-printer (add_queue): Don't use include_schemes parameter if pycups doesn't yet support it. White-space change only. * udev/udev-configure-printer.c (do_add): Don't exceed 80 characters per line. Exit early in udev-configure-printer if device already mapped to URIs. * udev/udev-configure-printer.c (device-id_from_devpath): Scan map entries to see if this devpath has already been mapped to device URIs and exit if so. (find_matching_device_uris): No need to scan map entries here now. (do_add): Pass map pointer to device_id_from_devpath. Serialize CUPS-Get-Devices requests in udev-configure-printer. * udev/udev-configure-printer.c (do_add): Call fork() first, then lock the map file before discovering which device URIs correspond with this device. (find_matching_device_ids): New parameter 'map'. Patch from Till Kamppeter. Don't set USB configuration in udev-configure-printer. * udev/udev-configure-printer.c (device_id_from_devpath): Don't call usb_set_configuration. Patch from Till Kamppeter, explanation below: We cannot set (and also need not set) the configuration of the USB device. This conflicts with usb-storage if the printer contains a USB mass storage device like memory card readers. This made all photo inkjets not getting re-enabled as they have memory card readers for pc-less photo printing. Fixed missing loop variable initializations. * udev/udev-configure-printer.c (device_id_from_devpath): Set conf and iface to 0 each time round their respective loops. Patch from Till Kamppeter. 2009-07-23 Tim Waugh udev-configure-printer: make sure we don't configure the same printer twice. * udev/udev-configure-printer.c (find_matching_device_uris): If a devpath mapping was already made for this device, abort. udev-configure-printer: use '/' as delimiter when examining device URI. * udev/udev-configure-printer.c (find_matching_device_uris): Also use '/' as a delimiter when looking for the USB serial number in the device URI. udev-configure-printer: use USB serial numbers if present even if short. * udev/udev-configure-printer.c (find_matching_device_uris): Some USB serial numbers (e.g. HP Color LaserJet CM3530) are only 10 characters long. Use USB serial numbers if present, regardless of length. Enable/disable queues with paired device URIs in udev-configure-printer. * udev/udev-configure-printer.c (find_matching_device_uris): Use the exclude-schemes attribute instead of include-schemes so that we can look for paired device URIs, i.e. device URIs that are identical except for the scheme part. * udev/udev-add-printer (add_queue): We are given paired device URIs now so look for those ending in "fax" and just fetch Device IDs from them. udev-configure-printer: don't fork if DEBUG environment variable set. * udev/udev-configure-printer.c (do_add): Check DEBUG environment variable and don't fork if it is set. Fixed typo. * udev/udev-add-printer (create_queue): Fixed typo. udev-add-printer: don't add fax queue if already present. * udev/udev-add-printer (add_queue): Check whether this URI is present in the list of device URIs already assigned to queues. Better variable naming in udev-configure-printer. * udev/udev-configure-printer.c: Use 'usbserial' as the variable name for storing a USB serial number, not 'serial' which may be confused with the Device ID 'SERN' field. 2009-07-22 Tim Waugh Filter out device URIs not asked for in udev-configure-printer. * udev/udev-configure-printer.c (find_matching_device_uris): Filter returned device URIs in case the include-schemes attribute was ignored (as in CUPS prior to 1.4). Fixed incorrect free() in udev-configure-printer. * udev/udev-configure-printer.c (find_matching_device_uris): Avoid freeing memory we need to reference. Install udev rules in the right place. * Makefile.am: Don't use nobase_ prefix for udev rules rule. Bumped version for release. * configure.in: Version 1.1.10. Always ship udev/udev-add-printer. * Makefile.am: Explicitly ship udev/udev-add-printer as udevhelper_SCRIPTS will not be set unless configured with --with-udev-rules. update-po Bumped version for release. * configure.in: Version 1.1.9. Fixed Device ID matching for HPLIP PPDs. * cupshelpers/ppds.py (PPDs.getPPDNameFromDeviceID): Try using HP as an alias for Hewlett-Packard when looking up by ID. (_self_test): Fixed test case. Fixed tracebacks in cupshelpers.ppds test suite. * cupshelpers/ppds.py (_self_test): Fixed typo when using --help, and traceback when using --deviceid. Make udev rules dependent on --with-udev-rules configure option. * configure.in: New option --with-udev-rules, default=no. Make AM_PROG_CC_C_O conditional on it. * Makefile.am: Make udev-related rules conditional on it. udev-configure-printer: comments about usb-uris fields. udev-configure-printer: prefer the hp backend over the usb backend. * udev/udev-configure-printer.c (device_uri_types): Prefer the hp backend over the usb backend. The hpijs driver currently uses the hp backend to tell it whether to report low ink etc. Don't include the hpfax scheme as this will never match a USB device. udev-configure-printer: concatenate non-serial URIs onto serial URIs. * udev/udev-configure-printer.c (find_matching_device_uris): Concatenate device URIs that did not match by serial number onto the end of the list of device URIs that did. Fixed locking in udev-configure-printer. * udev/udev-configure-printer.c (struct usb_uri_map): Store the file descriptor for the file here. (add_usb_uri_mapping): Updated. (read_usb_uri_map): Open the file read-write, creating it if necessary. Set a write lock and keep the file open until write/free. Avoid stdio. (write_usb_uri_map): Rewind file and truncate it. (free_usb_uri_map): Updated. Close file descriptor if open. (find_matching_device_uris): Updated. (do_remove): Updated. Fixed udev-add-printer for multiple URI matches and fax queues. * udev/udev-add-printer (add_queue): Don't append "-fax" to fax queue name as the name is already derived from the fax-specific model name. Fixed parameters for add_queue call creating fax queue. Fixed D-Bus error logging. (top-level): Allow more than two arguments. 2009-07-21 Tim Waugh Fax support in udev-add-printer. HPLIP changes required. * udev/udev-configure-printer.c (do_add): Give the Device ID to udev-add-printer as its first argument and pass all device URIs as the following arguments. * udev/udev-add-printer (add_queue): Find device URI matching any we were given but with a URI scheme ending in "fax"; add fax queue if found. For this to work we need HPLIP to give a correct device-id during device discovery. Truncate the usb-uris when writing it in udev-configure-printer. * udev/udev-configure-printer.c (write_usb_uri_map): Use O_TRUNC. Small efficiency fix for udev-configure-printer. * udev/udev-configure-printer.c (find_matching_device_uris): Don't bother validating the USB serial number if we already matched the SERN fields. Fixed bad merge. Fixed hang on start-up when trying to resize the window. * system-config-printer.glade: Larger default height for main window, and start it hidden. * system-config-printer.py (GUI): Decide on a default size for the main window before showing it. udev-configure-printer: handle devices with no SERN Device ID field. * udev/udev-configure-printer.c (add_device_uri): New function. (read_usb_uri_map): Use it. (find_matching_device_uris): Likewise. (device_id_from_devpath): Fetch USB serial number. (do_add): Pass USB serial number to find_matching_device_uris. (find_matching_device_uris): Try to match SERN field values when present. Failing that, try to match USB serial number against device-id's SERN field. Failing that, look for USB serial number in device URI. If no device URIs match that way, use whatever device URIs matched the MFG and MDL fields. 2009-07-21 pingman Sending translation for Chinese (Simplified) 2009-07-21 Tim Waugh Lock the usb-uris file in udev-configure-printer. * udev/udev-configure-printer.c (read_usb_uri_map): Set a read lock on the file. (write_usb_uri_map): Set a write lock on the file. Fixed usb-uris parsing from doubling up newlines. * udev/udev-configure-printer.c (read_usb_uri_map): Use newline as a delimiter as well. (for_each_matching_queue): Compare the entire URI. Fixed usb-uris memory allocation error in udev-configure-printer. * udev/udev-configure-printer.c (read_usb_uri_map): Store a copy of each extra URI, not the pointer into the temporary buffer. Fixed incorrect usb-uris map lookup in udev-configure-printer. * udev/udev-configure-printer.c (do_remove): Use the correct list of device URIs (patch from Till Kamppeter). 2009-07-20 Tim Waugh udev-configure-printer: make it actually work. Now we have two ACTION=="add" triggers: one for the usb_device and one for the USB class driver (usblp) device. We need both of them because: * at least one, and soon two, of the CUPS backends will most likely unload the usblp module if it is loaded, in order to use libusb. This means that the usb_device is the only reliable object we can track to see when printers have been disconnected. * if the usblp module is already loaded, libusb won't work because usblp holds open the raw device. * the usblp module may be blacklisted altogether, as most printer device users use libusb now. We have a single ACTION=="remove" trigger for the usb_device. On "add" we obtain the Device ID by fair means or foul, depending on whether the usblp module is loaded. We match this against devices reported by CUPS using the device-id attribute, and keep a note of this mapping of USB devpath to device URIs. Note that if we fail to contact CUPS we just exit -- the idea is that the CUPS initscript will replay the udev events after cupsd is started. Next, we examine the existing CUPS queues to see if any of them use any of the device URIs associated with our device. If so, and they are disabled, and we'd disabled them, we enable them. If no queues match, we invoke udev-add-printer to create a queue. On "remove" we look up the list of device URIs associated with our USB devpath, then examine the existing CUPS queues to see if any of them use it. If so they are disabled. A walk in the park. (I know which I'd prefer.) 2009-07-19 Tim Waugh More error-checking and logging in udev-configure-printer. * udev/udev-configure-printer.c (device_id_from_devpath): Check for missing sysattrs. (do_add): Show invalid IEEE 1284 Device ID if available. udev-configure-printer: quote device URIs in REMOTE_CMD. * udev/udev-configure-printer.c (do_add): Put the device URIs in single-quotes when exporting REMOTE_CMD (patch from Till Kamppeter). udev-configure-printer: use libusb to look up IEEE 1284 Device ID. * udev/udev-configure-printer.c (device_id_from_devpath): Use libusb to look up IEEE 1284 Device ID. 2009-07-18 Tim Waugh udev-add-printer: fixed indentation. udev-configure-printer: choose which URI to use. udev-configure-printer: there may be more than one matching device URI. * udev/udev-configure-printer.c (free_device_uris): New function. (find_matching_device_uris): Renamed. Take a device_uris list. Allow hp and hpfax URI schemes. Compare using device-id attribute. (for_each_matching_queue): Take a device_uris list. (do_add): Updated. (do_remove): Updated. (main): Updated. Fixed compiler warnings. * Makefile.am: Compile with -Wall. * udev/udev-configure-printer.c: Fixed several bugs found by compiler warnings. udev-configure-printer: only re-enable printers we disabled. * udev/udev-configure-printer.c (for_each_matching_queue): Fetch printer-state-message attribute and compare with our 'unplugged' reason text if we're matching against disabled printers. Don't fork too soon in udev-configure-printer. * udev/udev-configure-printer.c (main): Moved fork code... (do_add): ...here, so that our REMOVE_CMD line gets to udev. 2009-07-17 Tim Waugh New udev-add-printer script for the udev callout. * udev/udev-add-printer: New file. * Makefile.am: Ship it and install it. udev-configure-printer: Call udev-add-printer to add a queue. udev-configure-printer: enable/disable matching queues. udev-configure-printer: identify existing queue. IEEE 1284 Device ID matching for udev-configure-printer. Ship and install a udev rules file. * udev/70-printer.rules: New file. * Makefile.am: Ship and install it. Start using libudev in udev-configure-printer. Fixed udev-configure-printer's REMOVE_CMD string. udev-configure-printer: CUPS connection, with retries. .gitignore: ignore files due to compilation. udev-configure-printer: syslogging and a bit more structure. 2009-07-16 Tim Waugh File structure for new udev-based queue configuration system. * udev/udev-configure-printer.c: New file. * Makefile.am: Build and install it. * configure.in: Added AM_PROG_CC_C_O. * aclocal.m4: Updated. 2009-07-15 angrox Sending translation for German 2009-07-15 Tim Waugh 75% speed improvement in ppdMakeModelSplit(). There is no need to use expensive regular expressions here. In profiling I measured a single cupshelpers.PPDs() operation as spending 3.933s in ppdMakeModelSplit(). After removing the vast majority of regular expression uses this was reduced to 0.984s. I hope that the new code handles all real world cases identically. Please submit test cases for any that have broken. 2009-07-15 igor Sending translation for Brazilian Portuguese 2009-07-15 Tim Waugh Don't reload all PPDs if the query has already finished. Small speed-up (0.09s) for the case where jockey is not present. Avoid reloading all PPDs when calls to jockey fail. Drop libsexy support in favour of GTK+ 2.17's equivalent (bug #509299). Fixed incorrect "printer not shared on server" message (bug #511407). * troubleshoot/NetworkCUPSPrinterShared.py (NetworkCUPSPrinterShared.display): Avoid cups.setServer/setPort. * troubleshoot/CheckNetworkServerSanity.py (CheckNetworkServerSanity.display): Avoid cups.setServer/setPort. Fetch the attributes for the correct remote queue (bug #511407). 2009-07-15 beckerde Sending translation for Spanish Sending translation for Spanish 2009-07-14 Tim Waugh Efficiency and readability improvements in PPDs Device ID matcher. * cupshelpers/ppds.py (PPDs.getPPDNameFromDeviceID): Efficiency improvements and more comments. Fixed --debug option for PPDs self-test function. * cupshelpers/ppds.py (_self_test): Fixed --debug option. Efficiency fixes for PPDs Device ID matching. * cupshelpers/ppds.py (PPDs.getPPDNameFromDeviceID): Don't recompute case-insensitive strings unnecessarily. Added PIXMA comment to test suite. * cupshelpers/ppds.py (_self_test): Note which driver provides support for the Canon PIXMA iP3000. 2009-07-14 Till Kamppeter Improved matching of printer model names: Check case-independently when removing manufacturer names from model names, remove expressions in parantheses ("(...)") from the model name, do not add "HP" as manufacturer name when "edgeline" is somewhere in the middle of the model name, only if it is in the beginning. 2009-07-14 anipeter Sending translation for Malayalam 2009-07-12 raven Sending translation for Polish Sending translation for Polish 2009-07-12 kmilos Sending translation for po/sr@latin.po Sending translation for Serbian 2009-07-12 kristho Sending translation for Danish 2009-07-11 Tim Waugh Removed IPP browser (trac #178). There is no point in having the IPP browser. It only works for CUPS, and CUPS has its own browsing mechanism. Check exit codes for child processes. * system-config-printer.py (NewPrinterGUI.install_hplip_plugin): Check returncode of child process. (NewPrinterGUI.get_hplip_uri_for_network_printer): Likewise. (NewPrinterGUI.getNetworkPrinterMakeModel): Likewise. * probe_printer.py (PrinterFinder._probe_snmp): Likewise. (PrinterFinder._probe_hplip): Likewise. Updated British translation. Updated British translation. update-po New aclocal.m4 from autoconf 1.11. update-po Don't mention the job number in completed jobs notification (trac #170). * jobviewer.py (JobViewer.notify_completed_job): No need to mention the job number in "document printed" notification (trac 2009-07-10 Tim Waugh Don't run Properties dialog on new printer (trac #170). * applet.py (NewPrinterNotification.NewPrinter): Don't run the Properties dialog when notifications actions are not supported (trac #170). Make sure to URL-encode usernames and passwords correctly (bug #509588). * smburi.py (_urlquote): New function for URL-encoding strings. URL-encode "/", "@" and ":" characters as well. (SMBURI._construct): Use it (bug #509588). Fixed initial radio button selection for SMB authentication. * system-config-printer.py (NewPrinterGUI.init): When changing a device URI for the smb backend, start with 'prompt user if authentication is required' selected. Avoid possible traceback when receiving printer-added-events. * system-config-printer.py (GUI.printer_event): Avoid possible traceback when receiving printer-added events. 2009-07-07 Tim Waugh Fixed UI oddities when changing PPD/device (trac #143). * system-config-printer.py (GUI.setDataButtonState): Don't allow the 'Change...' buttons for PPD or device to be clicked if doing so would lose changes (trac #143). (NewPrinterGUI.on_btnNPApply_clicked): Select 'Settings' in the printer properties treeview after PPD or device is changed (trac Always update the jobviewer status icon on job events (trac #174). * jobviewer.py (JobViewer.job_event): Always update the icon status, not when the active jobs list changes between empty and non-empty (trac #174). 2009-07-07 swkothar Sending translation for Gujarati 2009-07-06 Tim Waugh Don't use hard-coded "python" program name in Makefile. * Makefile.am: Use "$(PYTHON)" instead of "python" throughout. 2009-07-06 ruigo Sending translation for Portuguese 2009-07-04 igor Sending translation for Brazilian Portuguese 2009-07-03 Tim Waugh Use gpk-install-package-name to install packages, not the PK D-Bus API. * installpackage.py: Don't use the D-Bus API as it changes too often and is now too low-level. Instead, try to execute gpk-install-package-name. Map gutenprint filenames to the package name. * cupshelpers/cupshelpers.py (missingPackagesAndExecutables.pathcheck): Map gutenprint filenames to the package name. Spot stopped jobs with CUPS 1.4 as well (trac #177). * jobviewer.py (JobViewer.job_event): CUPS 1.4 no longer emits a job-stopped event, so look for job-state-changed where the job-state is IPP_JOB_STOPPED (trac #177). 2009-07-01 Tim Waugh Another fix for selecting an added printer (trac #145). * system-config-printer.py (NewPrinterGUI.on_btnNPApply_clicked): After adding a printer, make sure only that printer is selected. Don't just add it to the pre-existing selection. 2009-06-30 Tim Waugh Small fix for class members arrows: always de-sensitise buttons after use. * system-config-printer.py (NewPrinterGUI.on_btnNCAddMember_clicked, NewPrinterGUI.on_btnNCDelMember_clicked): Always set the button insensitive after use. 2009-06-30 Jiri Popelka Arrows for adding and removing class members are sensitive only if something is selected. 2009-06-25 Tim Waugh Fixed incorrect authentication in the troubleshooter (bug #508102). * authconn.py (Connection._show_not_authorized_dialog): Actually put the dialog on the screen (bug #508102). 2009-06-24 Tim Waugh Prevent traceback on IPP notification after properties dialog cancelled. * system-config-printer.py (GUI.printer_properties_response): Don't delete self.printer here as we check it later. Instead, set it to None. Fixes a traceback when an IPP notification is received after a printer properties dialog has been cancelled. Make sure we find https URIs from https backend (bug #507628). * system-config-printer.py (NewPrinterGUI.browse_ipp_queues_thread): Always encrypt when browsing for https IPP queues. (NewPrinterGUI.on_btnIPPBrowseOk_clicked): Override printer-uri-supported for browsed queues that use the https scheme (bug #507628). 2009-06-23 Tim Waugh Avoid non-fatal traceback when adding IPP printer (bug #507629). * system-config-printer.py (NewPrinterGUI.nextNPTab): Don't log non-fatal traceback messages if we cannot connect to the IPP printer (bug #507629). Parse nmblookup failures correctly in troubleshooter (from bug #507442). * troubleshoot/CheckPrinterSanity.py (CheckPrinterSanity.display): Parse nmblookup failures correctly (from bug #507442). 2009-06-22 Tim Waugh Avoid traceback when adding new printer. * system-config-printer.py (NewPrinterGUI.on_btnNPApply_clicked): We need to load the printer's information here, as we use it later on. 2009-06-20 kristho Sending translation for Danish 2009-06-20 xconde Sending translation for Catalan 2009-06-19 Tim Waugh Use git commit logs to generate the ChangeLog file. * ChangeLog: Renamed ChangeLog-OLD. * gitlog-to-changelog: New build tool from gnulib for generating ChangeLog from git commit logs. * Makefile.am: Generate ChangeLog in dist-hook. Ship ChangeLog-OLD. * bootstrap: Create dummy ChangeLog to keep automake happy. * .gitignore: Ignore dummy ChangeLog. Fixed 'location' field for printers added remotely. * system-config-printer.py (NewPrinterGUI.on_tvNPDeviceURIs_cursor_changed): Set the location to the hostname of the server we are connected to, not necessarily our own hostname. 2009-06-19 Till Kamppeter Support for HPLIP 3.9.6. 2009-06-18 raven Sending translation for Polish Sending translation for Polish 2009-06-18 Tim Waugh Bumped version for release. Updated aclocal.m4. Updated aclocal.m4. update-po update-po Make troubleshooter work again by disabling cupspk for it. * authconn.py (Connection._connect): The cupspk module needs to be fixed so that it works correctly from a non-UI thread. Until then, avoid using cupspk.Connection in that situation. 2009-06-18 Tim Waugh Make 'make distcheck' succeed again. * cupshelpers/ppds.py (_self_test): Show the ppd-make-and-model on failure. (_self_test): Updated some HPLIP test cases as newer versions of HPLIP give different results. 2009-06-18 beckerde Sending translation for Spanish Sending translation for Spanish 2009-06-17 Tim Waugh Updated British translation. Updated British translation. update-po update-po Mark 'Advanced...' as translatable in Server Settings dialog (bug #505785). Select a newly-added printer (trac #145). * system-config-printer.py (NewPrinterGUI.on_btnNPApply_clicked): Select a newly-added printer (trac #145). Make sure the job context menu cannot get out of date (trac #175). * jobviewer.py (JobViewer.__init__): Handle 'row-changed' signal from the TreeStore. (JobViewer.on_treemodel_row_changed): Make sure the context menu gets updated (trac #175). Removed some stale code in cupshelpers. * cupshelpers/cupshelpers.py (Printer.getAttributes): Removed some stale code. Track printer state changes for the printer context menu (trac #172). * system-config-printer.py (GUI.printer_event): Update printer context menu when a printer event is seen (trac #172). Fixed conversion from broken-down UTC time to simple UNIX time for held jobs. * jobviewer.py (JobViewer.update_job): Fixed conversion from broken-down UTC time to simple UNIX time for held jobs. Use grey ink-drop when there is no marker-colors value (bug #505399). * gtkinklevel.py (GtkInkLevel.__init__): Use grey ink-drop when there is no marker-colors value (bug #505399). 2009-06-11 kristho Sending translation for Danish 2009-06-10 Tim Waugh Scroll to new job if it was added just above the visible range. * jobviewer.py (JobViewer.add_job): Scroll to new job if it was added just above the visible range. 2009-06-08 fab Sending translation for German 2009-05-25 mrtom Sending translation for French Sending translation for French 2009-05-20 mrtom Sending translation for French Sending translation for French 2009-05-18 ruigo Sending translation for Portuguese 2009-05-15 kristho Sending translation for Danish 2009-05-13 Till Kamppeter Reconnect to CUPS if the connection gets lost during the installation of a driver from OpenPrinting. 2009-05-12 charnik Sending translation for Greek 2009-05-12 Tim Waugh Clean up temporary PPD files when we're finished with them (bug #498743). * system-config-printer.py (GUI.printer_properties_response): Delete printer object when we're finished with it. (GUI.on_quit_activate): Delete printer lists before exiting. This allows the appropriate __del__ functions to clean up temporary files (bug #498743). 2009-05-12 andrmart Sending translation for Norwegian Nynorsk Sending translation for Russian Sending translation for Norwegian Nynorsk 2009-05-12 willwill Sending translation for Thai 2009-05-11 willwill Sending translation for Thai Sending translation for Thai Sending translation for Thai 2009-05-07 beckerde Sending translation for Spanish 2009-05-05 anipeter Sending translation for Malayalam 2009-05-05 Tim Waugh Fixed XmlHelper crash on invalid XML file (Ubuntu #370469). * XmlHelper.py (XmlHelper.__init__): Initialise the in-memory XML representation to an empty document, not None (Ubuntu #370469).