NetworkMenu: use the carrier state to the decide if wired should be shown

The design says "when a network cable is connected", not
"When a network cable is connected and the link is up and we
have an IP etc. etc." (which is what ACTIVATED would imply).

https://bugzilla.gnome.org/show_bug.cgi?id=723570
This commit is contained in:
Giovanni Campagna 2014-01-28 23:41:13 +01:00
parent ea1f5a8fc6
commit c4aeaf7fe8

View File

@ -432,16 +432,15 @@ const NMDeviceWired = new Lang.Class({
this.item.menu.addMenuItem(createSettingsAction(_("Wired Settings"), device)); this.item.menu.addMenuItem(createSettingsAction(_("Wired Settings"), device));
}, },
_isConnected: function() { _hasCarrier: function() {
if (!this._device.active_connection) if (this._device instanceof NMClient.DeviceEthernet)
return false; return this._device.carrier;
else
let state = this._device.active_connection.state; return true;
return state >= NetworkManager.ActiveConnectionState.ACTIVATING;
}, },
_sync: function() { _sync: function() {
this.item.actor.visible = this._isConnected(); this.item.actor.visible = this._hasCarrier();
this.parent(); this.parent();
}, },