Commit graph

1314 commits

Author SHA1 Message Date
David Bauer
533b698f60 network: implement handling for OWE TM
Implement handling for OWE-TM networks.

 * Correctly display encryption type when connected to a OWE-TM network
   with an open profile (Previously showed as WPA2
 * Mask out hidden transition SSID when connected to the OWE-TM network
 * Don't display OWE-TM network with lock icon

Signed-off-by: David Bauer <mail@david-bauer.net>
2022-06-19 23:53:24 +00:00
Maximiliano Sandoval R
3a96f428ca ce-page-details: Do not set children for CheckBtn
This widget does not support adding arbitrary children, a warning was
issued when it was disposed for still having children.
2022-06-19 22:17:18 +00:00
Christian Glombek
1e06a0e0dd network/ce: Fix address label ids on ip4-page
In 861d762ce5,
the address labels on the IPv4 page were renamed, however the corresponding
change was not made in the respective .ui file, which results in a crash upon
construction of the page. This change fixes that.
2022-06-19 21:50:23 +00:00
Bastien Nocera
47c586a82e network: Fix Wi-Fi network with "&" in name not appearing
My neighbours' Wi-Fi makes the Wi-Fi panel throw an error:
(gnome-control-center:346639): Gtk-WARNING **: 15:16:21.993: Failed to set text 'Bbox Hugo & Laura' from markup due to error parsing markup: Error on line 1: Entity did not end with a semicolon; most likely you used an ampersand character without intending to start an entity — escape ampersand as &amp;

Escape the SSID before using it to set the label.
2022-06-09 20:54:57 +00:00
Maximiliano Sandoval R
9327bbe759 wifi-connection-list: Add margins and align 2022-06-01 02:17:13 +00:00
Maximiliano Sandoval R
7cb4dc4ff0 network-wifi: Use ListBox in popover
This gives us the correct style on the popover.
2022-06-01 02:17:13 +00:00
Maximiliano Sandoval R
42f64f197f Make buttons in actions rows and header flat 2022-06-01 02:17:13 +00:00
Lukáš Tyrychtr
861d762ce5 Address review feedback 2022-05-10 21:26:05 +00:00
Lukáš Tyrychtr
3151598aef Make the network settings panel more screen reader friendly 2022-05-10 21:26:05 +00:00
Felipe Borges
340ee1dc4a connection-editor: Unparent child widget on dispose
WirelessSecurityWPAEAP is a GtkWidget owned by the CEPage8021xSecurity
widget, which is supposed to "unparent" it on "dispose" (since parents
hold a reference to child widgets). Instead we were calling
g_clear_object on it.

Fixes #1671
2022-05-03 17:45:14 +02:00
Jonathan Kang
ce93dbb3a0 network/connection-editor: always load all available VPN plugins
Previously, when a list of VPN plugins was loaded once, it will not load
again the next time you try to add a VPN connnection. This causes an
issue that if you keep gnome-control-center open and install a new VPN
plugin, the new VPN plugin won't show up in the VPN plugin list.

Fix that by always load all avilable VPN plugins when showing the
"Add VPN" dialog.
2022-03-18 21:37:48 +00:00
Jonathan Kang
6f1567f236 network/connection-editor: destroy the editor when closing
If an user opens an connection editor and then closes it, repeat this
multiple times causes lots of unused hidden editor windows.

Fix that by destroying the connection editor instead of hiding them
when closing.
2022-03-18 21:37:48 +00:00
Ana Cabral
43bb1d9200 network: Fix OWE settings
Enhanced Open (OWE) is not being saved properly from connection-editor.
When we create a Wi-Fi connection using Enhanced Open (OWE) Security
from nm-connection-editor and save it, it was not being saved and the
security was being set as "None", with Wireless Security Setting
being discarded. This is fixed by this commit. The fix is also being
done in libnma (implementing OWE in libnma,
https://gitlab.gnome.org/GNOME/libnma/-/issues/9), but this commit
fixes meanwhile it gets ready.

It was solved by adding treatment for the case in which owe was set.
OWE is not treated anymore in the same case as None.

https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1521
2022-02-24 12:56:43 +01:00
Alessandro Bono
10489fb208 net-vpn: Don't append VPN in the title of the editor dialog
We don't do anything similar for other connections editors (wired and WiFi).
We alredy know that we are modifying a VPN, no need to repeat ourself.
2022-02-15 14:42:13 +00:00
Alessandro Bono
ce1c00be5d net-vpn: Don't append VPN to each row
We don't do anything similar for other connections rows (wired and WiFi).
All the rows are VPNs. No need to repeat ourself.
2022-02-15 14:42:13 +00:00
Mohammed Sadiq
0452e9eb4d network: Fix a possible memory leak in QR code
It's possible that the QR code for the same text has been requested,
but for a different size.  Fix a memory leak that would happen
in those cases.
2022-02-12 21:47:07 +00:00
Mohammed Sadiq
15df3bc494 network: Fix QR code with dark theme
Explicitly set white background for the image so that white border
is shown around the QR code in dark themes too.
2022-02-11 17:24:52 +00:00
Felipe Borges
37ee555c44 network: Show configuration button only for active/connecting connections
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
2022-02-10 15:05:08 +00:00
Christopher Davis
fc8817380d network: Center connection-editor spinner
Prevents the spinner from taking up a large amount
of space.
2022-02-05 00:11:21 +00:00
Christopher Davis
41cc608721 network: Use AdwPreferences{Page,Group} for network panel
Uses AdwPreferences{Page,Group} where possible.
net-device-ethernet has been changed into an
AdwPreferencesGroup subclass itself.
2022-02-04 17:54:25 +00:00
Christopher Davis
e7f89a49d5 network: Clean up ethernet details row
* Remove placeholder text
* Remove redundant haligns
* Remove redundant `selectable=False`
* Set activatable widget
2022-02-04 17:54:25 +00:00
Christopher Davis
fcc1cb9da7 network: Adjust list styling and use GtkStack for ethernet
Previously we used an unstyled list for the network
connections, and we switched lists by using
GtkWidget:visbile.

This commit makes the connection list use boxed-list
styling, and adds a GtkStack.
2022-02-04 17:54:25 +00:00
Christopher Davis
ffeec81f0e network: Use AdwActionRow for NetDeviceBluetooth
Similar to the last commit, we can use a regular
GtkListBox and make the device widget an AdwActionRow.
2022-02-04 17:54:25 +00:00
Christopher Davis
de16d7bb39 network: Use AdwActionRow and GtkListBox for vpn list
Previously the widget was using a hack to show
separators and had a row nested in a listbox,
nested in a box. Instead of having a custom setup
to work around not haveing a listbox, we can use a
listbox.

See: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1587
2022-02-04 17:54:25 +00:00
Mohammed Sadiq
5855b661fe wifi: Fix to use the updated details to create hotspot
Let the callback to "response" signal run after the default
so that we use the updated details to create hotspot.
Otherwise, the changes made won't be used.

This is required as the default handler updates the connection
details in cc-wifi-hotspot-dialog.
2022-02-01 17:29:54 +00:00
Mohammed Sadiq
ebab3214ca wifi: Avoid padding in hotspot QR code
The padding is now handled by CSS, so we no longer have to set padding
in expense of QR pixel quality
2022-02-01 18:25:23 +05:30
Jakub Steiner
13376ecb8b Add individual app icons 2022-01-31 14:08:22 +00:00
Sam Hewitt
b0bc4f4a76 network: Minimize small symbolic icons 2022-01-24 20:07:52 +00:00
Georges Basile Stavracas Neto
acd59aec65 Rename app-id to org.gnome.Settings
Rename the app-id to org.gnome.Settings since this is what
we've been calling it for many years now. Adjust all files
that derive from the app-id, such as the desktop file, D-Bus
service file names, search providers, GSettings schemas, to
match that.

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/344
2022-01-21 13:08:50 +00:00
Mohammed Sadiq
99d4947c63 wifi: Use Paintables for QR code
This fixes showing qr code when the window is scaled.
2022-01-20 19:06:22 +05:30
Georges Basile Stavracas Neto
82c87578cd window: Install action to navigate main leaflet
This allows implementing the back button of panel titlebars
trivially, which is also done in this commit.
2022-01-20 02:23:42 +00:00
Georges Basile Stavracas Neto
4300a4a290 panels: Use new CcPanel helpers for title widgets
This should significantly simplify these panels, by not forcing
them to override GObject.constructed all the time. Most panels
were quite straightfoward.
2022-01-20 02:23:42 +00:00
Georges Basile Stavracas Neto
0ab20af9ba panels: Switch to CcPanel content
Start porting panels to the new panel format. This commit
temporarily makes panels have two titlebar, which will be
fixed soon.
2022-01-20 02:23:42 +00:00
Jan Beich
37b29c32cb meson: drop unused argument for i18n.merge_file()
Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.

panels/applications/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/background/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/camera/meson.build:10:5: ERROR: Function does not take positional arguments.
[...]
2022-01-07 17:22:43 +00:00
Christopher Davis
079bf51086 network: Fix wifi icon loading
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.
2022-01-06 12:42:34 -08:00
Christopher Davis
e637f47e78 cc-list-row: Subclass AdwActionRow
AdwActionRow handles many of the properties we use
CcListRow for. We can re-use it instead of re-creating it.

CcListRow is now an AdwActionRow with three suffixes.
The `activatable-widget` is set when the switch is visible.

Since our `icon-name` property was only used for the arrow
icon, it has been replaced with a `show-arrow` property.

The `bold` property has been removed - it was only used in
one place, and it's not a pattern used in other apps.

I decided to go this route because replacing all the
instances of CcListRow with AdwActionRow directly would
end up being more code.
2022-01-06 08:56:12 -08:00
Benjamin Berg
6f825cd486 network: Fix saving passwords for non-wifi connections
When validating security settings for non-wifi connections, we
temporarily create a wireless connection. Unfortunately, when this
connection is destroyed, it'll clear the stored password from the 802.1x
settings object.

Avoid this by removing the setting before the temporary connection is
destroyed.

Closes: #337
2022-01-05 23:09:45 +00:00
Christopher Davis
3ee642e421 net-device-bluetooth: Use AdwActionRow and .boxed-list
This makes both the row and the list fit in better
with the rest of the page.
2021-12-29 23:28:44 -08:00
Christopher Davis
981a8cea7b panels: Use .boxed-list instead of .content
The `.content` style class is deprecated in favor
of the `.boxed-list` style class, which is named
after the design pattern it's used for.
2021-12-16 12:52:44 -08:00
Michael Catanzaro
c180aa660c network: fix critical when opening VPN details page
I was seeing this critical when opening the VPN details page:

(gnome-control-center:78888): nm-CRITICAL **: 16:26:21.689: ((src/libnm-client-impl/nm-device.c:1299)): assertion '<dropped>' failed

It probably broke in 551d72280b. The code
above and below expects self->device may be NULL, so let's add a
NULL check here.
2021-12-15 16:33:00 +00:00
Georges Basile Stavracas Neto
efbad6eb50 network: Port to GTK4
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.
2021-12-14 22:34:21 -03:00
Tejal Palwankar
dfd0e38f3b wifi: Fixed plural handling for different languages
Fixes #1463
2021-11-04 09:12:44 +00:00
Felipe Borges
c7bd442839 network: Show configuration button during wifi association
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
2021-08-30 13:13:40 +00:00
Mohammed Sadiq
169f537e4b network: Don't show modems supported by cellular panel
Cellular panel is already handling it
2021-08-13 19:25:41 +00:00
Mohammed Sadiq
bb6b3fbbcb wifi: Use content style for listboxes 2021-05-19 03:25:47 +00:00
treysis
5a9fa905bc network: display IPv6 gateway 2021-05-19 02:43:39 +00:00
treysis
5a18b369c6 Network: Show all IPv6 addresses for an interface
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1300
2021-05-12 14:17:52 +12:00
Carlos Garnacho
6524c9a529 network: Make IPv4/v6 pages drive the scrolledwindow adjustments
Those 2 pages in the connection editor dialog are scrollable, but don't
hook focus changes so they drive the adjustments. Make them do so.
2021-05-07 04:06:35 +00:00
Felipe Borges
93bbd53bca network/connection-editor: Fix focus chain to allow keyboard navigation
Otherwise tabbing will never focus in the inner widgets.
2021-05-07 04:06:35 +00:00
Felipe Borges
afe1c35c57 network: Indicate the maximum password length accepted for wifi hotspots
The Wifi Hotspot setup dialog will error "Must have a minimum of 8 characters"
for all the situations in which nm_utils_wpa_psk_valid and nm_utils_wep_key_valid
report a given password to be invalid.

The case when this error is most obvious is when you enter a very lengthy password
and the dialog shows the very same error about the minimum password length.

These changes make the dialog account for the Maximum password length as well. It
assumes 16 characters for WEP and 63 characters for WPA/WPA2.
2021-05-07 04:02:51 +00:00