Commit graph

63 commits

Author SHA1 Message Date
Carlos Garnacho
23303245af network: Keep a ref on NetDeviceEthernet while a edition dialog is open
Otherwise, invoking other panel (eg. through shell search, or CLI) and
closing the dialog will result in a crash, as the NetDeviceEthernet
object does no longer exist.
2019-11-29 11:22:56 +01:00
Robert Ancell
f335ed420f network: Move widget code into GtkBuilder 2019-11-06 10:40:23 +13:00
Robert Ancell
39113f6a03 network: Move signals into GtkBuilder files 2019-11-06 10:40:23 +13:00
Robert Ancell
36449d60c7 network: Convert NetDeviceEthernet, NetDeviceBluetooth and NetDeviceMobile to GtkTemplate
This means NetObject is now obsolete and can be removed.

There was a GtkSizeGroup that the mobile settings used, but it isn't clear if
this is still relevant. It should be added back later if found to be (this code
is likely to be removed to make way for a dedicated mobile panel).
2019-11-06 10:40:23 +13:00
Robert Ancell
7e84af0d6d network: Remove net_object_emit_changed
Turns out nothing was actually listening to it.
2019-11-06 10:40:23 +13:00
Robert Ancell
a39ebd5bda network: Remove net_object_get/set_title 2019-11-06 10:40:23 +13:00
Robert Ancell
577762b60c network: Remove NetDevice class
We don't need the NetObject/NetDevice class separation anymore
2019-11-06 10:16:40 +13:00
Robert Ancell
1c92cf4844 network: Remove net_device_get_nm_device 2019-11-06 10:16:40 +13:00
Robert Ancell
0197654177 network: Move helper functions into panel-common.c 2019-11-06 10:16:40 +13:00
Robert Ancell
29734b599c network: Remove net_object_get_client
Better handled inside each object.
2019-11-06 10:16:39 +13:00
Robert Ancell
d7e17ca02f network: Replace method with a helper function.
This removes a case where an object was being temporarily created just to use
this mehtod.
2019-11-06 10:16:39 +13:00
Robert Ancell
966cb97d45 network: Remove net_object_get_cancellable
Only a few objects need it
2019-11-06 10:16:39 +13:00
Robert Ancell
c74d26bf3a network: Remove NetObject id property
This is better handled by comparing objects.
2019-11-06 10:16:39 +13:00
Robert Ancell
0b3ce1e15d network: Remove net_object_get_panel
It was only being used for WiFi devices
2019-11-06 10:16:39 +13:00
Robert Ancell
76de0ce408 network: Simplify net_object_add_to_stack function
Except in the WiFi case it was creating a stack with one child.
All the non-WiFi cases had the same logic.
2019-11-06 10:16:39 +13:00
Robert Ancell
e90ed2df8a network: Stop NetDeviceEthernet deriving from NetDeviceSimple
It overrode everything anyway.
2019-11-06 10:16:39 +13:00
Robert Ancell
d68cb14837 network: Remove unused virtual method 2019-11-06 10:16:20 +13:00
Robert Ancell
0c92c7b461 network: Replace g_object_new with constructors 2019-11-06 10:16:20 +13:00
Robert Ancell
6ab75da5c6 network: Use g_clear_pointer 2019-11-06 10:16:20 +13:00
Robert Ancell
7f410ee1c6 network: Remove helper functions
They're not complex enough or used in enough places to warrant keeping.
They can be better refactored in the classes that use them.
2019-10-22 20:11:45 +00:00
Robert Ancell
75b4e5e061 network: Simplify helper function 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
54f8fce47f network: Connect signals in swapped form 2019-10-22 20:11:44 +00:00
Robert Ancell
3c32ee72ea network: Remove two common functions that are more simply done inside the few cases that use them
The existing code relied on using GtkBuilder, which will no longer work when we
switch to GtkTemplate.
2019-10-01 12:52:42 +13:00
Robert Ancell
4ba3a2c3d1 network: Fix small memory leak 2019-10-01 12:52:23 +13: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
Adrien Plazas
e4de2f5a09 network: Make the rows adaptive
This factorizes the row creation a bit and normalizes the margins and
spacing, reducing the required width. This also makes labels like row
titles and descriptions ellipsizable so the rows can reach narrower
widths.
2019-09-09 22:25:23 +00:00
Adrien Plazas
91af270cce connection-editor: Use GtkTemplate 2019-01-27 21:03:13 +00:00
Georges Basile Stavracas Neto
5d10d7121b
net-device-ethernet: Turn into a final class
This one did not require any specific changes beyond moving
the struct definition to the .c file, and removing the old
style GObject boilerplate. Remarkably easy.
2018-11-05 08:33:21 -02:00
Benjamin Berg
e91266a8f0 network: Fix crash on connection change after device removal
When a device is removed the callback handler could still be called
because it was connected using g_signal_connect rather than
g_signal_connect_object. This fixes crashes in the UI after a device has
been removed again.
2018-05-02 22:29:31 +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
Jonathan Kang
b8568474dc network: Make details labels selectable
https://bugzilla.gnome.org/show_bug.cgi?id=779982
2018-01-26 20:50:00 -02:00
Georges Basile Stavracas Neto
965ef93143 network: Update "Wired" section UI
The current "Wired" section UI is still optimized for
the old, multi-page panel layout. Recent work [1],
however, suggest that this should change and the standard
widgets be rearranged.

This commit, then, implements this new UI for the wired
devices UI by using a listbox row when there's only one
profile (ditching out the old info labels), and moving
and deleting the bottom action buttons.

https://bugzilla.gnome.org/show_bug.cgi?id=785581
2017-08-09 19:32:43 +02:00
Georges Basile Stavracas Neto
158591a346 network: Replace the notebook with a stack
The Network panel uses a GtkNotebook internally to manage
the different setup pages of the network devices. While it
does the job, we now have a modern widget for that: GtkStack.

With GtkStack, managing the pages becomes a lot easier and
we gain almost for free the nice transition between pages,
besides of course being a widget that consumes slightly less
resources.

Besides all these gains, using a GtkStack will allow us to
implement the new Wi-Fi panel in a more cohesive manner,
sharing large portions of code and avoiding copy pasta.

This commit then turns the GtkNotebook into a GtkStack, and
renames and adapts the code to reflect that. Fortunately,
the code got actually simpler with the move.

https://bugzilla.gnome.org/show_bug.cgi?id=784818
2017-07-17 23:40:58 -03:00
Michael Catanzaro
03ebd431b5 network: Fix missing page title on wired panel
The NetDeviceEthernet's title is not set until after the UI is created,
so we have to listen for changes to the title.

https://bugzilla.gnome.org/show_bug.cgi?id=776369
2017-01-04 08:49:45 -06: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
Bastien Nocera
9c70369a34 network: Fix "format not a string literal" error
https://bugzilla.gnome.org/show_bug.cgi?id=764727
2016-04-08 11:31:24 +02:00
Rui Matos
c8986f602a network/net-device-ethernet: Re-work how we keep track of connections
When we're finalizing, the remote settings instance might already be
gone and thus we can't list connections. In particular this happens at
panel finalization resulting in the following warning:

libnm-glib-CRITICAL **: nm_remote_settings_list_connections: assertion
'NM_IS_REMOTE_SETTINGS (settings)' failed

because cc_network_panel_dispose() unrefs the remote settings object
before all the NetDevice instances are finalized.

Since we only need to list connections on finalize to disconnect a
signal we can instead use g_signal_connect_object() and keep the
connections that we're keeping track of in a hash table instead of
g_object_set_data().

https://bugzilla.gnome.org/show_bug.cgi?id=749850
2015-07-15 15:24:21 +02: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
55fe239e99 network: Use new listbox helpers
https://bugzilla.gnome.org/show_bug.cgi?id=732106
2014-06-24 11:35:31 +02:00
Bastien Nocera
40f10f13e6 network: Fix warnings setting mnemonics
Introduced in b5d03b42a0
2013-12-17 11:37:15 +01:00
Vadim Rutkovsky
b5d03b42a0 networking: set mnemonic widget for labels and values in connection details
https://bugzilla.gnome.org/show_bug.cgi?id=719986
2013-12-09 13:45:36 +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
Rui Matos
c5b70a7876 network: Remove unused toplevel windows from .ui files
https://bugzilla.gnome.org/show_bug.cgi?id=708286
2013-10-01 10:05:02 +02:00
Rui Matos
d8bfc9e937 network/net-device-ethernet: Disconnect from NMConnection signals
Otherwise we'll crash in our handler if the signal fires after we're
finalized i.e. user leaves the network panel.

https://bugzilla.gnome.org/show_bug.cgi?id=708468
2013-10-01 10:01:24 +02:00
Matthias Clasen
539b5e0710 network: activate wired profiles when clicked
This was always the intention of the design; we just
didn't get around to it. It is becoming more important now
that the shell system status does not show wired profiles
anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=705935
2013-08-16 11:33:08 -04:00