Don't hide address entry when there is not firewalld available.
It is still possible that firewall is set up correctly and user
should be able to enter address of his network printer and
install it (rhbz #743694).
The lower-cased string needs to be checked against a lower-case
string, or it's never going to match (found by Bastien Nocera in
gnome-settings-daemon).
If available, use DBus method MissingExecutables which finds executables
needed by new printer. This method is available in system-config-printer
since version 1.3.5 (#654742). User is offered installation of packages
containing those missing executables then.
If available, use DBus method GroupPhysicalDevices which removes duplicates
from list of found devices. This method is available in system-config-printer
since version 1.3.5 (#654742).
If available, use DBus method GetBestDriver which determines the best PPD file
for the given printer. This method is available in system-config-printer
since version 1.3.5 (#654742).
This commit enables services mdns, ipp, ipp-client and samba-client on
firewall for 5 minutes for detection of network printers (#648784).
It enables required services permanently for printers selected by user
for addition then. It shows a notification for the permanent enable.
It uses firewalld, so if it is not installed or running it shows a warning
message to the user in the place where discovered printers will be shown
(both local and network). The warning disappears after the finish of
printers discovery (but not from network part if no printer was found).
Search for printers on address given by user using CUPS's SNMP backend.
This modification typically finds network printers publishing themselves
on port 9100.
Check successful installation of new printer by search
in list of destinations given by CUPS. Add index to the end
of name of new printer if the name is already used.
Pass a GCancellable object to g_dbus_proxy_call() for DevicesGet
method. This assures that g-c-c won't crash when user cancels addition
of new printer before the call is finished (rhbz#691931).
This patch makes PpNewPrinterDialog to call DevicesGet method
asynchronously now.
It also adds spinner to the lower left corner with label showing
status of this operation (#644212).
The dialog is able to add printers discovered by cupsGetDevices().
It can also add printers from a remote CUPS server by typing
its address and selecting printer we want to add (#640734).