electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 2ce8dd460b254bf56c5fbad38aadbaad41331316
parent 4007720b3457dbdd83f9c33a77b6e5c2834d87d5
Author: roth <roth-a@gmx.de>
Date:   Thu, 28 Nov 2019 21:40:28 +0100

Color-Code Addresses in Kivy UI (#5774)

* Added static coloring of the TX output dialog.

Coloring was suggested in #5750 
Diffstat:
Melectrum/gui/kivy/main.kv | 17++++++++++++++++-
Melectrum/gui/kivy/uix/dialogs/tx_dialog.py | 26++++++++++++++++++++++++++
2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/electrum/gui/kivy/main.kv b/electrum/gui/kivy/main.kv @@ -67,6 +67,17 @@ size_hint_x: None size: '30dp', '30dp' + +<BackgroundColor@Widget> + background_color: 0, 0, 0, 1 + canvas.before: + Color: + rgba: root.background_color + Rectangle: + size: self.size + pos: self.pos +<BackgroundTopLabel@TopLabel+BackgroundColor> + background_color: 0, 0, 0, 1 ######################### @@ -88,11 +99,15 @@ <OutputItem> address: '' value: '' + background_color: 0, 0, 0, 1 + color: 1, 1, 1, 1 size_hint_y: None height: max(lbl1.height, lbl2.height) - TopLabel + BackgroundTopLabel id: lbl1 text: '[ref=%s]%s[/ref]'%(root.address, root.address) + color: root.color + background_color: root.background_color font_size: '6pt' shorten: True size_hint_x: 0.65 diff --git a/electrum/gui/kivy/uix/dialogs/tx_dialog.py b/electrum/gui/kivy/uix/dialogs/tx_dialog.py @@ -10,6 +10,7 @@ from kivy.clock import Clock from kivy.uix.label import Label from kivy.uix.dropdown import DropDown from kivy.uix.button import Button +from kivy.utils import get_color_from_hex from .question import Question from electrum.gui.kivy.i18n import _ @@ -181,6 +182,31 @@ class TxDialog(Factory.Popup): self.fee_str = _('unknown') self.feerate_str = _('unknown') self.ids.output_list.update(self.tx.outputs()) + + def text_format(addr): + """ + Chooses the appropriate text color and background color to + mark receiving, change and billing addresses. + + Returns: color, background_color + """ + + # modified colors (textcolor, background_color) from electrum/gui/qt/util.py + GREEN = ("#000000", "#8af296") + YELLOW = ("#000000", "#ffff00") + BLUE = ("#000000", "#8cb3f2") + DEFAULT = ('#ffffff', '#4c4c4c') + + colors = DEFAULT + if self.wallet.is_mine(addr): + colors = YELLOW if self.wallet.is_change(addr) else GREEN + elif self.wallet.is_billing_address(addr): + colors = BLUE + return (get_color_from_hex(color) for color in colors) + + for dict_entry in self.ids.output_list.data: + dict_entry['color'], dict_entry['background_color'] = text_format(dict_entry['address']) + self.is_local_tx = tx_mined_status.height == TX_HEIGHT_LOCAL self.update_action_button()