From 9c6d7617d342a6595c671bdaa562815bcf0edc83 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Sat, 3 Feb 2024 11:42:40 +0000 Subject: [PATCH] qt NetworkDialog: sort bookmarked servers to top --- electrum/gui/qt/network_dialog.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/electrum/gui/qt/network_dialog.py b/electrum/gui/qt/network_dialog.py index a47f6528f..1ad70a090 100644 --- a/electrum/gui/qt/network_dialog.py +++ b/electrum/gui/qt/network_dialog.py @@ -192,15 +192,16 @@ class NodesListWidget(QTreeWidget): disconnected_servers_item.setData(0, self.ITEMTYPE_ROLE, self.ItemType.TOPLEVEL) connected_hosts = set([iface.host for ifaces in chains.values() for iface in ifaces]) protocol = PREFERRED_NETWORK_PROTOCOL - for _host, d in sorted(servers.items()): - if _host in connected_hosts: + server_addrs = [ + ServerAddr(_host, port, protocol=protocol) + for _host, d in servers.items() + if (port := d.get(protocol))] + server_addrs.sort(key=lambda x: (-network.is_server_bookmarked(x), str(x))) + for server in server_addrs: + if server.host in connected_hosts: continue - if _host.endswith('.onion') and not use_tor: + if server.host.endswith('.onion') and not use_tor: continue - port = d.get(protocol) - if not port: - continue - server = ServerAddr(_host, port, protocol=protocol) item = QTreeWidgetItem([server.net_addr_str(), ""]) item.setData(0, self.ITEMTYPE_ROLE, self.ItemType.DISCONNECTED_SERVER) item.setData(0, self.SERVER_ADDR_ROLE, server)