diff --git a/electrum/gui/qt/utxo_dialog.py b/electrum/gui/qt/utxo_dialog.py index 8d539e419..760cc100e 100644 --- a/electrum/gui/qt/utxo_dialog.py +++ b/electrum/gui/qt/utxo_dialog.py @@ -84,6 +84,7 @@ class UTXODialog(WindowModalDialog): ASCII_PIPE = '│' ASCII_SPACE = ' ' + self.num_reuse = 0 def print_ascii_tree(_txid, prefix, is_last, is_uncle): if _txid not in parents: return @@ -95,6 +96,7 @@ class UTXODialog(WindowModalDialog): c = '' if _txid == txid else (ASCII_EDGE if is_last else ASCII_BRANCH) cursor.insertText(prefix + c, ext) if is_uncle: + self.num_reuse += 1 lnk = QTextCharFormat(self.txo_color_uncle.text_char_format) else: lnk = QTextCharFormat(self.txo_color_parent.text_char_format) @@ -119,7 +121,10 @@ class UTXODialog(WindowModalDialog): vbox = QVBoxLayout() vbox.addWidget(QLabel(_("Output point") + ": " + str(self.utxo.short_id))) vbox.addWidget(QLabel(_("Amount") + ": " + self.main_window.format_amount_and_units(self.utxo.value_sats()))) - vbox.addWidget(QLabel(_("This UTXO has {} parent transactions in your wallet").format(num_parents))) + msg = _("This UTXO has {} parent transactions in your wallet.").format(num_parents) + if self.num_reuse: + msg += '\n' + _('This does not include transactions that are downstream of address reuse.') + vbox.addWidget(WWLabel(msg)) vbox.addWidget(self.parents_list) legend_hbox = QHBoxLayout() legend_hbox.setContentsMargins(0, 0, 0, 0) @@ -128,7 +133,7 @@ class UTXODialog(WindowModalDialog): legend_hbox.addWidget(self.txo_color_uncle.legend_label) vbox.addLayout(legend_hbox) self.txo_color_parent.legend_label.setVisible(True) - self.txo_color_uncle.legend_label.setVisible(True) + self.txo_color_uncle.legend_label.setVisible(bool(self.num_reuse)) vbox.addLayout(Buttons(CloseButton(self))) self.setLayout(vbox) # set cursor to top diff --git a/electrum/gui/qt/utxo_list.py b/electrum/gui/qt/utxo_list.py index dc23805a0..409dc222e 100644 --- a/electrum/gui/qt/utxo_list.py +++ b/electrum/gui/qt/utxo_list.py @@ -262,7 +262,7 @@ class UTXOList(MyTreeView): tx = self.wallet.adb.get_transaction(txid) if tx: label = self.wallet.get_label_for_txid(txid) - menu.addAction(_("View parents"), lambda: self.parent.show_utxo(utxo)) + menu.addAction(_("Privacy analysis"), lambda: self.parent.show_utxo(utxo)) # fully spend menu_spend = menu.addMenu(_("Fully spend") + '…') m = menu_spend.addAction(_("send to address in clipboard"), lambda: self.pay_to_clipboard_address(coins))