bluetooth: Be consistent when determining whether Bluetooth is off

It would be nice if we could use the same exact condition to decide
whether to show "Off"/"Turn On" vs "On"/"Turn Off" in the menu, since
otherwise we risk showing inconsistent states in each place.

https://bugzilla.gnome.org/show_bug.cgi?id=789110
This commit is contained in:
Mario Sanchez Prada 2017-10-17 18:57:12 +02:00 committed by Georges Basile Stavracas Neto
parent 44894262f4
commit efd8df2fc9

View File

@ -132,14 +132,17 @@ var Indicator = new Lang.Class({
else else
this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode; this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode;
// Bluetooth will be considered 'Off' if either the adapter
// is not available or it's set in airplane mode.
let isBluetoothOff = nConnectedDevices == -1 || this._proxy.BluetoothAirplaneMode;
if (nConnectedDevices > 0) if (nConnectedDevices > 0)
/* Translators: this is the number of connected bluetooth devices */ /* Translators: this is the number of connected bluetooth devices */
this._item.label.text = ngettext("%d Connected", "%d Connected", nConnectedDevices).format(nConnectedDevices); this._item.label.text = ngettext("%d Connected", "%d Connected", nConnectedDevices).format(nConnectedDevices);
else if (nConnectedDevices == -1) else if (isBluetoothOff)
this._item.label.text = _("Off"); this._item.label.text = _("Off");
else else
this._item.label.text = _("On"); this._item.label.text = _("On");
this._toggleItem.label.text = this._proxy.BluetoothAirplaneMode ? _("Turn On") : _("Turn Off"); this._toggleItem.label.text = isBluetoothOff ? _("Turn On") : _("Turn Off");
}, },
}); });