From 4df53d5fd29a76a4941355663ee472f76f5f69e6 Mon Sep 17 00:00:00 2001 From: Vincent Texier <vit@free.fr> Date: Sat, 31 Jan 2015 23:34:19 +0100 Subject: [PATCH] Informations list separated in three groups Catch exceptions on network request --- src/cutecoin/gui/informations_tab.py | 73 ++++++++++++++++++++++------ src/cutecoin/models/parameters.py | 5 -- 2 files changed, 57 insertions(+), 21 deletions(-) diff --git a/src/cutecoin/gui/informations_tab.py b/src/cutecoin/gui/informations_tab.py index 2a7cc5af..86fe7789 100644 --- a/src/cutecoin/gui/informations_tab.py +++ b/src/cutecoin/gui/informations_tab.py @@ -4,6 +4,7 @@ Created on 2 févr. 2014 @author: inso """ +import logging from PyQt5.QtWidgets import QWidget, QHeaderView from PyQt5.QtCore import Qt from ..models.parameters import ParametersModel @@ -25,18 +26,43 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget): self.community = community self.account = account - self.table_currency_informations.HorizontalHeader = QHeaderView(Qt.Orientation(Qt.Horizontal)) - self.table_currency_informations.HorizontalHeader.setSectionResizeMode(QHeaderView.ResizeToContents) - self.table_currency_informations.HorizontalHeader.setStretchLastSection(True) - #self.table_currency_informations.HorizontalHeader.setSectionResizeMode(QHeaderView.Stretch) - self.table_currency_informations.setHorizontalHeader(self.table_currency_informations.HorizontalHeader) - self.table_currency_informations.horizontalHeader().hide() - self.table_currency_informations.verticalHeader().hide() - - params = self.community.get_parameters() - block = self.community.get_ud_block() - infos = [ - # variables + self.table_general.HorizontalHeader = QHeaderView(Qt.Orientation(Qt.Horizontal)) + #self.table_general.HorizontalHeader.setSectionResizeMode(QHeaderView.ResizeToContents) + self.table_general.HorizontalHeader.setStretchLastSection(True) + self.table_general.setHorizontalHeader(self.table_general.HorizontalHeader) + self.table_general.horizontalHeader().hide() + self.table_general.verticalHeader().hide() + + self.table_money.HorizontalHeader = QHeaderView(Qt.Orientation(Qt.Horizontal)) + #self.table_money.HorizontalHeader.setSectionResizeMode(QHeaderView.ResizeToContents) + self.table_money.HorizontalHeader.setStretchLastSection(True) + self.table_money.setHorizontalHeader(self.table_money.HorizontalHeader) + self.table_money.horizontalHeader().hide() + self.table_money.verticalHeader().hide() + + self.table_wot.HorizontalHeader = QHeaderView(Qt.Orientation(Qt.Horizontal)) + #self.table_wot.HorizontalHeader.setSectionResizeMode(QHeaderView.ResizeToContents) + self.table_wot.HorizontalHeader.setStretchLastSection(True) + self.table_wot.setHorizontalHeader(self.table_wot.HorizontalHeader) + self.table_wot.horizontalHeader().hide() + self.table_wot.verticalHeader().hide() + + self.display_tables() + + def display_tables(self): + try: + params = self.community.get_parameters() + except Exception as e: + logging.debug('community get_parameters error : ' + str(e)) + return False + + try: + block = self.community.get_ud_block() + except Exception as e: + logging.debug('community get_ud_block error : ' + str(e)) + return False + + general = [ {'name': 'dividend', 'value': block['dividend'], 'description': 'Universal Dividend UD(t) in currency units'}, {'name': 'monetaryMass', 'value': block['monetaryMass'], @@ -47,7 +73,12 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget): 'description': 'Monetary Mass per member M(t)/N(t) in currency units'}, {'name': 'actualGrowth', 'value': "{:2.2%}".format(block['dividend'] / ((block['monetaryMass'] - (block['membersCount'] * block['dividend'])) / block['membersCount'])), - 'description': 'Actual % Growth (UD(t) / (M(t-1)/Nt))'}, + 'description': 'Actual % Growth (UD(t) / (M(t-1)/Nt))'} + ] + self.table_general.setModel(ParametersModel(general)) + update_table_height(self.table_general, len(general)) + + money = [ # money params {'name': 'c', 'value': "{:2.0%}".format(params['c']), 'description': '% growth'}, @@ -64,7 +95,12 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget): {'name': 'blocksRot', 'value': params['blocksRot'], 'description': 'The number of previous blocks to check for personalized difficulty'}, {'name': 'percentRot', 'value': "{:2.0%}".format(params['percentRot']), - 'description': 'The percent of previous issuers to reach for personalized difficulty'}, + 'description': 'The percent of previous issuers to reach for personalized difficulty'} + ] + self.table_money.setModel(ParametersModel(money)) + update_table_height(self.table_money, len(money)) + + wot = [ # wot params {'name': 'sigDelay', 'value': params['sigDelay'] / 86400, 'description': 'Minimum delay between 2 identical certifications (in days)'}, @@ -79,7 +115,12 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget): {'name': 'stepMax', 'value': params['stepMax'], 'description': 'Maximum distance between each WoT member and a newcomer'}, ] - - self.table_currency_informations.setModel(ParametersModel(infos)) + self.table_wot.setModel(ParametersModel(wot)) + update_table_height(self.table_wot, len(wot)) +def update_table_height(table, rows): + row_height = table.rowHeight(0) + table_height = (rows * row_height) + table.horizontalHeader().height() + (2 * table.frameWidth()) + table.setMinimumHeight(table_height) + table.setMaximumHeight(table_height) diff --git a/src/cutecoin/models/parameters.py b/src/cutecoin/models/parameters.py index 3003763c..f97e632e 100644 --- a/src/cutecoin/models/parameters.py +++ b/src/cutecoin/models/parameters.py @@ -41,11 +41,6 @@ class ParametersModel(QAbstractTableModel): font = QFont() font.setBold(True) return font - elif role == Qt.BackgroundColorRole: - if index.row() > 12: - return QColor("#dddddd") - elif index.row() > 4: - return QColor("#eeeeee") return None def headerData(self, section, orientation, role=Qt.DisplayRole): -- GitLab