- refresh the symbolic icons to sync some style changes and update the source sheet
- rename assets for the privacy subpanel's symbolic icons
- delete deprecated/unused symbolic icons
- add new icon for system panel
- add new icon for remote desktop so it isn't using displays icons
Using `g_clear_handle_id()` in combination with `g_source_remove()` can
save a lot of boiler plate code.
This removes about 110 lines of code for free.
A period at the end of a string in pp-jobs-dialog.ui was removed in
!2231, but the actual translatable string in pp-jobs-dialog.c was not
modified.
This does that.
This commit adds the "mnemonic-widget" property to some of the labels in
the `CcPrinterEntry` template. One of the advantages is that this also
automatically adds a "labelled-by" a11y relationship between them.
- Use the up-to-date style for symbolics (2px outline). Notifications, Printers and Info/About
work fine as outlines.
- filled silouehette symbolic are only to be used where a 2px outline is impossible
to cram to 16x16px canvas.
The worst-case size of the normalized printer name is twice the
original length (if a space is inserted between each character) plus one
byte for the terminating null byte.
Fixes#2619
Signed-off-by: Tobias Wiese <tobias@tobiaswiese.com>
Meson extracts them by itself and add them as dependencies for the target.
It means one less location to keep track of files, and a lot less boilerplate
around the meson files
AdwBanner is a new adaptive widget that replaces GtkInfoBar.
AdwBanner adapts better to mobile sizes and has an API
that fits with how we use infobars.
This commit changes CcPermissionInfobar to use an AdwBanner
internally instead of a GtkInfoBar. It also re-implements
part of GtkLockButton, as AdwBanner does not support adding
arbitrary widgets.
The current usage of CUPS IPP API does not work for temporary queues, because the g-c-c sends the request without creating a local printer first, so the request is sent to non-existing printer.
If you use the destination from cupsGetNamedDest() for printing, CUPS library does the local printer creation internally and printing test page will work even for temporary queues.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2148481
GtkStyleContext will be deprecated in gtk 4.10.
https://docs.gtk.org/gtk4/class.StyleContext.html
This preserves code blocks where additional GtkStyleContext operations
were used, such as gtk_style_context_save/restore.
For when we show the "No Printers Found" page.
This has no impact but allow us to be consistent with the empty-state
styling as it changes and evolves in AdwStatusPage.
Fixes#2197
The empty state of the printer panel is not consistent with other panels
of the GNOME Settings app.
There are two empty states, either the system cannot connect to the
printer service or there are no printers registered yet.
To fix this issue, AdwStatusPage has been introduced for both cases,
which takes care of the layout and reduces the amount of code needed to
create these two pages. With this change, both empty states of the
printer panel have the same look as other panels in their empty state.
The `X-GNOME-Bugzilla-*` entries were for use by bug-buddy, a GNOME 2
technology that's been gone for over a decade. These entries are
obsolete and can be removed from all desktop files.
The `X-GNOME-Settings-Panel` entry is also obsolete as far as I can
tell and only these panels had it in their desktop file: notifications,
sharing, sound and user-accounts. These entries can also be removed.
After removing the `X-GNOME-Bugzilla-*` entries, the desktop files have
no more variables in them. The meson `configure_file` step is therefor
pointless—there are no variables to configure. As such the
`*.desktop.in.in` files are renamed to `*.desktop.in` to reflect this
and `meson.build` files are modified to remove `configure_file` step.
Change the add printer button text, from the empty state section, to "Add Printer..."
(previously was "Add a Printer...") so it gets consistent with the add printer button
from the headerbar (in Printers panel) and with other buttons in Settings that end with
ellipsis, such as the "Add Picture..." from the Appearance panel, which doesn't have the
article also.
Check whether the currently removed printer was last. Also
check whether there are other printer being removed by CUPS
right now (their amount is still part of self->num_dests).
Do this check also in actualize_printers_list_cb() to catch
corner cases from timing point of view. This will handle them
with some delay if they show up.
When undone, just check whether the number of printers is higher
than 0 and show the printers-list page.
Fixes#2023
This is detectable with -Wincompatible-pointer-types and warns with
[1/7] Compiling C object panels/printers/libprinters.a.p/cc-printers-panel.c.o
../panels/printers/cc-printers-panel.c: In function ‘cc_printers_panel_init’:
../panels/printers/cc-printers-panel.c:1228:59: warning: passing argument 3 of ‘gtk_builder_add_objects_from_resource’ from incompatible pointer type [-Wincompatible-pointer-types]
1228 | objects, &error);
| ^~~~~~~
| |
| gchar ** {aka char **}
In file included from /usr/include/gtk-4.0/gtk/gtkbuildable.h:26,
from /usr/include/gtk-4.0/gtk/gtk.h:56,
from /usr/local/include/libadwaita-1/adwaita.h:9,
from ../shell/cc-panel.h:25,
from ../panels/printers/cc-printers-panel.h:21,
from ../panels/printers/cc-printers-panel.c:23:
/usr/include/gtk-4.0/gtk/gtkbuilder.h:122:66: note: expected ‘const char **’ but argument is of type ‘gchar **’ {aka ‘char **’}
122 | const char **object_ids,
| ~~~~~~~~~~~~~~~^~~~~~~~~~
[7/7] Linking target tests/network/test-wifi-panel-text
As described in #1976, the printers panel shows two Add Printer buttons when the
printers list is empty. Adds a check that sets the Add Printer button in the toolbar
to be invisible when the empty-state page is shown (and thus the other Add Printer
button is visible), creating a less confusing UI.
Closes#1976