Commit graph

24 commits

Author SHA1 Message Date
velsinki
0427e160bd network: Hexpand connection editor routes labels
Commit ef644deb made the routes labels for the IPv4 and IPv6 center
properly. However, when stretching the dialog, this centering is lost
because the labels do not horizontally expand.

So let's make all of them horizontally expand.
2023-11-30 09:41:49 +00:00
Maximiliano Sandoval R.
f37e284ae4 ce-ip6-page: Remove comments 2023-11-29 17:35:16 +00:00
Maximiliano Sandoval R.
e85f094184 ce-ip6-page: Propagate natural size of content
We remove hscrollbar-policy=never. This can only work if the view is
adaptive. This has to be restored once the page is adaptive.
2023-11-29 17:35:16 +00: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
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
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
Lukáš Tyrychtr
3151598aef Make the network settings panel more screen reader friendly 2022-05-10 21:26:05 +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
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
treysis
ab443a02c1 network: Show DNS6 parameters in details and connection editor
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1231
2021-02-01 20:18:55 +00:00
Carlo Caione
dfb54d0cad network: Add option for connection sharing
Introduce a new IP{4,6} config method to allow sharing the default
network (usually the Internet) through the wired interface.
This is needed because the control-panel is lacking this feature backed
by nm and currently the only way to enable the connection sharing is by
using nm-connection-editor.
2019-11-13 15:12:01 +13:00
Robert Ancell
eb0bac874c network: Convert CEPage widgets to GtkTemplate 2019-11-06 22:04:15 +13:00
Robert Ancell
eb4e124b04 network: Get connection editor root widget from a virtual method 2019-11-06 16:36:55 +13:00
Robert Ancell
b331d75df5 network: Rename widget IDs to standard names 2019-10-22 20:11:45 +00:00
Robert Ancell
53f9249b83 network: Remove unused GtkBuilder IDs 2019-10-22 20:11:45 +00:00
Georges Basile Stavracas Neto
ae59c77b45 network: Improve alignment and spacing
This patch improves the alignment and spacing of IPv4
and IPv6 widgets so that they look uniform and consistent.

https://bugzilla.gnome.org/show_bug.cgi?id=779841
2017-08-09 19:34:03 +02:00
Georges Basile Stavracas Neto
1d0757d288 network: Use a table-like widget in address editor
According to the latest mockups for the connection editor dialog [1],
the IPv4 and IPv6 pages are supposed to use a table-like editor to
manage the addresses, in a similar fashion of what was done to the
routes editor. This way of editing is not only easier to comprehend,
but also improves the size of the dialog, requiring much less vertical
space to present the routes.

The current implementation, however, uses a vertical layout and a toolbar,
which is inefficient in its usage of space.

Fix that by implementing the table-like editor widget, both in IPv4
and IPv6 pages.

[1] https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-settings/network/aday2/network-wires.png

https://bugzilla.gnome.org/show_bug.cgi?id=779841
2017-08-09 19:34:03 +02:00
Georges Basile Stavracas Neto
08657fac44 network: Use a table-like widget to edit routes
According to the latest mockups for the connection editor dialog [1],
the IPv4 and IPv6 pages are supposed to use a table-like editor to
manage the routes. This editor is not only easier to comprehend, but
also improves the size of the dialog, requiring much less vertical
space to present the routes.

The current implementation, however, uses a vertical layout and a toolbar,
which is inefficient in its usage of space.

Fix that by implementing the table-like editor widget, both in IPv4
and IPv6 pages.

[1] https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-settings/network/aday2/network-wires.png

https://bugzilla.gnome.org/show_bug.cgi?id=779841
2017-08-09 19:34:03 +02:00
Georges Basile Stavracas Neto
2e570099f6 network: Simplify DNS management in connection editor
When editing the DNS servers of a given connection, a simple
entry is enough to display and edit the DNS servers. The user
can separate IP addresses with commas. This is exemplified
by the mockup at [1].

This, however, is not the current implementation, which uses
a combination of listbox rows, entries and buttons to manage
that with added complexity.

Fix that by using an entry to handle the DNS servers.

[1] https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-settings/network/aday2/network-wires.png

https://bugzilla.gnome.org/show_bug.cgi?id=779841
2017-08-09 19:34:03 +02:00
Georges Basile Stavracas Neto
8f78b27299 network: Use radio buttons instead of a combobox in IP pages
Per the latest mockups [1], the IP pages use a set of four radio
buttons to control the method, rather than a switch + a combobox,
which is what the current implementation uses.

This patch, then, adapts the IP pages of the connection editor
dialog to use a set of radio buttons at the top of the page.

[1] https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-settings/network/aday2/network-wires.png

https://bugzilla.gnome.org/show_bug.cgi?id=779841
2017-06-14 16:41:10 -03:00
Yosef Or Boczko
d4ef801743 network: Use margin-start/end instead of margin-left/right
https://bugzilla.gnome.org/show_bug.cgi?id=712661
2013-11-19 22:26:49 +02:00
Bastien Nocera
add1adfdb7 network: Remove unused top-level widget
The "window1" widget in the GtkBuilder file was never used.
2013-08-22 19:17:19 +02:00
Jeremy Bicha
5ed961f546 network: Add accessibile labels to buttons in the popup dialogs
https://bugzilla.gnome.org/show_bug.cgi?id=693657
2013-02-12 18:07:17 -05:00
Matthias Clasen
e5cc7d8011 network: Break out wifi details code and add editing support
This code is fairly independent of the rest, and we don't want
net-device-wifi.c to become too massive and unmaintainable.

The code in connection-editor/ is fairly similar to
nm-connection-editor, with some simplification because we
currently only edit wireless connections.

The code in wireless-security/ is almost a straight copy
of the same code in nm-connection-editor, with some changes
to the .ui files to make them fit better in the new design.
2013-01-30 13:05:33 -05:00