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
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
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
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
This patch introduces a change to the Lock/Unlock logic. From now
on, unlocking the panel causes the "Lock" button to turn into the
"Add Printer" button.
https://bugzilla.gnome.org/show_bug.cgi?id=767600
Instead of having the empty-state and no-cups-page states displayed
as tabs of the printer notebook, go for panel-wide pages, which
better highlight these states and doesn't unnecessarily shows the
empty printers list.
This change is also part of the effort of the panel redesign,
according to the mockups at
https://wiki.gnome.org/Design/SystemSettings/Printershttps://bugzilla.gnome.org/show_bug.cgi?id=767600
If you don't have any printers, the panel used to look rather bare.
There was also a "No printers available" label, which was confusing,
and the insensitive list might be hard to understand.
https://bugzilla.gnome.org/show_bug.cgi?id=690351
Place a custom GtkLabel with name of printer model
into "printer-model-button". This is needed for us to be
able to align the text and keep the button filling all available
horizontal space.
https://bugzilla.gnome.org/show_bug.cgi?id=739737
Search for samba printers on local network or on specified
host. The new printer dialog asks for password for a samba
server if it is needed for listing printers on it. User is
asked for selection of driver from local database during
addition of new samba printer.
https://bugzilla.gnome.org/show_bug.cgi?id=683229
Change icon of default printer from emblem-default-symbolic
to object-select-symbolic. Make it follow the state of the cell
in which it is placed.
https://bugzilla.gnome.org/show_bug.cgi?id=690444
Control acceptance of jobs by selected printer together
with switch which controls whether printer is enabled/disabled.
Use word "Stopped" instead of "Paused" for disabled printers.
Show state "Does not accept jobs" if printer is enabled but doesn't
accept jobs.
https://bugzilla.gnome.org/show_bug.cgi?id=678668
This makes loading faster, with less I/O, avoids unnecessary
code duplication (around 1k lines shaved), and ensures that
all the panels link and work appropriately.
By the same token, it will stop external panels from being
created, and loaded.
https://bugzilla.gnome.org/show_bug.cgi?id=690036
This commit implements design changes from
https://live.gnome.org/Design/SystemSettings/Printers.
The new printer dialog gets informations about connected devices
from CUPS server asynchronously and separately for each backend now.
Entering an address into the entry and pressing the icon inside
the entry or enter starts to detect printers on the entered host.
Entering a text which is a substring of a name of a device or its location
filters the list to contain just devicess with the string in it (e.g. Canon
will keep devices with "Canon" in their name).
The PpNewPrinterDialog is regular object now. It emits signal "pre-response"
when dialog is closed and a printer is being added and signal "response" when
the new printer was added, addition of the new printer failed or the dialog was
cancelled.
This commit removes FirewallD support from new printer dialog. (#683229)