blob: d521811c64198ef0350a90efff2117148daad675 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
// Copyright 2010-2022 GNOME Shell contributors
// Copyright 2022 Simon McVittie
// SPDX-License-Identifier: GPL-2.0-or-later
//
// Adapted from gnome-shell js/ui/status/bluetooth.js
/* exported BluetoothToggleMenu */
const {GObject} = imports.gi;
const {QuickMenuToggle} = imports.ui.quickSettings;
var BluetoothToggleMenu = GObject.registerClass(
class BluetoothToggleMenu extends QuickMenuToggle {
_init(originalBluetoothToggle) {
super._init({label: originalBluetoothToggle.label});
this._original = originalBluetoothToggle;
this._client = this._original._client;
this._original.bind_property('visible', this, 'visible',
GObject.BindingFlags.SYNC_CREATE);
this._original.bind_property('checked', this, 'checked',
GObject.BindingFlags.SYNC_CREATE);
this._original.bind_property('icon-name', this, 'icon-name',
GObject.BindingFlags.SYNC_CREATE);
this.connect('clicked', () => this._client.toggleActive());
this.menu.setHeader('bluetooth-active-symbolic', originalBluetoothToggle.label);
}
});
|