In commit c7bd442839 we started to
show the configuration button for all rows, which fixes the original
issue of not being able to tweak a connection during association but
also introduces a regression of not having connection data to show
for other connections in the list. This way, the configuration
button will fail to create a net_connection_editor interface for
rows that aren't associated with an active connection.
Let's only show the configuration button when the NMActiveConnectionState
is either NM_ACTIVE_CONNECTION_STATE_ACTIVATING or
NM_ACTIVE_CONNECTION_STATE_ACTIVATED.
Fixes#1494
GTK4 changes how icons are loaded - only icons that are
set up to follow icon theme paths are recolored. The way
the network panel loaded icons wasn't compatible with this,
causing icons to stay dark in dark mode.
This commit adjusts the gresource so that icons are
in `$RESOURCE_BASE_PATH/icons/scalable/actions`. Since
GTK knows how to handle that automatically, we can
simply use `icon-name` instead of loading a full
icon path.
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.
While connecting to a Wifi network g-c-c would hide the button that
launches the connection preferences dialog. This is inconvenient
when network manager keeps on attempting to reconnect to a
misconfigured network.
These changes rework the logic of the buttons by always presenting
the configuration button and toggling the visibility of the spinner
accordingly.
Fixes#493
In some cases, the network connection UI uses pango markup to denote the
SSID name inside a connection name. However, if the SSID matched the
connection name, then we would end up setting the SSID as pango markup
without it being escaped.
Fix this by escaping the SSID before setting it as markup.
Fixes: #435
Note that this also changes the way to detect that the connection is
currently active. This change is not required but but does simplify the
code a little bit.
In almost all cases, the SSID will be identical with the connection name
(in fact, we do not even allow modifying the connection name). However,
as it is now, we can end up with multiple connections with the same name
in the list.
Change the list to indicate the SSID separately in a way that will not
result in any changes in the usual case.