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
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
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
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
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
Calling nm_client_deactivate_connection() stops a connection and set
it back to auto-activation. In the case of ethernet, that means the
ipconfig scripts start again and the ethernet device becomes 'on'
again, even though the user clicked 'off' in the control center panel.
https://bugzilla.gnome.org/show_bug.cgi?id=700300
For disconnected/unavailable devices, show the localized
NMDeviceStateReason next to the localized NMDeviceState (and not in
the tooltip). Also, move the code to do this into panel-common rather
to save some duplication.
https://bugzilla.gnome.org/show_bug.cgi?id=676117
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
In bug 689638, the designers only asked for the list icons
to be symbolic, not the big icons in the page headings. The
current code was failing on both ends: virtual devices like
vlan still had non-symbolic icons in the list, and several
pages (e.g mobile and proxy) had symbolic icons in the headings.
https://bugzilla.gnome.org/show_bug.cgi?id=693001
It's confusing to call an ethernet device "disconnected" when it is
plugged in but not in use. Just don't say anything instead.
Also, update the icon logic to show the "disconnected" icon in this
state, rather than the "connected" one, since it's confusing for the
icon to change even though the network connection hasn't been
activated.
https://bugzilla.gnome.org/show_bug.cgi?id=646029
In addition to simplifying a bunch of places that were calling
nm_remote_settings_list_connections() +
nm_device_filter_connections(), this also ensures we filter out slave
connections everywhere (except when they are the active connection).
https://bugzilla.gnome.org/show_bug.cgi?id=677145
Rename NetDeviceWired to NetDeviceEthernet, but split out most of the
code into a new NetDeviceSimple superclass that can later be used for
other device types that we provide only minimal UI/support for.
https://bugzilla.gnome.org/show_bug.cgi?id=677143