status/network: Disable modem connection when windows aren't allowed
The item launches the corresponding Settings panel when activated, which doesn't work when windows are disabled by the session mode. Rather than failing silently, turn the item insensitive. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>
This commit is contained in:
parent
6203668b6c
commit
25793b9d97
@ -563,6 +563,10 @@ var NMDeviceModem = class extends NMConnectionDevice {
|
|||||||
this._iconChanged();
|
this._iconChanged();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._sessionUpdatedId =
|
||||||
|
Main.sessionMode.connect('updated', this._sessionUpdated.bind(this));
|
||||||
|
this._sessionUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
get category() {
|
get category() {
|
||||||
@ -573,6 +577,10 @@ var NMDeviceModem = class extends NMConnectionDevice {
|
|||||||
launchSettingsPanel('network', 'connect-3g', this._device.get_path());
|
launchSettingsPanel('network', 'connect-3g', this._device.get_path());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_sessionUpdated() {
|
||||||
|
this._autoConnectItem.sensitive = Main.sessionMode.hasWindows;
|
||||||
|
}
|
||||||
|
|
||||||
destroy() {
|
destroy() {
|
||||||
if (this._operatorNameId) {
|
if (this._operatorNameId) {
|
||||||
this._mobileDevice.disconnect(this._operatorNameId);
|
this._mobileDevice.disconnect(this._operatorNameId);
|
||||||
@ -582,6 +590,10 @@ var NMDeviceModem = class extends NMConnectionDevice {
|
|||||||
this._mobileDevice.disconnect(this._signalQualityId);
|
this._mobileDevice.disconnect(this._signalQualityId);
|
||||||
this._signalQualityId = 0;
|
this._signalQualityId = 0;
|
||||||
}
|
}
|
||||||
|
if (this._sessionUpdatedId) {
|
||||||
|
Main.sessionMode.disconnect(this._sessionUpdatedId);
|
||||||
|
this._sessionUpdatedId = 0;
|
||||||
|
}
|
||||||
|
|
||||||
super.destroy();
|
super.destroy();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user