Fix a user-after-free while testing the connectivity to a cups
server. This is similar to the fix in commit 1d72a0b.
This is an addition to the changes introduced in commit 2ff5cfd
which allowed the connection testing to be cancellable.
Fixes#51
Fixes https://bugzilla.gnome.org/794632
This commit removes focusing of widgets in authentication dialog
which could happen when user traverses Jobs dialog via Tab key
if there are some jobs which need authentication.
Lets rely on standard focus chain.
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
Request width of 720 pixels for jobs dialog and
constrain maximal number of character in displayed
jobs titles to 40 chars. Ellipsize at the end
if the job title is longer.
https://bugzilla.gnome.org/show_bug.cgi?id=758170
Add action "authenticate-jobs" to printers panel which
gets printer name as a parameter and asks user for
credentials.
Syntax for trigerring this action looks like:
"gnome-control-center printers authenticate-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
This commit adds popup dialog to jobs dialog which can be accessed
if there is a print job which needs authentication.
Clicking "Authenticate" button will reveal this dialog
where user can enter credential info for the actual printer
and clicking the "Authenticate" in it will authenticate all
print jobs of this printer which needs authentication info
and will send them for printing.
https://bugzilla.gnome.org/show_bug.cgi?id=758170
Get "job-hold-until" attribute when getting list of jobs. If it has value
"auth-info-required" then get "auth-info-required" attribute of the printer
and store it in PpJob's "auth-info-required" property.
https://bugzilla.gnome.org/show_bug.cgi?id=758170
Add pp_job_authenticate_async() and pp_job_authenticate_finish()
methods for authentication of PpJob.
This commit also adds "auth-info-required" property to PpJob
https://bugzilla.gnome.org/show_bug.cgi?id=758170
Currently gnome-control-center could crash whenever a connection
test is interrupted by the disposal of the Printers panel.
Searching in the g-c-c shell for any query that could match the
Printers panel would instantiate the CcPrintersPanel class. Since
we perform a connection test to the printing server as soon as this
object is created, a fast disposal of the panel (by choosing another
search result) would cause the whole application to crash.
https://bugzilla.gnome.org/show_bug.cgi?id=792753
There's no reason to "Unlock" the panel and/or "Add" a new printer
if there's no printer server available.
This patch sets the visibility of the "headerbar-buttons" based on
whether the current visible stack page in the panel is the
"no-cups-page".
https://bugzilla.gnome.org/show_bug.cgi?id=778599
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
Recent versions of Gettext are able to translate several formats
that are used in GNOME applications. This patch migrates from
Intltool to Gettext by using meson's i18n features.
https://bugzilla.gnome.org/show_bug.cgi?id=787588
With the old shell gone, there is no need to work around cut off panel
names (bug #647087). As it stands now, it only confuses translators
(invisible characters are hard to, well, see).
https://bugzilla.gnome.org/show_bug.cgi?id=792629
Meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=785414
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
Since the main control-center window can now be resized, there's
no reason for us to constrain the printer name and location labels
from expanding horizontally.
https://bugzilla.gnome.org/show_bug.cgi?id=790665
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