status/network: Hide sections if networking is disabled
When moving to quick settings, we will no longer have a single parent we can hide instead. This is only really needed for VPN - devices go away when networking is disabled, connections (as in: configuration) do not - but it's simpler to just handle this in the base class than adding a _shouldBeVisible() method the VPN section can override. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2408>
This commit is contained in:
parent
8e685246e2
commit
cd9284e48f
@ -1342,6 +1342,9 @@ const NMSection = GObject.registerClass({
|
||||
|
||||
this._client?.disconnectObject(this);
|
||||
this._client = client;
|
||||
this._client?.connectObject(
|
||||
'notify::networking-enabled', () => this._sync(),
|
||||
this);
|
||||
|
||||
this._items.forEach(item => item.destroy());
|
||||
this._items.clear();
|
||||
@ -1461,7 +1464,8 @@ const NMSection = GObject.registerClass({
|
||||
}
|
||||
|
||||
_sync() {
|
||||
this.visible = this._items.size > 0;
|
||||
this.visible =
|
||||
this._client?.networking_enabled && this._items.size > 0;
|
||||
this._updateItemsVisibility();
|
||||
this._updateChecked();
|
||||
this._itemBinding.source = this._getPrimaryItem();
|
||||
@ -1875,9 +1879,6 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
this._client.bind_property('nm-running',
|
||||
this, 'visible',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
this._client.bind_property('networking-enabled',
|
||||
this.menu.actor, 'visible',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
|
||||
this._client.connectObject(
|
||||
'notify::primary-connection', () => this._syncMainConnection(),
|
||||
|
Loading…
Reference in New Issue
Block a user