forked from bitcoinafterlife/bal-electrum-plugin
fix(bal): black bar on cancelled invalidation + editable fee follows dates (v0.3.6)
Two GUI fixes bundled together (v0.3.6): - Fix #10 (black bar): in dialogs.py on_success_phase1, the cancelled invalidation branch no longer calls the blocking self.wait(3)+self.close(). wait() uses time.sleep() and runs in the GUI thread, freezing the UI so the 'Building Will' dialog could not repaint the area it just resized, leaving a black rectangle at the bottom. It now shows 'Aborted' plus the existing non-blocking Close button (_add_close_button), consistent with the other end-of-flow branches. - Fix #11 (editable fee): in widgets.py WillSettingsWidget.apply_editable_dates, the fee widget (baltx_fees) now follows the same 'Editable dates' setting as the locktime/threshold widgets (set_read_only(not editable_dates)) instead of being forced read-only. With the setting ticked, dates AND fee are editable outside the wizard; unticked, all three are read-only. Default stays OFF. Version bumped 0.3.5 -> 0.3.6 (manifest.json, __init__.py, plugin_base.py, VERSION). CHANGELOG: entries #10 and #11. ruff clean; full suite 239 passed.
This commit is contained in:
@@ -705,13 +705,15 @@ class WillSettingsWidget(QWidget):
|
||||
self.apply_editable_dates()
|
||||
|
||||
def apply_editable_dates(self):
|
||||
"""Re-read the EDITABLE_DATES setting and lock/unlock the date fields.
|
||||
"""Re-read the EDITABLE_DATES setting and lock/unlock the editable fields.
|
||||
|
||||
Outside the "Build your will" wizard (``read_only=True``) the
|
||||
delivery-time and check-alive dates are display-only by default. When
|
||||
the user ticks "Editable dates" in the settings they become editable
|
||||
here too. The fee field always stays read-only outside the wizard,
|
||||
because C2 only concerns the dates.
|
||||
delivery-time, check-alive dates AND the mining fee are display-only by
|
||||
default. When the user ticks "Editable dates" in the settings, all three
|
||||
fields (locktime, threshold and fee) become editable here too; when it
|
||||
is unticked they all go back to read-only. The fee follows exactly the
|
||||
same rule as the dates (it used to stay always read-only, but the user
|
||||
asked for the fee to be editable together with the dates).
|
||||
|
||||
This is safe to call repeatedly: it only adjusts the read-only state of
|
||||
the already-created sub-widgets, it does not rebuild anything. It is the
|
||||
@@ -732,7 +734,9 @@ class WillSettingsWidget(QWidget):
|
||||
|
||||
self.widgets["locktime"].set_read_only(not editable_dates)
|
||||
self.widgets["threshold"].set_read_only(not editable_dates)
|
||||
self.widgets["baltx_fees"].set_read_only(True)
|
||||
# The fee now follows the very same "Editable dates" rule as the dates:
|
||||
# editable outside the wizard only when the setting is ticked.
|
||||
self.widgets["baltx_fees"].set_read_only(not editable_dates)
|
||||
|
||||
def create_alarms(self, alarm_start, alarm_end):
|
||||
"""Build the VALARM reminder blocks for the .ics event (Group D / D1).
|
||||
|
||||
Reference in New Issue
Block a user