summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Jaroszewski <b.jarosze@gmail.com>2020-05-17 13:34:27 +0200
committerBartosz Jaroszewski <b.jarosze@gmail.com>2020-05-17 13:34:27 +0200
commita7a94523dd8432a731b497a90de7b119bcd34f29 (patch)
tree3c1a623c877ac175e91cf8e8d449155b8a6c689b
parent3e173911f5aeeaa4572bc4d972cd4673a64f2fa0 (diff)
add show refresh button configuration
-rw-r--r--Settings.ui43
-rw-r--r--extension.js7
-rw-r--r--prefs.js7
-rw-r--r--schemas/org.gnome.shell.extensions.bluetooth-quick-connect.gschema.xml4
-rw-r--r--ui.js4
5 files changed, 63 insertions, 2 deletions
diff --git a/Settings.ui b/Settings.ui
index 39a2b12..06d7424 100644
--- a/Settings.ui
+++ b/Settings.ui
@@ -274,6 +274,49 @@ SPDX-License-Identifier: GPL-2.0-or-later
</child>
</object>
</child>
+ <child>
+ <object class="GtkListBoxRow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="margin_right">12</property>
+ <property name="margin_top">12</property>
+ <property name="margin_bottom">12</property>
+ <property name="column_spacing">32</property>
+ <child>
+ <object class="GtkSwitch" id="refresh_button_on">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="halign">end</property>
+ <property name="valign">center</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="refresh_button_on_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="label" translatable="yes">Show reconnect button</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+
</object>
</child>
<child type="label_item">
diff --git a/extension.js b/extension.js
index 1432dad..cff5c84 100644
--- a/extension.js
+++ b/extension.js
@@ -196,6 +196,9 @@ class BluetoothQuickConnect {
_addDevicesToMenu() {
this._getPairedDevices().forEach((device) => {
device.item.isEmitActivatedEnabled = !this._keepMenuOnToggle();
+ if (!this._showRefreshButton())
+ device.item.hideRefreshButton();
+
this._menu.addMenuItem(device.item, 1);
});
}
@@ -232,6 +235,10 @@ class BluetoothQuickConnect {
_keepMenuOnToggle() {
return this._settings.get_boolean('keep-menu-on-toggle');
}
+
+ _showRefreshButton() {
+ return this._settings.get_boolean('refresh-button-on');
+ }
}
let bluetoothQuickConnect = null;
diff --git a/prefs.js b/prefs.js
index 65b01d7..235a1b9 100644
--- a/prefs.js
+++ b/prefs.js
@@ -65,8 +65,11 @@ class SettingsBuilder {
let autoPowerOffInterval = this._builder.get_object('auto_power_off_interval');
this._settings.bind('bluetooth-auto-power-off-interval', autoPowerOffInterval, 'value', Gio.SettingsBindFlags.DEFAULT);
- let keepMenuOnToggle = this._builder.get_object('keep_menu_on_toggle');
- this._settings.bind('keep-menu-on-toggle', keepMenuOnToggle, 'active', Gio.SettingsBindFlags.DEFAULT);
+ let keepMenuOnToggleSwitch = this._builder.get_object('keep_menu_on_toggle');
+ this._settings.bind('keep-menu-on-toggle', keepMenuOnToggleSwitch, 'active', Gio.SettingsBindFlags.DEFAULT);
+
+ let refreshButtonOnSwitch = this._builder.get_object('refresh_button_on');
+ this._settings.bind('refresh-button-on', refreshButtonOnSwitch, 'active', Gio.SettingsBindFlags.DEFAULT);
}
}
diff --git a/schemas/org.gnome.shell.extensions.bluetooth-quick-connect.gschema.xml b/schemas/org.gnome.shell.extensions.bluetooth-quick-connect.gschema.xml
index 60887ca..1a62336 100644
--- a/schemas/org.gnome.shell.extensions.bluetooth-quick-connect.gschema.xml
+++ b/schemas/org.gnome.shell.extensions.bluetooth-quick-connect.gschema.xml
@@ -22,5 +22,9 @@ SPDX-License-Identifier: GPL-2.0-or-later
<default>false</default>
<summary>Keep the menu open after toggling the connection</summary>
</key>
+ <key name="refresh-button-on" type="b">
+ <default>false</default>
+ <summary>Show reconnect button</summary>
+ </key>
</schema>
</schemalist>
diff --git a/ui.js b/ui.js
index be134de..b18f3df 100644
--- a/ui.js
+++ b/ui.js
@@ -120,6 +120,10 @@ var PopupBluetoothDeviceMenuItem = GObject.registerClass(
this._pending();
}
+ hideRefreshButton() {
+ this._refreshButton.hide();
+ }
+
_pending() {
this._refreshButton.hide();
this._switch.hide();