v0.4.8: seven UX fixes for the BAL inheritance plugin
- #04: Raw/Date selector now reappears on the WILL/HEIR tabs when switching to ADVANCED (and when a raw value is pushed from the wizard), keeping the current value/editor. New BalTimeEditWidget.apply_user_type_visibility() wired into WillSettingsWidget for both the locktime and check-alive boxes. - #3: Building Will report window minimum height 500 -> 450 px. - #5: 'User Type' setting moved to the bottom, above 'Rebroadcast transactions'. - #6: enabling ADVANCED now requires typing 'at My Risk' (case-insensitive); wrong phrase or cancel reverts to BASIC. QInputDialog added to common import. - #7a: on CHECK with an emptied wallet, an extra reassuring line is shown on 'Checking your will': 'Inheritance already executed (on blockchain)' in GREEN (CONFIRMED) or 'Inheritance in mempool (waiting confirmation)' in ORANGE (MEMPOOL). New _executed_inheritance_status() helper. - #7b: 'Balance is too low, or CheckAlive is in the past. Skipped' (space added) recoloured to ORANGE instead of red. - Reset button renamed 'Reset setting' -> 'Reset to Default Setting'. - Added tests/test_group_h_v048.py (8 tests). Version 0.4.7 -> 0.4.8. Full suite: 266 passed; ruff clean; CHANGELOG #24; memory updated (#04 done).
This commit is contained in:
@@ -355,6 +355,41 @@ the label) would also fix TASK #03. Keep them linked: solving "unify invalidate"
|
||||
classic window (PROCEDURE 1) resolves #03 automatically. If implemented separately, the minimal fix is to
|
||||
add set_label("BAL Invalidate transaction") in the PROCEDURE 2 broadcast path.
|
||||
|
||||
### TASK #04 — Raw/Date selector combo not shown on the WILL/HEIR tabs (only inside the wizard)
|
||||
**User (translated from Italian):** "when I select Advanced in the plugin settings, the Raw mode of the
|
||||
locktime and check-alive boxes only appears inside the wizard, and no longer on the Will and Heir tabs,
|
||||
even if I tick the 'panel editable fee and date' setting. Inside the wizard it works perfectly; outside the
|
||||
wizard only the DATE works." Plus: "if I set Raw inside the wizard for check-alive/locktime, then on the
|
||||
Will/Heir tabs the raw number appears, but NOT the box to choose Raw or Date."
|
||||
**ANALYSIS (already done, confirmed by reading the code):**
|
||||
- Each date/locktime field is `BalTimeEditWidget` (widgets.py). Its `__init__` reads `is_basic_mode()` ONCE
|
||||
(line ~293) and, in BASIC, hides the Raw/Date combo (line ~336 `self.combo.setVisible(False)`).
|
||||
- The WILL/HEIR tab toolbars are created ONCE and REUSED for the whole session (not rebuilt on USER TYPE
|
||||
change), so the combo stays in its initial (hidden) state.
|
||||
- `apply_user_type_visibility()` (widgets.py ~888), called from `BalWindow.update_all()` (window.py ~1343)
|
||||
on a BASIC<->ADVANCED switch, ONLY toggles the Check-Alive ROW visibility (`threshold.setVisible(not basic)`,
|
||||
line ~919). It NEVER touches `self.combo.setVisible(...)` nor the editor.
|
||||
- Raw value showing but combo hidden: when the wizard saves a raw value, `update_setting_widgets` ->
|
||||
`update_widget_value` -> `set_value(raw)` writes the value into the active editor (so the raw NUMBER shows),
|
||||
and `update_combo_setting_widgets` -> `set_index` sets the combo INDEX to Raw "behind the scenes" — but the
|
||||
combo is still `setVisible(False)`, so the selector box stays invisible.
|
||||
- The wizard works only because it is RECREATED on every open (re-reads the current mode).
|
||||
**ROOT CAUSE (unified):** the Raw/Date combo on the toolbars is hidden permanently at `__init__` and nothing
|
||||
ever makes it visible again, neither on ADVANCED switch nor when a raw value arrives.
|
||||
**PROPOSED FIX (to detail in PLAN):** add a method to `BalTimeEditWidget` (e.g. `apply_user_type_visibility()`)
|
||||
that re-reads `is_basic_mode()` and does `self.combo.setVisible(not basic)` WITHOUT changing the current value
|
||||
or editor (per user req #1: keep current value to avoid confusion between date and inheritance). Call it from
|
||||
`WillSettingsWidget.apply_user_type_visibility()` for BOTH `locktime` AND `threshold` (per user req #2: applies
|
||||
to both boxes). So toggling BASIC<->ADVANCED, and a raw value pushed from the wizard, both correctly reveal the
|
||||
combo on the already-existing WILL/HEIR toolbars without restarting Electrum.
|
||||
**USER CONFIRMATIONS:** (1) on ADVANCED, show the combo but KEEP the current value/editor (do not reset) to
|
||||
avoid confusing date vs inheritance; (2) applies to BOTH locktime AND check-alive boxes.
|
||||
|
||||
### TASK #04 STATUS: DONE in v0.4.8 (user approved, implemented this session).
|
||||
### Fix: added BalTimeEditWidget.apply_user_type_visibility() (shows/hides the Raw/Date
|
||||
### combo, keeps current value/editor) and wired it into WillSettingsWidget.apply_user_type_visibility()
|
||||
### for BOTH locktime and threshold. Delivered together with the other v0.4.8 UX changes.
|
||||
|
||||
### DO NOT ACT on #01/#02/#03. Saved to to-do list only. Wait for user to add more or to choose one;
|
||||
### then DISCOVER -> PLAN -> wait OK (R4) -> zip-first.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user