Also:
- Move the dialog to the .ui file, as this dialog is UI-related
- Don't destroy/force close the dialog, as it will be closed
automatically after the responses are triggered
Many devices are able to scan a specifically formatted QR code to
connect to a wifi network.
To make sharing of wifi connections easier, it would be helpful to
display such a QR code in the wifi settings.
A button is added to the wifi connection row. This row is shown in
the general wifi settings panel, as well as in the "Known Wi-Fi Network"
dialog. Clicking the button opens an additional dialog, which shows the
QR code.
Commit 5e0fc5c1 ("network: prevent crash by disconnecting device")
introduced two new line breaks after the final call of
remove_wifi_device. Those line breaks are unnecessary, as pointed out by
Robert (@robert.ancell). They should be removed for the MR to be merged.
This patch removes those line breaks, which should allow for !1359 to be
properly merged.
When a device is registered with add_wifi_device, a corresponding signal
is registered for events. The associated remove_wifi_device clears the
associated pages, but does not disconnect the signal. This causes the
assertion NET_IS_DEVICE_WIFI to fail.
This patch corrects this error, resolving #1889 as per the suggested fix
from Benjamin (@bberg).
This should significantly simplify these panels, by not forcing
them to override GObject.constructed all the time. Most panels
were quite straightfoward.
Boy this was hard.
To ease the pain of porting wireless-security to GTK4, add
a new WsFileChooserButton class that mimics the behavior of
a button that triggers a filechooser, as per the migration
guide suggests.
There were lots of GtkGrids, so the diff is particularly
horrendous. Sorry.
This needs serious testing before landing.
Add any wifi devices that have become managed or remove ones that have
become unmanaged. Since a device could have been added or removed
previously, we also have to handle multiple calls to add or remove a
device.
Make the panel class provide a cancellable that will be cancelled when the panel
is destroyed. Panel implementations can use this and not have to mangage the
cancellable themselves. Consolidate cases where panels had multiple cancellables
that were all being used for this behaviour.
The spinner was already present in the UI file! It just needs
minor cleanups (such as moving the bottom margin from the label
to the parent box) and binding the widget to the structure.
We need to monitor which device is visible since the Wi-Fi panel
deals with multiple Wi-Fi devices as well.
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/issues/551
Currently, we acquire the Rfkill D-Bus proxy and synchronize
the state right after that. However, we don't monitor for
subsequent changes by connecting to the 'g-properties-changed'
GDBusProxy signal, which causes the Airplane Mode not to stay
synchronized when modified from others places, such as GNOME
Shell's aggregate menu.
This commit adds the necessary signal monitoring code to react
to external applications changing the Rfkill properties.
According to the most recent mockups [1], when Airplane
Mode is switched on, the Wi-Fi connection will be turned
off and the Wi-Fi panel should show an empty state for
Airplane Mode. This is currently not implemented in the
codebase.
This commit adds an Airplane Mode empty state for the Wi-Fi
panel, and a small logic adjustment to show it under these
circumstances.
This commit renames {network|wifi}.ui to cc-{network|wifi}-pane.ui,
in order to match the corresponding C files. This introduces no
functional changes.
It's better for human-readable display than nm_device_get_product().
Unlike nm_device_get_product(), it never returns an empty string and
sanitizes the string.
With NM 1.12 it goes to great lengths to clean up the messy udev
strings.