Commit graph

54 commits

Author SHA1 Message Date
Robert Ancell
f1d892f46b network: Fix logic in showing IP6 route metric.
The logic was inverted and ensured the value was always <= 0.
2020-08-07 03:40:01 +00:00
Robert Ancell
53c9d4999f network: Remove unused sort function.
Nothing was setting the "first" or "last" data used in the sort.
2020-07-19 23:27:30 +00:00
Robert Ancell
36196e422f network: Fix broken logic
Was introduced in ed15c1a2f0
2020-07-17 13:39:30 +12:00
Michael Catanzaro
d055c4de5c Fix -Wimplicit-function-declaration in previous commit
Dumb mistake, sorry. Follow up to !791
2020-07-16 18:59:22 -05:00
Michael Catanzaro
ed15c1a2f0 Fix setting to disable IPv6
The setting to disable IPv6 did not actually work. Instead, it just
caused NetworkManager to ignore IPv6 entirely. From the libnm
documentation of NM_SETTING_IP6_CONFIG_METHOD_IGNORE: "IPv6 is not
required or is handled by some other mechanism, and NetworkManager
should not configure IPv6 for this connection." It's just the wrong enum
to use here.

I considered adding a new radio button to use the older ignore setting,
but it doesn't make a ton of sense since that setting allows IPv6 to be
configured outside NetworkManager, and what is the point of exposing
graphical configuration for that? So instead, we can have the GUI change
the value from IGNORE to DISABLED if set.

Fixes #593
2020-07-16 23:41:07 +00:00
Felix Riemann
cd3fa0195b network: Fix connection editor blanking when removing manual entry
To delete a manual entry row (IP addresses or routes) the remove_row
function started walking the widget hierarchy at the connection editor
widget. This caused the entire dialog box getting removed. Begin at the
GtkButton instead to actually remove the corresponding line.

Fixes #972.
2020-07-16 21:05:23 +00:00
Robert Ancell
5b14e16e9c network: Connect signals with g_signal_connect_object in swapped form 2020-03-30 16:18:50 +13: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
Carlo Caione
408f2775ec network: cleanup: Rework disabled toggle button
The disable toggle button isn't special and there is no real need for it
to not be managed as all the other radio buttons.
2019-11-13 15:10:48 +13:00
Carlo Caione
5bcbe07299 network: cleanup: Avoid toggling button twice
After checking the method property of the connection settings we set the
disabled toggle button twice. One is enough.
2019-11-13 14:55:08 +13:00
Robert Ancell
eb0bac874c network: Convert CEPage widgets to GtkTemplate 2019-11-06 22:04:15 +13:00
Robert Ancell
9759121e7f network: Convert CEPage from a class to an interface 2019-11-06 22:04:15 +13:00
Robert Ancell
eb7372d83b network: Move connection reference outside of CEPage 2019-11-06 22:04:15 +13:00
Robert Ancell
d46579144e network: Move GtkBuilder code from CEPage to its subclasses 2019-11-06 16:41:34 +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
f5949160c3 network: Move class property inside the two subclasses that use it 2019-11-06 16:36:55 +13:00
Robert Ancell
d327e20a10 network: Replace GObject boilerplate with modern macros 2019-11-06 16:36:06 +13:00
Robert Ancell
0106a4ab90 network: Convert class property to a virtual method 2019-11-06 16:36:06 +13:00
Robert Ancell
413f23ec99 network: Rename virtual method to standard names 2019-11-06 16:33:07 +13:00
Robert Ancell
708b1fdaf7 network: Use self variable name consistently 2019-10-22 20:11:45 +00:00
Robert Ancell
8b6e3fb736 network: Store widgets inside objects
This is a step towards replacing GtkBuilder with GtkTemplate
2019-10-22 20:11:45 +00:00
Robert Ancell
b331d75df5 network: Rename widget IDs to standard names 2019-10-22 20:11:45 +00:00
Robert Ancell
54f8fce47f network: Connect signals in swapped form 2019-10-22 20:11:44 +00:00
Robert Ancell
de84f7e344 network: Use g_autofree for strings 2019-09-13 14:20:50 +12:00
Benjamin Berg
c2f601a9d4 Move common panel code from shell/ to panel/common
This creates a new static library called libwidget which the shell links
against.
2018-04-17 15:26:59 +02:00
Bastien Nocera
dd8b63bdeb network: Consider empty IPv6 gateway to be valid
The string we get back from the text entries are never NULL (as long as
the UI isn't broken that is), but can be empty strings. Consider an
empty IPv6 address to be invalid, but an empty gateway to be valid.

See https://bugzilla.redhat.com/show_bug.cgi?id=1467308
2018-02-06 10:46:33 +01: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
Bastien Nocera
a90dc605d6 network: Fix IPv6 settings not being applicable when method changes
When changing the method from Manual to Automatic, we need to clear the
gateway setting, otherwise the settings verification will fail:
ipv6.gateway: gateway cannot be set if there are no addresses configured

Another fallout of the libnm 1.2 port

https://bugzilla.gnome.org/show_bug.cgi?id=769230
2016-08-30 17:15:33 +02:00
Bastien Nocera
94e2be8ff6 network: Fix warning if IPv6 gateway is empty
GtkEntry doesn't like NULL text.

https://bugzilla.gnome.org/show_bug.cgi?id=769230
2016-08-30 17:15:33 +02:00
Bastien Nocera
dc14602e55 network: Fix saving of IPv6 gateway
https://bugzilla.gnome.org/show_bug.cgi?id=769230
2016-08-30 17:15:33 +02:00
Bastien Nocera
9183d34947 network: Port to libnm 1.2
We also remove support for WiMAX (now unsupported by NetworkManager),
and InfiniBand (Enterprise feature), and the use of
the deprecated NM_SETTING_WIRELESS_SEC property.

With help from network-manager-applet patches by Jiří Klimeš and
Dan Winship.

https://bugzilla.gnome.org/show_bug.cgi?id=765910
2016-05-27 18:23:33 +02:00
Rui Matos
c12cb21065 network: Fix a crash on IPv6 settings dialog
Commit 219a94ed1e added a
g_object_unref() on the wrong line.
2015-03-27 15:00:46 +01:00
Bastien Nocera
219a94ed1e network: Fix GtkListStore leak in IPv{4,6} dialogues
https://bugzilla.gnome.org/show_bug.cgi?id=746411
2015-03-19 16:32:44 +01:00
Bastien Nocera
0a96aa3bcd network: Make "only for this network" work for IPv6 VPNs
https://bugzilla.gnome.org/show_bug.cgi?id=738029
2015-03-09 16:12:25 +01:00
Bastien Nocera
33b1858787 network: Don't save hidden configuration options
When switching from a particular IPv4 or IPv6 "addresses" method to
another, make sure that "address", "DNS" and "routes" are applied or
ignored depending on that method's capabilities.

For example, when switching from manual to automatic IPv4 "addresses"
method, we need to make sure that the old IP address, gateway, etc.
aren't actually used in the new setting.

https://bugzilla.gnome.org/show_bug.cgi?id=734337
2015-03-09 16:07:15 +01:00
Rui Matos
cd5316b7a7 network: Drop deprecated API usage
https://bugzilla.gnome.org/show_bug.cgi?id=740986
2014-12-05 16:13:29 +01:00
Bastien Nocera
d9d5124997 network: Don't stop validating when we get an error
The previous code would stop validating when an error occurred which
meant that when a page contained multiple errors, only the first one(s)
to be checked would appear in red.

Now, all the errors will appear in red.

https://bugzilla.gnome.org/show_bug.cgi?id=734472
2014-08-13 18:38:31 +02:00
Bastien Nocera
62db29b387 network: Make broken configuration entries red
When a configuration setting is wrong, set the entry or file chooser
that contains the incorrect information to be surrounded by red.

This makes it easier for users to find where the error was made that
disallows them to click the "Apply" button.

https://bugzilla.gnome.org/show_bug.cgi?id=734446
2014-08-08 12:00:40 +02:00
Bastien Nocera
55fe239e99 network: Use new listbox helpers
https://bugzilla.gnome.org/show_bug.cgi?id=732106
2014-06-24 11:35:31 +02:00
Giovanni Campagna
8b6f9afb72 network: don't warn for invalid settings
g_warning() is for environment errors, not user errors. Not being
able to click OK is enough to understand that something is wrong,
and if not we should highlight the faulty setting, not spam the logs,
expecially in the middle of digitation. Keep a log anyway, for
debugging.

https://bugzilla.gnome.org/show_bug.cgi?id=724312
2014-02-18 09:48:17 +01: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
Kalev Lember
62f18a2e32 network: Convert connection editor to GtkListBox
https://bugzilla.gnome.org/show_bug.cgi?id=702164
2013-07-02 16:19:09 +01:00
Bastien Nocera
a55000a294 network: Fix compile-time warnings 2013-02-15 13:45:28 +01:00
Dan Winship
510998041a network: mark connection editor changed when editing IPv4/IPv6 pages
When this got rewritten to be different from nm-connection-editor's,
some of the ce_page_changed() calls accidentally got dropped, so
certain changes on these pages would not cause the "Apply" button to
become sensitive.

https://bugzilla.gnome.org/show_bug.cgi?id=693659
2013-02-14 14:43:13 -05: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
Jeremy Bicha
7061457da4 network: Set mnemonic labels for editable text fields for a11y
https://bugzilla.gnome.org/show_bug.cgi?id=693657
2013-02-12 18:07:15 -05:00
Cosimo Cecchi
0969b36a65 network: unfuzzy symbolic buttons and make them square
Use the 'image-button' style class to make symbolic buttons square
(as supported by latest Adwaita), and make sure to use the correct icon
size for all symbolics to avoid fuzzyness.

https://bugzilla.gnome.org/show_bug.cgi?id=693357
2013-02-11 11:43:43 -05:00