diff options
author | Bartosz Jaroszewski <b.jarosze@gmail.com> | 2018-07-11 19:39:07 +0200 |
---|---|---|
committer | Bartosz Jaroszewski <b.jarosze@gmail.com> | 2018-07-11 19:39:07 +0200 |
commit | d188a586d4ed6b5e90d6ddbeef67ccb773ef9492 (patch) | |
tree | 79473b691312b8125c50b776409968c77159e2b4 | |
parent | e5c57c2c8e54ac664f68eb0876aeaa77797c97f5 (diff) | |
parent | 5049e93dab523ef00694a7074d48dbf75ade802b (diff) |
Merge branch 'master' into auto_disconnect
-rw-r--r-- | extension.js | 21 | ||||
-rw-r--r-- | metadata.json | 3 |
2 files changed, 20 insertions, 4 deletions
diff --git a/extension.js b/extension.js index a069481..8db7417 100644 --- a/extension.js +++ b/extension.js @@ -63,8 +63,6 @@ class BluetoothDevice { class BluetoothQuickConnect { constructor(bluetooth, settings) { - this._model = bluetooth._model; - this._getDefaultAdapter = bluetooth._getDefaultAdapter; this._menu = bluetooth._item.menu; this._proxy = bluetooth._proxy; this._settings = settings; @@ -73,6 +71,7 @@ class BluetoothQuickConnect { } enable() { + this._loadBluetoothModel(); this._connectSignal(this._menu, 'open-state-changed', (menu, isOpen) => { if (isOpen && this._autoPowerOnEnabled()) this._proxy.BluetoothAirplaneMode = false; @@ -84,7 +83,6 @@ class BluetoothQuickConnect { this._proxy.BluetoothAirplaneMode = false; this._idleMonitor(); - this._sync(); } @@ -109,6 +107,23 @@ class BluetoothQuickConnect { }); } + _loadBluetoothModel() { + this._client = new GnomeBluetooth.Client(); + this._model = this._client.get_model(); + } + + _getDefaultAdapter() { + let [ret, iter] = this._model.get_iter_first(); + while (ret) { + let isDefault = this._model.get_value(iter, GnomeBluetooth.Column.DEFAULT); + let isPowered = this._model.get_value(iter, GnomeBluetooth.Column.POWERED); + if (isDefault && isPowered) + return iter; + ret = this._model.iter_next(iter); + } + return null; + } + _getDevices() { let adapter = this._getDefaultAdapter(); if (!adapter) diff --git a/metadata.json b/metadata.json index ca65bed..b4f7151 100644 --- a/metadata.json +++ b/metadata.json @@ -6,6 +6,7 @@ "settings-schema": "org.gnome.shell.extensions.bluetooth-quick-connect", "gettext-domain": "bluetooth-quick-connect", "shell-version": [ - "3.26.2" + "3.26.2", + "3.28" ] } |