From 412a750dccf9daac18f07c43fbd4bf4953ca38fb Mon Sep 17 00:00:00 2001 From: inso <insomniak.fr@gmaiL.com> Date: Sat, 11 Feb 2017 10:53:20 +0100 Subject: [PATCH] Fix display issue with base one in transfer dialog --- src/sakia/gui/dialogs/transfer/controller.py | 5 ++++- src/sakia/gui/dialogs/transfer/model.py | 10 ++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/sakia/gui/dialogs/transfer/controller.py b/src/sakia/gui/dialogs/transfer/controller.py index 18b6f17b..0b9000bb 100644 --- a/src/sakia/gui/dialogs/transfer/controller.py +++ b/src/sakia/gui/dialogs/transfer/controller.py @@ -94,7 +94,10 @@ class TransferController(QObject): dialog.refresh() current_base = dialog.model.current_base() - current_base_amount = resent_transfer.amount / pow(10, resent_transfer.amount_base - current_base) + if current_base > 1: + current_base_amount = resent_transfer.amount / pow(10, resent_transfer.amount_base - current_base) + else: + current_base_amount = resent_transfer.amount relative = dialog.model.quant_to_rel(current_base_amount / 100) dialog.view.set_spinboxes_parameters(current_base_amount / 100, relative) diff --git a/src/sakia/gui/dialogs/transfer/model.py b/src/sakia/gui/dialogs/transfer/model.py index 90e01526..c9856536 100644 --- a/src/sakia/gui/dialogs/transfer/model.py +++ b/src/sakia/gui/dialogs/transfer/model.py @@ -33,7 +33,10 @@ class TransferModel(QObject): :rtype: int """ dividend, base = self._blockchain_processor.last_ud(self.connection.currency) - amount = rel_value * dividend + if base > 1: + amount = rel_value * dividend + else: + amount = rel_value * dividend * 10**base # amount is rounded to the nearest power of 10 depending of last ud base # rounded = int(pow(10, base) * round(float(amount) / pow(10, base))) return int(amount) / 100 @@ -45,7 +48,10 @@ class TransferModel(QObject): :rtype: float """ dividend, base = self._blockchain_processor.last_ud(self.connection.currency) - relative = amount * 100 / dividend + if base > 1: + relative = amount * 100 / dividend + else: + relative = amount * 100 / (dividend * 10**base) return relative def wallet_value(self): -- GitLab