diff --git a/src/seedsigner/gui/screens/psbt_screens.py b/src/seedsigner/gui/screens/psbt_screens.py index 89bef6b1..053d47e5 100644 --- a/src/seedsigner/gui/screens/psbt_screens.py +++ b/src/seedsigner/gui/screens/psbt_screens.py @@ -118,8 +118,12 @@ class PSBTOverviewScreen(ButtonListScreen): # max_destination_col_width += curve_width # Now let's maximize the actual destination col by adjusting our addr truncation - def calculate_destination_col_width(truncate_at: int): + def calculate_destination_col_width(truncate_at: int = 0): def truncate_destination_addr(addr): + # TODO: Properly handle the ellipsis truncation in different languages + if len(addr) <= truncate_at + len("..."): + # No point in truncating + return addr return f"{addr[:truncate_at]}..." destination_column = [] @@ -129,7 +133,7 @@ class PSBTOverviewScreen(ButtonListScreen): destination_column.append(truncate_destination_addr(addr)) for i in range(0, self.num_self_transfer_outputs): - destination_column.append(f"self-transfer") + destination_column.append(truncate_destination_addr("self-transfer")) else: # destination_column.append(f"{len(self.destination_addresses)} recipients") destination_column.append(f"recipient 1") @@ -151,10 +155,10 @@ class PSBTOverviewScreen(ButtonListScreen): if len(self.destination_addresses) + self.num_self_transfer_outputs > 3: # We're not going to display any destination addrs so truncation doesn't matter - (destination_text_width, destination_column) = calculate_destination_col_width(truncate_at=0) + (destination_text_width, destination_column) = calculate_destination_col_width() else: # Steadliy widen out the destination column until we run out of space - for i in range(6, 13): + for i in range(6, 14): (new_width, new_col_text) = calculate_destination_col_width(truncate_at=i) if new_width > max_destination_col_width: break