Commit graph

203 commits

Author SHA1 Message Date
Robert Ancell
75b4e5e061 network: Simplify helper function 2019-10-22 20:11:45 +00:00
Robert Ancell
f03ae7ff93 network: Move common code UI into each widget using it
It was only used twice and better managed in the actual widgets.
2019-10-22 20:11:45 +00:00
Robert Ancell
9b1226aea5 network: Remove helper function with minimal value
This can be more easily optimised away in the modules that use it.
2019-10-22 20:11:45 +00:00
Robert Ancell
4100c69d9c network: Move panel properties into GtkBuilder files 2019-10-22 20:11:45 +00: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
53f9249b83 network: Remove unused GtkBuilder IDs 2019-10-22 20:11:45 +00:00
Robert Ancell
927f0f7954 network: Remove unused widgets 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
d549c9e7bd network: Move non-shared code into the one module that uses it 2019-10-22 20:11:44 +00:00
Robert Ancell
f556af6e67 network: Move includes to correct file locations 2019-10-22 20:11:44 +00:00
Robert Ancell
4955371660 network: Pass widget references rather than relying on names
The existing code relied on using GtkBuilder, which will no longer work when we
switch to GtkTemplate.
2019-10-22 20:11:44 +00:00
Iain Lane
e4508e0130
network: Accept empty values for the cloned mac address
Empty is a valid value here. It means the setting is not set. Two places
need to be updated:

  - the validation function
  - when retrieving the value from the combo, empty strings need to be
    mapped to a setting value of NULL

Closes #677
2019-10-05 12:14:31 +01:00
Robert Ancell
57d7a79034 network: Pass widget references rather than relying on names
The existing code relied on using GtkBuilder, which will no longer work when we
switch to GtkTemplate.
2019-10-01 14:47:23 +13:00
Robert Ancell
1d43f4c0f5 network: Simplify function 2019-10-01 14:46:14 +13:00
Robert Ancell
6d7e552ae1 network: Remove hidden notebook tabs from GtkBuilder files
These tabs are never shown and many were marked for translation.
2019-09-30 16:10:09 +13:00
Mohammed Sadiq
3316f51866 network: Fix a crash when opening connection editor 2019-09-23 13:55:26 +00:00
Philip Withnall
dadf2a4258 network: Add mnemonic for ‘Restrict background data usage’ checkbox
The other checkboxes on this page all have mnemonics. It seems unfair
for the background data usage one to be left out of the party.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-09-17 22:14:51 +00:00
Georges Basile Stavracas Neto
6e6e9952b4 network: fix Add Connection dialog
The Add Connection widgets from the connection
editor dialog weren't properly using the available
space, since they don't expand.

Fix that by making them expand and fill the available
space properly. It also avoids blank space by vertically
centering the list.
2019-09-17 22:14:51 +00:00
Robert Ancell
e70610fe74 network: Use g_autoptr for unref code 2019-09-13 14:20:50 +12:00
Robert Ancell
de84f7e344 network: Use g_autofree for strings 2019-09-13 14:20:50 +12:00
Robert Ancell
01190db349 network: Use g_autoptr for GError handling 2019-09-13 14:20:50 +12:00
Robert Ancell
072d5daf5c network: Add missing warning message about error 2019-09-13 14:20:49 +12:00
Robert Ancell
c27d26e0eb network: Fix GError leaks 2019-09-13 14:15:19 +12:00
Jonathan Kang
90af5b87f9 network: Fix mtu label not requesting enough space
Remove the size group where mtu label belongs, so that it can request
enough space when it becomes visible. Since the size group is removed,
filler widget is no longer useful. Remove it as well.
2019-07-15 03:35:59 +00:00
Iain Lane
566db3a35f network: Handle cloned-mac setting
This can be set to 'preserve', 'permanent', 'random' or 'stable'. We
need to handle these values otherwise we can end up with the editor
being un-saveable.

Turn the entry in to a GtkComboBoxText with those items in it, allowing
a mac address to be typed too.

Partial copy of 85b6b659a140a59c3df787062e089a0b4e2a547d from
network-manager-applet.
2019-06-27 03:37:37 +00:00
Adrien Plazas
91af270cce connection-editor: Use GtkTemplate 2019-01-27 21:03:13 +00:00
Benjamin Berg
417624cdab wifi: Fix invalid variant unref in connection editor
If the WiFi secret is not set, then a NULL variant is passed back. We
should not free this variant. Fix this by using g_autoptr instead.
2019-01-07 15:28:38 +01:00
Robert Ancell
41e3426873 network: Fix warning about freeing const string
The use of g_clear_pointer (&str, g_free) with str being a const gchar *
caused warning errors.

Instead of using str for both constant and allocated strings use separate
variables. Autofree the allocated strings.
2018-11-14 10:40:10 +00:00
Robert Ancell
bf67ebc34e wifi: Don't translate placeholder text
Placeholder text was marked as translatable, but this is always replaced so
no need to translate it. Remove two unused tabs with translatable labels.
2018-08-27 22:48:05 +00: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
Georges Basile Stavracas Neto
5659271ec3 build: Drop remaining libnm-glib usage
This library is deprecated for a long time now, and Fedora Rawhide
removed the package. Since our CI is based on Rawhide, it began
to fail.

In the end, the usage was just legacy code that doesn't exist anymore,
so it's pretty safe to just plain drop it.
2018-03-16 13:03:04 -03:00
Benjamin Berg
72ef675a36 network: Fix warning about missing cast to GtkWidget*
https://bugzilla.gnome.org/show_bug.cgi?id=794171
2018-03-12 16:15:19 +01:00
Bastien Nocera
6df5cc00ce network: Really really fix cloned MAC support
And now that we're reading a text entry, read the correct one 🙄
Follow-up to a2a70c7
2018-02-16 13:26:13 +01:00
Bastien Nocera
9b9e0e076a network: Don't show "Auto-connect" for VPNs
It's not supported for VPNs.

https://bugzilla.gnome.org/show_bug.cgi?id=792365
2018-02-16 10:52:08 +01:00
Bastien Nocera
c50d1adb0f network: Don't warn when setting empty IPv4 gateway
Set an empty string when there's no IPv4 gateway rather than warn.
2018-02-06 11:11:56 +01:00
Bastien Nocera
a2a70c7376 network: Really fix clone MAC support
This isn't a container, but a text entry. Bug introduced in commit
6b043fd.
2018-02-06 11:10:53 +01: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
Bastien Nocera
6b043fd3dd network: Fix cloned MAC not being saved for Ethernet
We read the MAC as being the cloned MAC, which NM would likely take to
mean that we didn't want a cloned MAC.

See https://bugzilla.redhat.com/show_bug.cgi?id=1467295

https://bugzilla.gnome.org/show_bug.cgi?id=793072
2018-02-06 10:42:18 +01:00
Georges Basile Stavracas Neto
24abbcf303 network: Turn metered data switch into a check button
Per guidance of the design team, since the dialog has not
enough room for switches.
2018-01-18 14:00:23 -02:00
Iñigo Martínez
dc0988d47c build: Remove autotools
To avoid the burden of maintaining multiple build systems, this
patch removes autotools support.

https://bugzilla.gnome.org/show_bug.cgi?id=785414
2018-01-18 12:20:08 +01:00
Georges Basile Stavracas Neto
a37d04df42 connection-editor: Expose metered connection switch
NetworkManager supports marking a connection as metered, meaning
that connection is e.g. charged by its usage or extremely limited.
When a network is metered, background network usage must cease
and the behavior of the various OS pieces must be adjusted.

This patch adds a switch to set a connection as metered or not.
The property is imediately propagated to NetworkManager.

https://bugzilla.gnome.org/show_bug.cgi?id=792608
2018-01-18 00:37:31 -02:00
Iñigo Martínez
32edd6789e build: Port to meson build system
Meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.

https://bugzilla.gnome.org/show_bug.cgi?id=785414
2018-01-17 20:09:35 -02:00
Scott Cohen
87c69ed955 network: Fix typo in error message
Replaced "conneciton" with "connection" (both without quotes) in
panels/network/connection-editor/net-connection-editor.c:860.

https://bugzilla.gnome.org/show_bug.cgi?id=785100
2017-08-18 11:36:21 -03: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
21943a42bf network: Ensure WirelessSecurity type is initialized
When calling for the wireless security widgets, the code
simply assumes that the corresponding GType is initialized.
This may not always be true, which leads to a nasty crash
every time e.g. we open the network connection editor dialog.

This commit fixes that by introducing a new standard macro
wrapping wireless_security_get_type(), and ensuring the type
is initializing when calling wireless_security_init(), thus
protecting every code path from this crash.

This commit also makes CePageSecurity use the new macro for
better legibility.

https://bugzilla.gnome.org/show_bug.cgi?id=785581
2017-08-09 19:32:43 +02:00