summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Jaroszewski <b.jarosze@gmail.com>2018-07-11 19:39:07 +0200
committerBartosz Jaroszewski <b.jarosze@gmail.com>2018-07-11 19:39:07 +0200
commitd188a586d4ed6b5e90d6ddbeef67ccb773ef9492 (patch)
tree79473b691312b8125c50b776409968c77159e2b4
parente5c57c2c8e54ac664f68eb0876aeaa77797c97f5 (diff)
parent5049e93dab523ef00694a7074d48dbf75ade802b (diff)
Merge branch 'master' into auto_disconnect
-rw-r--r--extension.js21
-rw-r--r--metadata.json3
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"
]
}