diff --git a/src/cutecoin/gui/community_tab.py b/src/cutecoin/gui/community_tab.py index 00b65fd6c3e30a6495ec4172062d0b6ae505d80a..d138e580d0f7e2f75bdcd4e32792453540a2c067 100644 --- a/src/cutecoin/gui/community_tab.py +++ b/src/cutecoin/gui/community_tab.py @@ -27,7 +27,7 @@ class CommunityTabWidget(QWidget, Ui_CommunityTabWidget): classdocs ''' - def __init__(self, account, community, password_asker): + def __init__(self, app, account, community, password_asker): ''' Constructor ''' @@ -50,7 +50,7 @@ class CommunityTabWidget(QWidget, Ui_CommunityTabWidget): self.button_membership.setText("Send membership demand") self.button_leaving.hide() - self.wot_tab = WotTabWidget(account, community, password_asker, self) + self.wot_tab = WotTabWidget(app, account, community, password_asker, self) self.tabs_information.addTab(self.wot_tab, QIcon(':/icons/wot_icon'), "WoT") def member_context_menu(self, point): diff --git a/src/cutecoin/gui/currency_tab.py b/src/cutecoin/gui/currency_tab.py index 3f4954442539f17772e0762c2d5fb1ddafbde5a8..b0017eb6d40dd295c09bd3ede73a855a0e66ceeb 100644 --- a/src/cutecoin/gui/currency_tab.py +++ b/src/cutecoin/gui/currency_tab.py @@ -36,7 +36,8 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget): self.community = community self.password_asker = password_asker self.status_label = status_label - self.tab_community = CommunityTabWidget(self.app.current_account, + self.tab_community = CommunityTabWidget(self.app, + self.app.current_account, self.community, self.password_asker) @@ -100,7 +101,8 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget): QIcon(':/icons/tx_icon'), "Transactions") - self.tab_community = CommunityTabWidget(self.app.current_account, + self.tab_community = CommunityTabWidget(self.app, + self.app.current_account, self.community, self.password_asker) self.tabs_account.addTab(self.tab_community, @@ -140,9 +142,6 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget): if self.tab_wallets: self.tab_wallets.refresh() - if self.tab_community: - self.tab_community.wot_tab.refresh() - if self.tab_history.table_history.model(): self.tab_history.table_history.model().dataChanged.emit( QModelIndex(), diff --git a/src/cutecoin/gui/wot_tab.py b/src/cutecoin/gui/wot_tab.py index 66346844b2a74b6d573df8e5de139108d9287668..98165b6c9f6f6aed35e7d639a9a095692b180780 100644 --- a/src/cutecoin/gui/wot_tab.py +++ b/src/cutecoin/gui/wot_tab.py @@ -3,6 +3,7 @@ import logging from cutecoin.core.graph import Graph from PyQt5.QtWidgets import QWidget, QComboBox +from PyQt5.QtCore import pyqtSlot from ..gen_resources.wot_tab_uic import Ui_WotTabWidget from cutecoin.gui.views.wot import NODE_STATUS_HIGHLIGHTED, NODE_STATUS_SELECTED, NODE_STATUS_OUT, ARC_STATUS_STRONG, ARC_STATUS_WEAK from ucoinpy.api import bma @@ -10,7 +11,7 @@ from cutecoin.core.person import Person class WotTabWidget(QWidget, Ui_WotTabWidget): - def __init__(self, account, community, password_asker, parent=None): + def __init__(self, app, account, community, password_asker, parent=None): """ :param cutecoin.core.account.Account account: @@ -37,6 +38,7 @@ class WotTabWidget(QWidget, Ui_WotTabWidget): self.graphicsView.scene().node_contact.connect(self.add_node_as_contact) self.graphicsView.scene().node_member.connect(self.member_informations) + app.monitor.persons_watcher(community).person_changed.connect(self.handle_person_change) self.account = account self.community = community self.password_asker = password_asker @@ -106,6 +108,11 @@ class WotTabWidget(QWidget, Ui_WotTabWidget): """ self.draw_graph(self._current_metadata) + @pyqtSlot(str) + def handle_person_change(self, pubkey): + if pubkey == self._current_metadata['id']: + self.refresh() + def search(self): """ Search nodes when return is pressed in combobox lineEdit