Qt: use color for accounting addresses
This commit is contained in:
@@ -84,6 +84,14 @@
|
|||||||
- It is now possible to create contacts with (lnurl type) lightning
|
- It is now possible to create contacts with (lnurl type) lightning
|
||||||
addresses as payment identifier.
|
addresses as payment identifier.
|
||||||
|
|
||||||
|
* Accounting rules: In order to properly handle on-chain transactions
|
||||||
|
created by lightning channel force closures, we consider that funds
|
||||||
|
successfully redeemed from a script with several possible
|
||||||
|
recipients have never left the final owner's wallet. This avoids
|
||||||
|
having to write balance changes that are to be cancelled later. The
|
||||||
|
corresponding addresses are rendered in the GUI as 'accounting
|
||||||
|
addresses' (in orange).
|
||||||
|
|
||||||
* New plugins:
|
* New plugins:
|
||||||
- Nostr Wallet Connect: This plugin allows remote control of
|
- Nostr Wallet Connect: This plugin allows remote control of
|
||||||
Electrum lightning wallets via Nostr NIP-47.
|
Electrum lightning wallets via Nostr NIP-47.
|
||||||
|
|||||||
@@ -132,6 +132,8 @@ class TxInOutWidget(QWidget):
|
|||||||
legend=_("Wallet Address"), color=ColorScheme.GREEN, tooltip=_("Wallet receiving address"))
|
legend=_("Wallet Address"), color=ColorScheme.GREEN, tooltip=_("Wallet receiving address"))
|
||||||
self.txo_color_change = TxOutputColoring(
|
self.txo_color_change = TxOutputColoring(
|
||||||
legend=_("Change Address"), color=ColorScheme.YELLOW, tooltip=_("Wallet change address"))
|
legend=_("Change Address"), color=ColorScheme.YELLOW, tooltip=_("Wallet change address"))
|
||||||
|
self.txo_color_accounting = TxOutputColoring(
|
||||||
|
legend=_("Accounting Address"), color=ColorScheme.ORANGE, tooltip=_("Address from which funds were swept to your wallet."))
|
||||||
self.txo_color_2fa = TxOutputColoring(
|
self.txo_color_2fa = TxOutputColoring(
|
||||||
legend=_("TrustedCoin (2FA) batch fee"), color=ColorScheme.BLUE, tooltip=_("TrustedCoin (2FA) fee for the next batch of transactions"))
|
legend=_("TrustedCoin (2FA) batch fee"), color=ColorScheme.BLUE, tooltip=_("TrustedCoin (2FA) fee for the next batch of transactions"))
|
||||||
self.txo_color_swap = TxOutputColoring(
|
self.txo_color_swap = TxOutputColoring(
|
||||||
@@ -153,6 +155,7 @@ class TxInOutWidget(QWidget):
|
|||||||
outheader_hbox.addWidget(self.txo_color_change.legend_label)
|
outheader_hbox.addWidget(self.txo_color_change.legend_label)
|
||||||
outheader_hbox.addWidget(self.txo_color_2fa.legend_label)
|
outheader_hbox.addWidget(self.txo_color_2fa.legend_label)
|
||||||
outheader_hbox.addWidget(self.txo_color_swap.legend_label)
|
outheader_hbox.addWidget(self.txo_color_swap.legend_label)
|
||||||
|
outheader_hbox.addWidget(self.txo_color_accounting.legend_label)
|
||||||
|
|
||||||
vbox = QVBoxLayout()
|
vbox = QVBoxLayout()
|
||||||
vbox.addLayout(self.inheader_hbox)
|
vbox.addLayout(self.inheader_hbox)
|
||||||
@@ -179,9 +182,10 @@ class TxInOutWidget(QWidget):
|
|||||||
lnk.setAnchor(True)
|
lnk.setAnchor(True)
|
||||||
lnk.setUnderlineStyle(QTextCharFormat.UnderlineStyle.SingleUnderline)
|
lnk.setUnderlineStyle(QTextCharFormat.UnderlineStyle.SingleUnderline)
|
||||||
tf_used_recv, tf_used_change, tf_used_2fa, tf_used_swap = False, False, False, False
|
tf_used_recv, tf_used_change, tf_used_2fa, tf_used_swap = False, False, False, False
|
||||||
|
tf_used_accounting = False
|
||||||
|
|
||||||
def addr_text_format(addr: str) -> QTextCharFormat:
|
def addr_text_format(addr: str) -> QTextCharFormat:
|
||||||
nonlocal tf_used_recv, tf_used_change, tf_used_2fa, tf_used_swap
|
nonlocal tf_used_recv, tf_used_change, tf_used_2fa, tf_used_swap, tf_used_accounting
|
||||||
sm = self.wallet.lnworker.swap_manager if self.wallet.lnworker else None
|
sm = self.wallet.lnworker.swap_manager if self.wallet.lnworker else None
|
||||||
if self.wallet.is_mine(addr):
|
if self.wallet.is_mine(addr):
|
||||||
if self.wallet.is_change(addr):
|
if self.wallet.is_change(addr):
|
||||||
@@ -201,6 +205,9 @@ class TxInOutWidget(QWidget):
|
|||||||
elif self.wallet.is_billing_address(addr):
|
elif self.wallet.is_billing_address(addr):
|
||||||
tf_used_2fa = True
|
tf_used_2fa = True
|
||||||
return self.txo_color_2fa.text_char_format
|
return self.txo_color_2fa.text_char_format
|
||||||
|
elif self.wallet.is_accounting_address(addr):
|
||||||
|
tf_used_accounting = True
|
||||||
|
return self.txo_color_accounting.text_char_format
|
||||||
return ext
|
return ext
|
||||||
|
|
||||||
def insert_tx_io(
|
def insert_tx_io(
|
||||||
@@ -302,6 +309,7 @@ class TxInOutWidget(QWidget):
|
|||||||
self.txo_color_change.legend_label.setVisible(tf_used_change)
|
self.txo_color_change.legend_label.setVisible(tf_used_change)
|
||||||
self.txo_color_2fa.legend_label.setVisible(tf_used_2fa)
|
self.txo_color_2fa.legend_label.setVisible(tf_used_2fa)
|
||||||
self.txo_color_swap.legend_label.setVisible(tf_used_swap)
|
self.txo_color_swap.legend_label.setVisible(tf_used_swap)
|
||||||
|
self.txo_color_accounting.legend_label.setVisible(tf_used_accounting)
|
||||||
|
|
||||||
def _open_internal_link(self, target):
|
def _open_internal_link(self, target):
|
||||||
"""Accepts either a str txid, str address, or a QUrl which should be
|
"""Accepts either a str txid, str address, or a QUrl which should be
|
||||||
|
|||||||
@@ -1171,6 +1171,7 @@ class ColorScheme:
|
|||||||
LIGHTBLUE = ColorSchemeItem("black", "#d0f0ff")
|
LIGHTBLUE = ColorSchemeItem("black", "#d0f0ff")
|
||||||
DEFAULT = ColorSchemeItem("black", "white")
|
DEFAULT = ColorSchemeItem("black", "white")
|
||||||
GRAY = ColorSchemeItem("gray", "gray")
|
GRAY = ColorSchemeItem("gray", "gray")
|
||||||
|
ORANGE = ColorSchemeItem("#ff9b45", "#ff9b45")
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def has_dark_background(widget):
|
def has_dark_background(widget):
|
||||||
|
|||||||
Reference in New Issue
Block a user