Currently when you rename a printer through the print details page
there is no indication of errors produced by CUPS, most notable
about any invalid characters used. Adds a function to check
for invalid characters and shows a warning to users. No
attempt will be made to rename the printer if it contains an
invalid character. Users are currently shown an elevation prompt
before this fix
https://www.cups.org/doc/man-lpstat.html
Partially addresses #1008
Fortunately for us GtkTreeView still operates pretty
much exactly like in GTK3. Other than that, it's a
dense junction of all that we've done so far to port
other panels.
Goal of this commit is to not overwhelm UI when a lot of printers is added
to CUPS. You can reproduce this situation when you add e.g. 30 printers using
lpadmin. Th UI stops to respond for some time.
To do so, the printer entries are not deleted every time there is a request
for updating of the list of printers but only new printer entries are added
and printer entries of deleted printers are removed. Other printer
entries are just updated by new method pp_printer_entry_update().
Which, by the way, is almost whole taken from pp_printer_entry_new().
This needed to add sort function for the list of printer entries. It sorts
printers according to their names not taking case into account.
In the similar manner, the filter function was extended to not show printers
which are being deleted. This needs a list of names of deleted printers
which we keep until they are really deleted.
One important thing here is the "reference" object which points to the panel
itself via its "self" key. We pass this object to the pp_printer_delete_async()'s
callback so it knows whether it can remove the printer's name from the list
of deleted printers (once the panel is being destroyed it clears the key itself).
Add action "show-jobs" to printers panel which
gets printer name as a parameter and shows user
jobs dialog.
Syntax for trigerring this action looks like:
"gnome-control-center printers show-jobs my-local-printer".
https://bugzilla.gnome.org/show_bug.cgi?id=758170
This commit adds method for triggerring of authentication of print jobs
to PpPrinterEntry. This is needed for asking for authentication of jobs
of a printer from the main panel.
https://bugzilla.gnome.org/show_bug.cgi?id=758170
During the time it took to rename a printer asynchronously, we had
cases where two entries were shown for the same printer: one with
the old name and another with a new name.
Now we signal from DetailsDialog to the given PrinterEntry which
passes it along to the main panel object. The CcPrintersPanel object
blacklists the renamed printer old name.
https://bugzilla.gnome.org/show_bug.cgi?id=790361
We were checking for the ink supply level at the callback of the
supply bar "draw" signal. This way we were making the the widget
visible, causing it to allocate vertical space even when it isn't
desired.
Now we check for the supply level before setting the visiblity of
the supply level widget.
https://bugzilla.gnome.org/show_bug.cgi?id=790667
We just present the printer "Model" when printer_make_and_model
is different than NULL OR not an empty string.
We were using the wrong logic operator in the conditional that
toggles the visibility of this info.
Instead of directly applying the deletion of a printer, we should
follow the GNOME in-app notification deletion guidelines.
This patch introduces the in-app notification following the HIG[0]
for the deletion of a printer. It allows to "undo" the deletion.
The default behavior for these notification is to dismiss a previous
notification. In doing so, when deleting multiple printers, the
"Undo" button only restores the last deleted one. We don't do batch/
bulk removal in the printers panel.
[0] https://developer.gnome.org/hig/stable/in-app-notifications.html.enhttps://bugzilla.gnome.org/show_bug.cgi?id=693187
Due to the recent changes towards the new design, it became slightly
harder to find a printer given a long list of entries.
This patch introduces search capabilities to the panel, filtering
based on the printer name.
https://bugzilla.gnome.org/show_bug.cgi?id=779656
Add an extra button "Clean Print Heads" that will be shown when the relevant
maintenance command is available for a printer, to bring this feature back.
Additionally, this commit adds a 'parameters' attribute to PpMaintenanceCommand,
which is needed as the "Clean" command requires to at least be passed "all" as
its single parameter: https://www.cups.org/doc/spec-command.html#Cleanhttps://bugzilla.gnome.org/show_bug.cgi?id=764620
The previous implementation of the panel was unable to individually
update a PpPrinterEntry jobs count and its PpJobsDialog.
These changes make the job notifications trigger updates in the
PpPrinterEntry UIs, keeping track of job events on the go.
https://bugzilla.gnome.org/show_bug.cgi?id=779079
This dialog handles the editing of printer properties such as
name, location, automatic discovery of driver, manual selection
of printer driver, and manual selection of ppd file.
https://bugzilla.gnome.org/show_bug.cgi?id=767600
This commit introduces the following regressions:
- no possibility of renaming properties such as printer names,
location, or changing model/driver. This issue is going to be
solved nextly by the introduction of the PpDetailsDialog.
https://bugzilla.gnome.org/show_bug.cgi?id=767600