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
And virtual devices. Again, listening on the long-lasting client
object but expecting the user_data (the object) to be around when
it might have been destroyed already.
https://bugzilla.gnome.org/show_bug.cgi?id=735932
There probably won't be a stable ModemManager 0.7 release before GNOME
3.8, so make support for it optional
(Mostly based on Aleksander's original patch.)
https://bugzilla.gnome.org/show_bug.cgi?id=688238
When the network doesn't provide a valid text string with the current operator
name, try to guess it using either the 3GPP MCCMNC pair or with the CDMA SID.
Guessing is based on the Mobile Providers Database for which there is an API in
libnm-gtk (>= 0.9.7.995).
The same logic to guess operator name is used in gnome-shell.
The control-center will automatically detect whether the modems exposed by
NetworkManager are from the old or the new interface, and if they are from the
new one it will use the libmm-glib support to gather the required information
from them.
The new ModemManager1 interfaces are exposed by ModemManager >= 0.7; and provide
lots of new functionalities, like:
* Improved connection bearer handling (e.g. multiple bearers at the same time)
* Location support (GPS, LAC/CI, CDMA BS...)
* Full SMS support through the new 'Messaging' interface.
* ...
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
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
The IMEI was not being properly displayed in the UI; the code would load it
reading 'EquipmentIdentifier' from ModemManager, but the UI wasn't getting
refreshed properly when that happened. So at the end, the IMEI was stored but
not shown. This patch fixes the issue, by reloading the UI element when the IMEI
is retrieved.
The same issue was happening with the Operator Code, with the additional issue
being that this property is meant to change whenever the registration info in
the modem changes. Therefore, we now listen to the 'RegistrationInfo' signal to
detect the changes and update the Operator Name when that happens.
https://bugzilla.gnome.org/show_bug.cgi?id=688211
You have to pass the NMDevice to nm_client_activate_connection() for a
device-specific connection. This got broken at some point in the
rewrites since 3.4.
https://bugzilla.gnome.org/show_bug.cgi?id=682469