diff --git a/src/sakia/gui/navigation/identities/controller.py b/src/sakia/gui/navigation/identities/controller.py index 8a97f101fe102ec052d86ecd27a86cdaa8e2d4ab..48a7d107ecff49f86b22cfa97b731aee68d64c04 100644 --- a/src/sakia/gui/navigation/identities/controller.py +++ b/src/sakia/gui/navigation/identities/controller.py @@ -70,23 +70,10 @@ class IdentitiesController(QObject): except NoPeerAvailable as e: logging.debug(str(e)) - @once_at_a_time - @asyncify - async def search_direct_connections(self): + def search_direct_connections(self): """ Search identities directly connected to account :return: """ - self_identity = await self.account.identity(self.community) - account_connections = [] - certs_of = await self_identity.unique_valid_certifiers_of(self.app.identities_registry, self.community) - for p in certs_of: - account_connections.append(p['identity']) - certifiers_of = [p for p in account_connections] - certs_by = await self_identity.unique_valid_certified_by(self.app.identities_registry, self.community) - for p in certs_by: - account_connections.append(p['identity']) - certified_by = [p for p in account_connections - if p.pubkey not in [i.pubkey for i in certifiers_of]] - identities = certifiers_of + certified_by + identities = self.model.linked_identities() self.model.refresh_identities(identities) diff --git a/src/sakia/gui/navigation/identities/model.py b/src/sakia/gui/navigation/identities/model.py index ca65f3a7d769b9160711db0370579b86735b6289..e91df361dcbf30100f396403fee2819427ebd3ae 100644 --- a/src/sakia/gui/navigation/identities/model.py +++ b/src/sakia/gui/navigation/identities/model.py @@ -1,3 +1,4 @@ +import asyncio from PyQt5.QtCore import Qt, QObject from .table_model import IdentitiesFilterProxyModel, IdentitiesTableModel @@ -62,3 +63,18 @@ class IdentitiesModel(QObject): If no identities is passed, use the account connections. """ self.table_model.sourceModel().refresh_identities(identities) + + def linked_identities(self): + + # create Identity from node metadata + connection_identity = self.identities_service.get_identity(self.connection.pubkey) + linked = [] + certifier_list = self.identities_service.certifications_received(connection_identity.pubkey) + for certification in tuple(certifier_list): + linked.append(self.identities_service.get_identity(certification.certifier)) + + certified_list = self.identities_service.certifications_sent(connection_identity.pubkey) + for certification in tuple(certified_list): + linked.append(self.identities_service.get_identity(certification.certified)) + + return linked diff --git a/src/sakia/gui/sub/user_information/controller.py b/src/sakia/gui/sub/user_information/controller.py index 09c075c97c8b8c9b9a069e0f8e4e2e48818876f9..5ffb47cce0d62e4c23fcd5e4d68d79b52065b1e7 100644 --- a/src/sakia/gui/sub/user_information/controller.py +++ b/src/sakia/gui/sub/user_information/controller.py @@ -34,6 +34,7 @@ class UserInformationController(QObject): @classmethod def show_identity(cls, parent, app, currency, identity): dialog = QDialog() + dialog.setWindowTitle("Informations") user_info = cls.create(parent, app, currency, identity) user_info.view.setParent(dialog) user_info.refresh() @@ -43,6 +44,7 @@ class UserInformationController(QObject): @asyncify async def search_and_show_pubkey(cls, parent, app, currency, pubkey): dialog = QDialog(parent) + dialog.setWindowTitle("Informations") layout = QVBoxLayout(dialog) tabwidget = QTabWidget(dialog) layout.addWidget(tabwidget)