Commit graph

1263 commits

Author SHA1 Message Date
Jonathan Kang
f0d04a180f network-connection-editor: Close the editor when nm-connection-editor exits
Previously, when editing a connection that doesn't have native editor
support, nm-connection-editor is spawned to do the work. But after
closing nm-connection-editor, an empty editor dialog still exists.

Fix that in this commit.
2023-11-29 10:28:18 +00:00
Automeris naranja
d975dd335c network: Add tooltip to some buttons 2023-11-29 10:12:30 +00:00
Ismael
9ed28e9c27 network: Share WPA3 (SAE) networks with QR Code 2023-11-27 12:15:20 +01:00
Automeris naranja
52a5afcc28 ce-page-details: Add ellipsis to labels of forget_button
"Use an ellipsis (…) at the end of a label if
further input or confirmation is required from
the user before the action can be carried out".

https://developer.gnome.org/hig/guidelines/writing-style.html
2023-11-27 10:36:00 +00:00
Automeris naranja
1093f2993f connection-editor: Set .pill style to forget_button 2023-11-27 10:36:00 +00:00
Marcos Miller
5e27373700 network: Show top buttons on unsupported network daemon page
When entering the network panel without the network daemon,
the window decoration buttons do not appear because the whole panel
content was overwritten by an AdwStatusPage.

Now only the content of the AdwToolbarView is changed, preserving
the AdwHeaderBar and buttons.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2695
2023-11-24 10:49:08 +01:00
Ondřej Pohořelský
8f3eee7ee1 wifi: hide QR code icon when connection not successful
Don't show QR code icon when there is no info about connection being
valid and successful. Also hide it when we are connecting and when WiFi
has no password.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/2030>
2023-11-23 05:10:07 +00:00
Florian Müllner
38cac20497 network: Handle BT device connections ourselves
Bluetooth connections are among those that we still delegate to
nm-connection-editor. Luckily they are fairly simple connections
without any options on their own, so the built-in connection editor
can handle them just fine.

https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1157

Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/2044>
2023-11-21 13:38:32 +00:00
Felipe Borges
fd4b45c84e wifi: Close "Saved Wi-Fi Networks" dialog when last item is removed
Otherwise we are left with an empty dialog again.

Fixes #2715
2023-11-13 10:58:50 +00:00
Felipe Borges
7e7cb4a2de wifi: Don't show "Saved Wi-Fi Networks" row when there's nothing to show
Fixes #2715
2023-11-13 10:58:50 +00:00
Ondřej Pohořelský
7f104fb9c8 network: remove wpa-none from key_mgmt
Network Manager dropped `wpa-none` value from `key_mgmt` a while ago[0]
There is no need to test for this option anymore.

[0]c97e0ce30b
2023-11-13 10:02:31 +00:00
Automeris naranja
e01f49d11e net-proxy-page: Add use-underline property to the Network Proxy row
Otherwise the mnemonic won't work.
2023-11-13 09:52:29 +00:00
Lukáš Tyrychtr
c6a6a6b859 network: Ensure we pick-up the latest numeric values for Wireguard settings
The SpinBox value returned by get_value and friends gets definitely
updated only when the control loses focus. That is unfortunately too late
for the validation machinery, so force the updates at the right time.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1983>
2023-11-07 09:10:38 +00:00
Automeris naranja
01f5bd318a net-proxy-page: Add missing mnemonics
Add mnemonics to the following rows
- Network Proxy
- Configuration

...and to the following buttons:
- Cancel
- Save

Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2541
2023-11-05 17:39:31 -03:00
Automeris naranja
da158ef042 network: Add mnemonic to the "Proxy" row
Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2541
2023-11-05 17:39:31 -03:00
Ondřej Pohořelský
de23defe3c network: Wireguard hide Last used and Automatic connection
Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1996>
2023-11-05 08:59:11 +00:00
Ondřej Pohořelský
51b82c0719 network: vpn hide metered connection settings
NetworkManager does not support metered connection settings in the
context of VPN. This commit hides the setting on VPN details pages.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1996>
2023-11-05 08:59:11 +00:00
Ondřej Pohořelský
72246bceb1 network: hide Last used when creating new connection
Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1996>
2023-11-05 08:59:11 +00:00
Ondřej Pohořelský
88ce1f97b3 network: show details page when creating new connection
Resolves #2536

When creating new vpn/wired connection, the user doesn't have a choice
to change `Make available to other users` option. This commit adds it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1996>
2023-11-05 08:59:11 +00:00
Automeris naranja
0b17fff10b network-wifi: Fix wrong a11y label of the "Connect to Hidden Network" row
This a11y label of this row is "Show Saved Networks", which is wrong.
2023-11-05 08:26:59 +00:00
Felipe Borges
e95645187d wifi: Close "Saved Wi-Fi Networks" dialog on Escape key 2023-11-02 11:22:18 +01:00
Felipe Borges
8172f638e0 network: Show "Undo" toast when forgetting network in "Saved Wi-Fi Networks"
Fixes #2670
2023-11-02 11:22:18 +01:00
Automeris naranja
85d802c356 wifi-connection-row: Add a11y label to the forget network button 2023-11-02 11:22:18 +01:00
Automeris naranja
ca740fd9e4 wifi-connection-row: Make the forget network button to show only an icon
This button has the icon_name and the label properties simultaneously.
These properties are conflicting each other, making the button to show only a label.

This change removes the label, so the button will only show an icon.

Reference: https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/network/wifi-settings.png

Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2661
2023-11-02 11:19:46 +01:00
Michael Catanzaro
88f9c7991c network: fix sensitivity of DNS and route configuration widgets
When the IP method is "disabled" or "shared" then everything else is
supposed to be insensitive. This currently fails if you toggle between
the two, because it's implemented using property bindings that are just
not smart enough to handle this task. Handle sensitivity only in
method_changed() to avoid this.

Additionally, not all of the widgets are being consistently
disabled/enabled when appropriate. E.g. when the method is "local" then
only the DNS entry, route entries, and default route checkboxes become
insensitive, leaving the other widgets, including notably the Automatic
switches, sensitive. They should all become insensitive, as when the
method is "disabled" or "shared." Fix this by organizing all the related
widgets into boxes and setting the sensitivity of the entire box. (Note
the strategy followed here does not exactly match nm-connection-editor,
which always allows editing addresses. We only allow that in Manual
mode. I'm not sure if this is advisable or not, so won't touch that.)

Finally, the Automatic DNS and Automatic Routes toggles should only be
sensitive when the method is "Automatic".
2023-10-27 12:56:27 +00:00
Michael Catanzaro
0e8d8e7407 network: warn user if both automatic and manual DNS is configured
If you manually configure a DNS server, you probably don't want to also
receive DNS from DHCP. Warn the user about this.

This is a softer replacement for the fix from:

https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1914

which we found in #2617 broke imported Wireguard connections.
2023-10-27 12:56:27 +00:00
Michael Catanzaro
48d0aed598 network: unset DNS entry errors when entry is empty
When the entry is initially empty, there is no error. If you enter
anything and then delete it, the entry is left in the error state. Empty
should not be an error.
2023-10-27 12:56:27 +00:00
Michael Catanzaro
08bff2ee18 Revert "network: Disable DNS entry if the automatic option is enabled"
This reverts commit 8a4a80b7b2.

This is a manual revert, because the code changed considerably in
a2b9620b1b. Anyway, although this seemed
like a good idea, problem is it clobbers the original state of the
connection without any explicit user action if the connection is
configured to use both manual and auto DNS. And this happens in practice
for imported Wireguard connections, which uselessly have auto DNS
enabled due to this NetworkManager bug:

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1399

Additional discussion:

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1745#note_2112420

The simplest solution is to not try to prevent the user from configuring
both manual and auto DNS. Instead, let's just warn the user that this
configuration may not be intended in a follow-up commit.

Fixes #2617
2023-10-27 12:56:27 +00:00
velsinki
ef644deb3d network-connection-editor: Align Routes labels
Even though the routes_metric_label is in a GtkSizeGroup with the
GtkEntry for the metric, its size was set too big after adding the entry
to the size group. To fix this, add all the other labels and
corresponding entries to size groups as well. The hexpand can then be
removed as well on the labels.

Fixes #1235
2023-10-27 00:54:55 +00:00
Lukáš Tyrychtr
7c14fc9ac6 network: Use better labels for the peer row
Namely use three dots for the options button as it opens a label,
and use Remove instead of Delete, as Remove is already used and has a translation.
2023-10-24 09:17:00 +00:00
Lukáš Tyrychtr
e55a4feefe network: Add mnemonic widgets to the Wireguard peer list row, fixing label reading 2023-10-24 09:17:00 +00:00
Lukáš Tyrychtr
caa7650081 network: Add mnemonic widgets to the wireguard editor page, fixing reading of the labels of the fields 2023-10-24 09:17:00 +00:00
Maximiliano Sandoval R
4ee4fa3428 network: Port connection editor to AdwWindow
GtkDialog is deprecated. We also took the opportunity to use AdwToolbarView.

See https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2624.
2023-10-23 14:25:12 +00:00
Maximiliano Sandoval R
92d0a5d50c network: Port add VPN connection to action rows
By using action rows we can actually use the boxed-list class.
2023-10-23 14:25:12 +00:00
Maximiliano Sandoval R
77090f4ccd network: Define margins in the UI file 2023-10-23 14:25:12 +00:00
Maximiliano Sandoval R
5cd582bef6 network: Remove orientation=vertical from box
These boxes cannot have more than a single child.
2023-10-23 14:25:12 +00:00
Hari Rana
1c62c25907 wifi-connection-row: Add tooltip texts
Co-authored-by: Automeris naranja <104251-automerisnaranja@users.noreply.gitlab.gnome.org>
2023-10-23 13:31:32 +00:00
Marco Melorio
7363ca800e network: Fix "Missing initializer for field" warning 2023-10-12 10:09:44 +02:00
Marco Melorio
13c939659a misc: Fix incompatible type warnings 2023-10-12 10:09:44 +02:00
Michael Catanzaro
6219cbdca5 network: fix editing connections without a device
For example, fix adding new VPN connections.

In 60b4956c05 I correctly observed that we
need to not run code that requires a device when there is no device.
NetConnectionEditor is a multipurpose dialog and self->device is
optional when creating the dialog. E.g. when modifying VPN
configuration, we update just the configuration, not an NMDevice.

However, I added this check too soon, before updating the connection
configuration. We need to update the configuration first, then only bail
before proceeding to update the device, not sooner.

Fix #2668
2023-10-03 11:03:06 +00:00
Felipe Borges
2397db38c3 network: Replace use of deprecated gtk_widget_hide
In favor of gtk_widget_set_visible
2023-10-03 11:41:07 +02:00
Ondřej Pohořelský
9d1af3de28 wifi: disable hotspot row when Wi-Fi is not active
There is no point in showing hotspot creation dialog when it can't
enable the hotspot without Wi-Fi adapter enabled.
2023-10-03 09:33:08 +00:00
Alexandre Franke
e8a08f0fd7 data: fix label string 2023-09-18 13:00:43 +02:00
Sabri Ünal
6a4a70f6a6 data: mark translatable strings yes
Marking translatable strings as 'yes' is a convenient practice
across the GNOME project. Follow the common practice.
2023-09-18 00:31:24 +03:00
Michael Catanzaro
be535df39b Don't warn about failure to apply changes on inactive device
If the NMDevice is not active (i.e. if we are editing a connection that
is not active) then don't warn when failing to reapply changes to the
device. That's expected and not something we should warn about.

We could perhaps not even try, but the device could become inactive
between the time of our check and this error, so better ignore the error
regardless.
2023-08-30 08:44:55 +00:00
Michael Catanzaro
60b4956c05 network: don't try to update device if it doesn't exist
All of the following code assumes that self->device is valid, so we need
to skip over it. It's confusing, but this is a multipurpose dialog and
self->device is optional when creating the dialog. E.g. when modifying
VPN configuration, we update just the configuration, not an NMDevice.
2023-08-30 08:44:55 +00:00
Michael Catanzaro
3f6737dbf7 network: fix criticals when updating connection
If the operation is cancelled (because the dialog was closed, because
the Apply button was pressed), then trying to make further use of the
source_object is a use after free, which is bad. At first I tried to fix
this by simply avoiding the use after free when the operation is
canceled, but then I realized it is ridiculous to always try committing
connection changes when closing the dialog, then immediately cancel the
operation by destroying the dialog.

So instead I've decided to not pass the cancellable along to these
operations, and instead ref the dialog to keep it alive until the
operations complete. Instead, let's just hide the window.

This commit also removes an inaccurate comment /* Leave the editor open
*/ placed right before the call to the function that hides the editor.
There's no need to leave the editor open when updating the device fails.
The connection properties at least are still saved.

Fixes #2618
2023-08-30 08:44:55 +00:00
Hendrik Müller
8f6ef3a6ef wifi: Hide QR Code button for unsupported security
QR codes for Wi-Fi networks can only be generated for Wi-Fi networks
that have one of these security settings:
- no security
- WEP security
- WPA security

This is why the button to show these QR codes should only be visible
if the Wi-Fi network in question has one of these security settings.
2023-08-29 14:30:06 +02:00
Alice Mikhaylenko
e7b65cbe83 network: Fix a non-translatable string 2023-08-28 08:11:41 +00:00
Alice Mikhaylenko
25a866d8c6 network: Ellipsize the save/cancel buttons 2023-08-25 08:00:43 +00:00