diff --git a/src/sakia/gui/dialogs/transfer/controller.py b/src/sakia/gui/dialogs/transfer/controller.py index 18b6f17b18294a590b1bf1113429225b061a21c2..0b9000bbe078ba0bcc9cac5ca9b42953bfc47d3f 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 90e015265f4d0f27b01bd819a51fd4d938d73acd..c9856536725a26adacac4ca48e250724a0434b4d 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):