[gnome-shell] status/network: Emit 'icon-changed' on primary connection changes



commit ca2d39f6fb7c7265f5b3f87fd685174a55192701
Author: Florian Müllner <fmuellner gnome org>
Date:   Fri Aug 5 13:21:26 2022 +0200

    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>

 js/ui/status/network.js | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index d6cad56241..0ae423b682 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -337,6 +337,10 @@ var NMConnectionDevice = class NMConnectionDevice extends NMConnectionSection {
         this._autoConnectItem = this.item.menu.addAction(_("Connect"), this._autoConnect.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(
             'state-changed', this._deviceStateChanged.bind(this),
             'notify::active-connection', this._activeConnectionChanged.bind(this),
@@ -1267,7 +1271,9 @@ var NMDeviceWireless = class extends Signals.EventEmitter {
         this._client.connectObject(
             'notify::wireless-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(
             'notify::active-access-point', this._activeApChanged.bind(this),


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]