This changes are necessary because we don't require cups >= 1.4,
due to downstreams still shipping old cups versions.
The IPP_STATE_IDLE symbol has been introduced in cups 1.7. The
IPP_IDLE constant has been deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=789397
In order to vertically align the printers panel content by the
same standards as the other panels, we should set the GtkListBox
top and bottom margins to 32px.
This commit wraps GtkListBox inside a GtkBox to handle the Gtk+
issues discussed in Bug 773459 regarding the background of ListBox
margins.
This commit can be cleanly reverted once the issue is fixed in
Gtk+.
https://bugzilla.gnome.org/show_bug.cgi?id=786384
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.
This was causing a segfault when the user clicks the cancel button
on add new printer dialog (in case when no printers are listed, and no
printers are added).
output from sanitizer:
==22669==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fe1c7a4d409 bp 0x7ffd179f6410 sp 0x7ffd179f6410 T0)
#0 0x7fe1c7a4d408 in g_str_hash /home/sadiq/jhbuild/checkout/glib/glib/ghash.c:1882
#1 0x7fe1c7a4c814 in g_hash_table_lookup_node /home/sadiq/jhbuild/checkout/glib/glib/ghash.c:379
#2 0x7fe1c7a4c814 in g_hash_table_lookup /home/sadiq/jhbuild/checkout/glib/glib/ghash.c:1153
#3 0x55cef023a121 in new_printer_dialog_response_cb /home/sadiq/jhbuild/checkout/gnome-control-center/panels/printers/cc-printers-panel.c:914
https://bugzilla.gnome.org/show_bug.cgi?id=783406
For an infinitesimal amount of time after opening the options dialog, a
spinner is displayed at the start of the action area while the dialog
loads asynchronously. Display the spinner in the center of the dialog
instead, using a GtkStack to switch between spinner mode and normal
mode. Test by removing the calls to printer_get_ppd_async(),
get_named_dest_async(), and get_ipp_attributes_async() from the bottom
of populate_options().
Why? (1) It looks better this way. (2) Need to stop using the action
area in order to switch to a header bar.
https://bugzilla.gnome.org/show_bug.cgi?id=755713https://bugzilla.gnome.org/show_bug.cgi?id=779708
In scenarios with a long list of printers, it might be difficult
to find a newly added printer.
This patch make the view scroll to the allocated position of the
printer entry.
https://bugzilla.gnome.org/show_bug.cgi?id=779506
The select_new_printer property used to be an indicator whether
the view should change to present the newly added printer.
With the Printers presented as a list in the new design, there's
no need for this flag.
https://bugzilla.gnome.org/show_bug.cgi?id=779506
Dismisses the Printer removal notification after 10 seconds,
removing the printer permanently.
The 10 seconds value is taken from the online-accounts panel.
https://bugzilla.gnome.org/show_bug.cgi?id=693187
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
In the Printers panel, the model label of a given printer
may be a long string, specially when it's composed of the
versioning and specifics of the printer.
Because the model label doesn't ellipsize, we may have very
long labels, making the entire Control Center very wide and
unresizeable.
Fix that by making the model label ellipsize.
https://bugzilla.gnome.org/show_bug.cgi?id=779376
We were actualizing the whole printers collection everytime
something should change.
These patch introduces a HashTable keyed by the unique printer.name,
which allows us to access individual instances of PpPrinterEntry.
https://bugzilla.gnome.org/show_bug.cgi?id=779079
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
Long location names were causing the whole dialog to expand
horizontally.
This patch ellipsizes the "location" string just like the
other fields of a printer entry.
https://bugzilla.gnome.org/show_bug.cgi?id=779071
pp_printer_rename_async is better than the old printer_rename
utility.
The PpDetailsDialog doesn't need to do anything in the callback
since we are emiting the "printer-changed" signal when the dialog
is closed.
https://bugzilla.gnome.org/show_bug.cgi?id=769114
Since we are already applying the changing in the PpDetailsDialog
when it gets closed, there's no need to apply these changes in
the focus-out-event of its respective GtkEntries.
https://bugzilla.gnome.org/show_bug.cgi?id=769114
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