Considering the retirement of Mozilla Location Service, most
laptop/desktop users will rely on weaker network based location
sources.
Let's make the Location settings a build option, disabled by default.
-Dlocation-services=enabled
See #2959
Each page had its AdwNavigationPage tag updated in [1],
but the tags in the Privacy panel main page weren't
updated, which made all the subpages fail to open.
[1] 917248d7bf
- 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
We currently hide "Device Security" when running in a VM or an
undefined systemd-hostnamed chassis-type.
This makes our existing check use the CcHostname utility.
The switches from app rows in the Location, Camera
and Microphone pages can't be interacted by clicking
on the rows. Mark these switches as activatable-widgets
to fix that.
The letter C was both used for the "Clear History"
and "Cancel" actions, causing both mnemonics to
not work. Fix that by choosing a different letter
for the "Clear History" action.
There is currently no portal through which applications can request
access to the microphone. So all applications either access the
PulseAudio/Pipewire socket directly (which cannot be controlled by this
panel) or do not access the microphone (in which case they do not appear
here).
Hide the panel until such a portal exists. Remove the “microphone”
keyword from the panel's desktop file, used for in-app and desktop
search results.
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2848
When the Bolt page gets disposed before it finishes initializing
its client object we get a crash. See #2700
A way to trigger the crash is to switch panels fast enough so that
the sync dbus call is not finished by the time the panel is disposed.
This is not a guaranteed fix since I can't reproduce the issue
consistently.
The GVariant constructor g_variant_new () gives a floating reference,
which will be sunk by the g_dbus_..._call () methods. Unless the
constructed GVariant is manually referenced, it should not be used in a
g_autoptr () setting. Otherwise a use-after-free might occur in the
async g_dbus_..._call () methods.
This problem occurs here, which is simply prevented by not having the
g_autoptr () declaration for the GVariant.
Fixes#2647Fixes#2704Fixes#2635Fixes#2706
Use a GtkStack instead of a AdwLeaflet in the security and heavily
simplify the security dialog, because it contained a lot of misued
widgets and also a page that was never made visible.