network: Simplify connections to the firmware signal
The status item will go away soon, so make sure the one-time fire is given its own function. At the same time, only connect to the signal when the situation actually matters. https://bugzilla.gnome.org/show_bug.cgi?id=701954
This commit is contained in:
parent
465c77ddcf
commit
8bd4895538
@ -376,6 +376,14 @@ const NMDevice = new Lang.Class({
|
|||||||
// in the majority of cases (wired, wwan)
|
// in the majority of cases (wired, wwan)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_firmwareChanged: function() {
|
||||||
|
if (this._firmwareChangedId) {
|
||||||
|
GObject.Object.prototype.disconnect.call(this._device, this._firmwareChangedId);
|
||||||
|
this._firmwareChangedId = 0;
|
||||||
|
}
|
||||||
|
this._substateChanged();
|
||||||
|
},
|
||||||
|
|
||||||
getStatusLabel: function() {
|
getStatusLabel: function() {
|
||||||
if (!this._device)
|
if (!this._device)
|
||||||
return null;
|
return null;
|
||||||
@ -403,9 +411,10 @@ const NMDevice = new Lang.Class({
|
|||||||
// This state is actually a compound of various states (generically unavailable,
|
// This state is actually a compound of various states (generically unavailable,
|
||||||
// firmware missing), that are exposed by different properties (whose state may
|
// firmware missing), that are exposed by different properties (whose state may
|
||||||
// or may not updated when we receive state-changed).
|
// or may not updated when we receive state-changed).
|
||||||
if (!this._firmwareChangedId)
|
|
||||||
this._firmwareChangedId = this._device.connect('notify::firmware-missing', Lang.bind(this, this._substateChanged));
|
|
||||||
if (this._device.firmware_missing) {
|
if (this._device.firmware_missing) {
|
||||||
|
if (!this._firmwareChangedId)
|
||||||
|
this._firmwareChangedId = this._device.connect('notify::firmware-missing', Lang.bind(this, this._firmwareChanged));
|
||||||
|
|
||||||
/* Translators: this is for devices that require some kind of firmware or kernel
|
/* Translators: this is for devices that require some kind of firmware or kernel
|
||||||
module, which is missing */
|
module, which is missing */
|
||||||
return _("firmware missing");
|
return _("firmware missing");
|
||||||
@ -522,11 +531,6 @@ const NMDevice = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_updateStatusItem: function() {
|
_updateStatusItem: function() {
|
||||||
if (this._firmwareChangedId) {
|
|
||||||
GObject.Object.prototype.disconnect.call(this._device, this._firmwareChangedId);
|
|
||||||
this._firmwareChangedId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.statusItem.setStatus(this.getStatusLabel());
|
this.statusItem.setStatus(this.getStatusLabel());
|
||||||
this.statusItem.setToggleState(this.connected);
|
this.statusItem.setToggleState(this.connected);
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user