diff --git a/CHANGELOG.md b/CHANGELOG.md index 11fcc3c0c..8459047a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ * Handle os.remove failing * Fix disconnecting NMDevice * Untranslated string in DiscvManager +* Searching (with Ctrl+F in manager device list) did not work +* Default PIN lookup ## 2.1.1 diff --git a/blueman/bluez/obex/Client.py b/blueman/bluez/obex/Client.py index 9dadb799f..3409a10e0 100644 --- a/blueman/bluez/obex/Client.py +++ b/blueman/bluez/obex/Client.py @@ -9,7 +9,7 @@ class Client(Base): __gsignals__: GSignals = { - 'session-failed': (GObject.SignalFlags.NO_HOOKS, None, (str,)), + 'session-failed': (GObject.SignalFlags.NO_HOOKS, None, (object,)), } _interface_name = 'org.bluez.obex.Client1' diff --git a/blueman/gui/manager/ManagerDeviceList.py b/blueman/gui/manager/ManagerDeviceList.py index b6f4ab6e6..76f33fe60 100644 --- a/blueman/gui/manager/ManagerDeviceList.py +++ b/blueman/gui/manager/ManagerDeviceList.py @@ -82,7 +82,7 @@ def __init__(self, adapter=None, inst=None): Gtk.Widget.drag_dest_set(self, Gtk.DestDefaults.ALL, [], Gdk.DragAction.COPY | Gdk.DragAction.DEFAULT) Gtk.Widget.drag_dest_add_uri_targets(self) - self.set_search_equal_func(self.search_func, None) + self.set_search_equal_func(self.search_func) self._faderhandlers: Dict[str, int] = {} diff --git a/blueman/gui/manager/ManagerProgressbar.py b/blueman/gui/manager/ManagerProgressbar.py index 4d7a6818c..0b94e771b 100644 --- a/blueman/gui/manager/ManagerProgressbar.py +++ b/blueman/gui/manager/ManagerProgressbar.py @@ -76,7 +76,9 @@ def _on_clicked(self, evbox, event): self.emit("cancelled") def connect(self, *args): - self._signals.append(super().connect(*args)) + handler_id = super().connect(*args) + self._signals.append(handler_id) + return handler_id def show(self): if not self.Blueman.Config["show-statusbar"]: @@ -124,7 +126,8 @@ def finalize(self): self.Blueman.Builder.get_object("statusbar").props.visible = False for sig in self._signals: - self.disconnect(sig) + if self.handler_is_connected(sig): + self.disconnect(sig) self._signals = [] def set_cancellable(self, b, hide=False): diff --git a/blueman/main/Manager.py b/blueman/main/Manager.py index 4ff13018a..fe4e969c1 100644 --- a/blueman/main/Manager.py +++ b/blueman/main/Manager.py @@ -178,9 +178,7 @@ def prop_changed(lst, adapter, key_value): key, value = key_value if key == "Discovering" and not value: prog.finalize() - # FIXME for some reason the signal handler is None - if proghandler is not None: - prog.disconnect(proghandler) + prog.disconnect(proghandler) self.List.disconnect(s1) self.List.disconnect(s2) diff --git a/blueman/main/applet/BluezAgent.py b/blueman/main/applet/BluezAgent.py index 689e340a4..e6df3f7db 100644 --- a/blueman/main/applet/BluezAgent.py +++ b/blueman/main/applet/BluezAgent.py @@ -195,7 +195,7 @@ def passkey_dialog_cb(dialog, response_id): def _on_device_property_changed(self, device, key, value, path): if (key == "Paired" and value) or (key == "Connected" and not value): handlerid = self._devhandlerids.pop(path) - device.disconnect(handlerid) + device.disconnect_signal(handlerid) self._on_cancel() def _on_release(self): @@ -220,7 +220,8 @@ def _on_request_pin_code(self, device_path, ok, err): default_pin = self._lookup_default_pin(device_path) if default_pin is not None: logging.info(f"Sending default pin: {default_pin}") - return default_pin + ok(default_pin) + return self.ask_passkey(dialog_msg, notify_msg, False, True, device_path, ok, err) if self.dialog: diff --git a/blueman/plugins/manager/Info.py b/blueman/plugins/manager/Info.py index e4a904785..7143cbebd 100644 --- a/blueman/plugins/manager/Info.py +++ b/blueman/plugins/manager/Info.py @@ -17,9 +17,9 @@ def format_boolean(x): def format_rssi(rssi): if rssi in [0x99, 0x7f]: - f'invalid (0x{rssi:02x})' + return f'invalid (0x{rssi:02x})' else: - f'{rssi} dBm (0x{rssi:02x})' + return f'{rssi} dBm (0x{rssi:02x})' def format_uuids(uuids): return "\n".join([uuid + ' ' + ServiceUUID(uuid).name for uuid in uuids])