Commit graph

1229 commits

Author SHA1 Message Date
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
Alice Mikhaylenko
4680f362f3 Port to AdwNavigationSplitView 2023-08-25 08:00:43 +00:00
Alice Mikhaylenko
5a3fd40bc8 network: Stop leaking the hotspot dialog 2023-08-25 08:00:43 +00:00
Alice Mikhaylenko
f461053753 network: Port Wi-Fi panel 2023-08-25 08:00:43 +00:00
Christopher Davis
b28d10d60d network: Port to Adw{Navigation,ToolbarView}
See previous commits for details on the widgets.

This commit ports the network panel to these new widgets.
In addition, it moves the switch to enable the proxy into
a row within the proxy page itself, following the latest
mockups.
2023-08-25 08:00:43 +00:00
Felipe Borges
0c9498d1f8 Mark some strings as translatable
These are strings that are presented in the UI that were not marked
for translation.

Fixes #2596
2023-08-11 12:07:00 +02:00
Alice Mikhaylenko
52f4919c94 network: Stop using AdwPreferencesWindow for the saved networks dialog 2023-08-02 12:51:48 +00:00
Alice Mikhaylenko
f3640d83d3 network: Consistently make options buttons flat 2023-08-02 12:51:48 +00:00
Alice Mikhaylenko
81a3c3dd15 network: Fix up proxy page and port to AdwSpinRow 2023-08-02 12:51:48 +00:00
Mohammed Sadiq
39f21e4229 network: Fix some memory leaks 2023-07-03 01:56:24 +00:00
Felipe Borges
fd1ac377ae network: Use AdwSwitchRow for wifi device enable row
In commit 2a33247f52 the
cc_list_row_get_active() method got removed despite still being
used in the network settings. This was breaking our build.
2023-06-30 11:52:42 +02:00
Lukáš Tyrychtr
b706f1261b network-connection-editor: Fix a keyboard trapped on the Cancel button when adding a VPN connection
It required two changes:
* Setting the stack page only after all pages are initialized
* And removing the VPN choices list from its bin only after that
2023-06-30 09:37:21 +00:00
Marco Melorio
b75bb10bb6 misc: Replace usage of CcListRow + switch with AdwSwitchRow
That feature will be removed in the next commit.
2023-06-30 09:06:56 +00:00
Barnabás Pőcze
146aae180d cc-wifi-connection-list: Use correct setter in property getter
CcWifiConnectionList::forgettable is of type `gboolean` so use
`g_value_set_boolean()` in the getter instead of `g_value_set_object()`.
2023-06-13 04:35:38 +00:00
Fareed
b813d378ec wi-fi: Update airplane mode row
airplane mode row wasn't updated
to be compatible with new Wi-Fi panel ui.

set airplane mode to be in preference group.
2023-06-12 19:41:20 -04:00
Fareed
1b70d766d6 wi-fi: Move controls out of headerbar
Enable switch and dropdown taken out of header bar.
Follow order of Network mockups for row order. Wifi hotspot
remains here until full network panel redesign completed.

Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2413
2023-06-12 19:40:04 -04:00
Fareed
eccc4d304e wi-fi: Add delete icon in saved connections list
Each connection now has a delete icon to forget a saved connection.
List can still be generated to include the checkbox to forget multiple.
Follows mockups for wi-fi panel. Add translation comments.
2023-06-07 22:58:37 +00:00
Robert Ancell
a01e179830 network: Connect signal handlers in swapped form 2023-06-07 09:12:54 +12:00
Christopher Davis
590506add3 vpn-helpers: Use GtkFileDialog and AdwMessageDialog
GtkFileChooser and GtkMessageDialog are both deprecated.
This commit replaces them with the most appropriate API
for each use case.
2023-06-06 13:33:29 +00:00
sunflowerskater
266c55715a general: Add tooltips to headerbar controls
Acc. HIG, "controls in the header bars of primary windows should all have tooltips".

https://developer.gnome.org/hig/patterns/feedback/tooltips.html
2023-06-06 13:27:00 +00:00
Robert Ancell
256e52b0f7 network: Fix name of parent class variable 2023-06-06 07:54:38 +00:00
Felipe Borges
b80f154f80 network: Close Connection Editor dialog when clicking Apply button
Fixes #2499
2023-05-31 08:15:32 +00:00
Robert Ancell
c78eb3d2f8 region: Do signal handlers in swapped form 2023-05-30 08:36:22 +00:00
Robert Ancell
89c054a31b network: Do signal handlers in swapped form 2023-05-30 08:36:22 +00:00
Felipe Borges
e6336ec433 network: Add ToastOverlay to connection-editor 2023-05-26 02:04:52 +00:00
Felipe Borges
3f482559ea network: Make "Import VPN from file" use GtkFileDialog
Since the gtk_file_chooser_dialog APIs are deprecated.
2023-05-26 02:04:52 +00:00
Felipe Borges
e580c309e8 network: Drop legacy vpn_export function
This was a leftover from the old connection-editor.
2023-05-26 02:04:52 +00:00
Ismael
497f599517 network-panel: fix crash when importing wrong vpn file 2023-05-26 02:04:52 +00:00
Pablo Correa Gómez
a2b9620b1b network: keep track of radio buttons in connection editor with action
Hooking to all the toggled signals from all the buttons for executing
the same action is inneficient, and can potenticall end up in a segmentation
 fault due to some race in the signal emmission, where the active button
 gets deactivated before the clicked button is activated

Looking at the GTK4 code, in a radio group:

- The button which was previously active gets de-activated, emitting its
corresponding toggled signal.
- The active property for the clicked button gets set.
- The clicked button emits its toggled signal.

Therefore, if the first toggle signal gets processed before the active
property is set, there can be a race condition. We are seeing this downstream
at pmOS: https://gitlab.com/postmarketOS/pmaports/-/issues/1816

Instead of this racy behavior, follow upstream recommendation and keep track
of the state through a stateful signal.
2023-05-24 08:54:06 +00:00
Pablo Correa Gómez
7f7b65545c all: meson: do not specify resources from gresource files as dependencies
Meson extracts them by itself and add them as dependencies for the target.
It means one less location to keep track of files, and a lot less boilerplate
around the meson files
2023-05-24 08:34:14 +00:00
Emad Saadat
813a5f838c wi-fi: Remove extraneous list box in Airplane Mode group
and give parent AdwPreferencesGroup the id of rfkill_widget
to preserve previous behavior (hiding widget when no
airplane mode available).
2023-05-15 10:50:09 +00:00
Emad Saadat
216a7619b7 wi-fi: Have page contents clamped like other pages
Achieved by making the container widget for all other widgets
in the content section of the panel an AdwPreferencesPage and
having each group of widgets (e.g. the airplane mode toggle
and the stack that shows the list of wi-fi networks or a status
message) be in its own AdwPreferencesGroup.

Much along the lines of !1739 and !1740

Also fixes #2420
2023-05-15 10:50:09 +00:00
Automeris naranja
8dd0abeaa4 network: Rename "Other Devices" to "Bluetooth"
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2102
2023-05-04 09:54:49 +00:00
Automeris naranja
fe36282b26 network: AdwStatusPage consistency tweaks
Both Wi-Fi and Network panels shows a status page when Network Manager isn't running.
However, they don't use the same writing style:

- https://gitlab.gnome.org/GNOME/gnome-control-center/-/blob/gnome-44/panels/network/cc-wifi-panel.ui#L221
- https://gitlab.gnome.org/GNOME/gnome-control-center/-/blob/gnome-44/panels/network/cc-network-panel.c#L672

This change makes both status pages to use the same writing style.
2023-05-03 11:25:24 +00:00
Felipe Borges
58a0d8fd32 network: Add quotes to network name in Forget Connection dialog
See https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1765#note_1726456
2023-04-20 17:30:55 +02:00