feat(bal): Group C settings-dialog improvements (editable dates, narrower RAW box, warning/reset/support, tooltips, bold locktime)
C2 - 'Editable dates' option (default OFF):
- new EDITABLE_DATES config; checkbox in settings dialog
- WillSettingsWidget.apply_editable_dates() re-locks/unlocks the
delivery-time and check-alive fields, called from update_all() so the
toggle takes effect immediately (same mechanism as Hide Invalidated)
- EDITABLE_DATES included in the Reset-to-defaults list
C3 - RAW date box narrowed to ~1/3 (input box 6 chars); the trailing
label that shows the computed absolute date kept at 10 chars (fixed a
truncation regression)
C4 - settings dialog:
(a) bold red warning at the top
(b) 'Reset setting' button restoring all 7 dialog settings to defaults
(single source of truth: BalConfig.default), not touching wills
(c) bold 'Support: bitcoin-after.life' link (opens via webopen)
C5 - tooltips: calendar 'Export reminder dates to your calendar (.ics)',
fee field 'Mining fee rate in sat/vByte used for the will transactions',
fee '丰' icon 'Miner fee, click for more information' (tooltip font scoped
to QPushButton so it matches the other tooltips)
C6 - Locktime column rendered in bold in the will list
tests/test_group_c_settings.py: 4 new tests (EDITABLE_DATES default/toggle,
reset restores all dialog settings incl. EDITABLE_DATES, reset leaves
unrelated config untouched). Full suite: 210 passed.
This commit is contained in:
@@ -1300,6 +1300,20 @@ class BalWindow:
|
||||
self.heirs_tab.update()
|
||||
self.will_tab.update()
|
||||
self.will_list_widget.update()
|
||||
|
||||
# Group C / C2: re-apply the "Editable dates" setting to the date
|
||||
# fields of the toolbars / Heirs tab. The settings checkbox calls
|
||||
# update_all() when toggled, so this makes the change take effect
|
||||
# immediately (same pattern as sync_hide_filters above for the
|
||||
# "Hide Invalidated/Replaced" checkboxes). Guarded so a missing
|
||||
# widget never breaks the rest of the refresh.
|
||||
for _list in (self.heir_list_widget, self.will_list_widget):
|
||||
_settings_widget = getattr(_list, "will_settings_widget", None)
|
||||
if _settings_widget is not None:
|
||||
try:
|
||||
_settings_widget.apply_editable_dates()
|
||||
except Exception as _edit_err:
|
||||
_logger.debug(f"apply_editable_dates error: {_edit_err}")
|
||||
except Exception as e:
|
||||
_logger.error(f"error while updating window: {e}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user