status/network: Emit 'icon-changed' on primary connection changes

When deciding on whether to show the 'no-route' icon, we check
for the client's connectivity *and* whether the devices's active
connection is used as primary connection.

This is currently masked by the indicator updating the icon on
connection changes anyway, but items should still notify the
change themselves.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2406>
This commit is contained in:
Florian Müllner 2022-08-05 13:21:26 +02:00
parent 5e533e5f77
commit ca2d39f6fb

View File

@ -337,6 +337,10 @@ var NMConnectionDevice = class NMConnectionDevice extends NMConnectionSection {
this._autoConnectItem = this.item.menu.addAction(_("Connect"), this._autoConnect.bind(this)); this._autoConnectItem = this.item.menu.addAction(_("Connect"), this._autoConnect.bind(this));
this._deactivateItem = this._radioSection.addAction(_("Turn Off"), this.deactivateConnection.bind(this)); this._deactivateItem = this._radioSection.addAction(_("Turn Off"), this.deactivateConnection.bind(this));
this._client.connectObject(
'notify::primary-connection', () => this._iconChanged(),
this);
this._device.connectObject( this._device.connectObject(
'state-changed', this._deviceStateChanged.bind(this), 'state-changed', this._deviceStateChanged.bind(this),
'notify::active-connection', this._activeConnectionChanged.bind(this), 'notify::active-connection', this._activeConnectionChanged.bind(this),
@ -1267,7 +1271,9 @@ var NMDeviceWireless = class extends Signals.EventEmitter {
this._client.connectObject( this._client.connectObject(
'notify::wireless-enabled', this._sync.bind(this), 'notify::wireless-enabled', this._sync.bind(this),
'notify::wireless-hardware-enabled', this._sync.bind(this), 'notify::wireless-hardware-enabled', this._sync.bind(this),
'notify::connectivity', this._iconChanged.bind(this), this); 'notify::connectivity', () => this._iconChanged(),
'notify::primary-connection', () => this._iconChanged(),
this);
this._device.connectObject( this._device.connectObject(
'notify::active-access-point', this._activeApChanged.bind(this), 'notify::active-access-point', this._activeApChanged.bind(this),