When NetworkManager doesn't give us any secrets for a connection, the
connection editor still needs to be opened. This change ensures that
initialization of the editor completes even when there's an error when
fetching secrets.
Fixes#2329
GtkCheckButton accepts a widget as its child and will toggle when
clicking its child, currently we put check button and label of metered
connection into a box, then clicking the label won't toggle the check
button, this differs from the other two check buttons.
This commit makes the label a child widget of the check button, so the
three check buttons behave the same.
When the dialog is closed using ESC key, the "close-request" signal is
emitted in addition to the "response" signal. When the "close-request"
is handled, it frees the memory to which info points. In the "response"
signal handler, the memory of info pointer is accessed again, leading
to a segmentation fault.
Fix this by removing the "close-request" function callback, which shares
the same behaviour as the "response" callback function.
Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2320
Previously this was problematic because the current layout is a bit
messy. The reasoning is a bit complex, but I'll try to explain below.
Basically the AdwPreferencesGroup has an integrated GtkListBox where the
rows should normally be added to it by declaring AdwPreferencesRow
subclasses as its direct children in the UI file. This is not currently
done in the sound panel and we instead have another GtkListBox as its
direct child, while the "No Devices" row is actually a AdwPreferencesRow
subclass, so we end up with two listboxes with .boxed-list style. The
problem is that we hide the "No Devices" row when there are devices
available, but the internal listbox is still there, so we still see its
shadows.
This commit just separates the "No Devices" row in a separate group so
that we are sure to hide everything correctly.
Just measure the label to make GTK not complain about allocating
children without measuring anything. Measuring all the buttons is an
overkill because we expect this widget to have the minimum size
overwritten by CSS either way.
Changing an active connection applies the changes onto the
NetworkManager connection, but not on the device. This is because
NetworkManager clones the connection when it is applied on a device.
This behavior is expected and documented in the NetworkManager
documentation [1]. To effectively apply the connection changes onto a
device, a reapply operation must be performed. This will make NetworkManager
apply the new connection onto the active device without having to
disable and re-enable the device.
Perform this reapply operation when the Apply button is pressed in the
Connection Editor so the changes effectively propagate to the network
device.
[1] https://networkmanager.dev/docs/api/1.32.10/gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-method-org-freedesktop-NetworkManager-Device.Reapply
This is part of an initiative to use "app" instead of "applications",
see: https://gitlab.gnome.org/Teams/Design/initiatives/-/issues/123
Redo of !1539 that was closed by a ghosting user.
Replaces "application" with "app" in user facing strings in these
panels:
- applications
- camera, location, microphone
- default-apps
- multitasking
- notifications
- removable-media
- search
- usage
- user-accounts
Fixes: #2208.
When pressing the mute button after the volume slider is manually moved
to 0 (and so the GVS "is-muted" property is still FALSE), set the volume
to 25% instead of actually muting the stream.
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/520.
The logic inside it is a bit reworked to make it more consistent. The
mute button and the slider now only communicate directly with GVC. The
notify callbacks are now used to change the UI states.
This fixes the UI problem of the mute button being "raised" when pressed
(see https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/520).