diff options
author | Bartosz Jaroszewski <b.jarosze@gmail.com> | 2020-05-17 13:34:27 +0200 |
---|---|---|
committer | Bartosz Jaroszewski <b.jarosze@gmail.com> | 2020-05-17 13:34:27 +0200 |
commit | a7a94523dd8432a731b497a90de7b119bcd34f29 (patch) | |
tree | 3c1a623c877ac175e91cf8e8d449155b8a6c689b | |
parent | 3e173911f5aeeaa4572bc4d972cd4673a64f2fa0 (diff) |
add show refresh button configuration
-rw-r--r-- | Settings.ui | 43 | ||||
-rw-r--r-- | extension.js | 7 | ||||
-rw-r--r-- | prefs.js | 7 | ||||
-rw-r--r-- | schemas/org.gnome.shell.extensions.bluetooth-quick-connect.gschema.xml | 4 | ||||
-rw-r--r-- | ui.js | 4 |
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; @@ -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> @@ -120,6 +120,10 @@ var PopupBluetoothDeviceMenuItem = GObject.registerClass( this._pending(); } + hideRefreshButton() { + this._refreshButton.hide(); + } + _pending() { this._refreshButton.hide(); this._switch.hide(); |