diff --git a/bal/gui/qt/dialogs.py b/bal/gui/qt/dialogs.py
index 6ae2a7b..62bd906 100644
--- a/bal/gui/qt/dialogs.py
+++ b/bal/gui/qt/dialogs.py
@@ -1399,31 +1399,39 @@ class BalBuildWillDialog(BalDialog):
return
elif self.have_to_sign:
- # If the will was rebuilt with an automatically anticipated delivery
- # date, explain WHY we are now asking to sign: otherwise the sign
- # prompt appears with no reason (owner feedback). The note is shown
- # on the "Building your will" row (orange warning) before the modal
- # password prompt opens, so the user can read it.
- if self._date_was_anticipated:
- # Render this notice in BLACK BOLD (not the yellow warning
- # colour) and split it onto TWO lines after "...previous one."
- # for readability (allegato17). The "\n" is converted to a line
- # break by msg_update (it replaces "\n" with "
").
- self.msg_set_building(
- "{}".format(
- _(
- "The delivery date was automatically moved one day "
- "earlier so the updated will can correctly replace "
- "the previous one.\n"
- "Please sign (and broadcast) to confirm the change."
+ auto_sign = (
+ self.bal_window.bal_plugin.is_basic_mode()
+ or self.bal_window.bal_plugin.AUTO_SIGN.get()
+ )
+ if not auto_sign:
+ self.msg_set_signing(
+ _("Auto-sign disabled — sign manually")
+ )
+ self.have_to_sign = False
+ else:
+ # If the will was rebuilt with an automatically anticipated
+ # delivery date, explain WHY we are now asking to sign:
+ # otherwise the sign prompt appears with no reason (owner
+ # feedback). The note is shown on the "Building your will"
+ # row (orange warning) before the modal password prompt
+ # opens, so the user can read it.
+ if self._date_was_anticipated:
+ self.msg_set_building(
+ "{}".format(
+ _(
+ "The delivery date was automatically moved "
+ "one day earlier so the updated will can "
+ "correctly replace the previous one.\n"
+ "Please sign (and broadcast) to confirm "
+ "the change."
+ )
)
)
+ password = self.bal_window.get_wallet_password(
+ _("Sign your will"), parent=self
)
- password = self.bal_window.get_wallet_password(
- _("Sign your will"), parent=self
- )
- if password is False:
- self.msg_set_signing(_("Aborted"))
+ if password is False:
+ self.msg_set_signing(_("Aborted"))
else:
self.msg_set_signing(_("Nothing to do"))
self.thread.add(
@@ -1628,7 +1636,10 @@ class BalBuildWillDialog(BalDialog):
# them in that case. When AUTO_SIGN is OFF, keep the previous behaviour
# and guide the user through the remaining manual steps.
try:
- if self.bal_window.bal_plugin.AUTO_SIGN.get():
+ if (
+ self.bal_window.bal_plugin.is_basic_mode()
+ or self.bal_window.bal_plugin.AUTO_SIGN.get()
+ ):
return
except Exception:
# If the setting cannot be read for any reason, fall back to the
diff --git a/bal/gui/qt/plugin.py b/bal/gui/qt/plugin.py
index 5adadff..6a37e4e 100644
--- a/bal/gui/qt/plugin.py
+++ b/bal/gui/qt/plugin.py
@@ -470,7 +470,9 @@ class Plugin(BalPlugin):
lbl_event_summary, edit_event_summary, help_event_summary,
lbl_event_description, edit_event_description, help_event_description,
lbl_calendar_app, edit_calendar_app, help_calendar_app,
- reset_btn_6, reset_btn_7, reset_btn_8, reset_btn_9, reset_btn_10):
+ lbl_auto_sign, heir_auto_sign, help_auto_sign,
+ reset_btn_6, reset_btn_7, reset_btn_8, reset_btn_9, reset_btn_10,
+ reset_btn_auto_sign):
w.setVisible(not basic)
self.update_all()
@@ -553,19 +555,20 @@ class Plugin(BalPlugin):
"Hide invalidated transactions from will detail and list",
)
grid.addWidget(_make_reset_btn(self.HIDE_INVALIDATED, heir_hide_invalidated, "check"), 1, 3)
- add_widget(
- grid,
- "Auto-sign on Check",
- heir_auto_sign,
- 2,
- (
- "When checking, automatically sign and broadcast the will "
- "transactions to their will-executors.\n"
- "The wallet password is requested only if the wallet is "
- "encrypted."
- ),
+ lbl_auto_sign = QLabel(_("Auto-sign on Check"))
+ help_auto_sign = HelpButton(
+ "When checking, automatically sign and broadcast the will "
+ "transactions to their will-executors.\n"
+ "The wallet password is requested only if the wallet is "
+ "encrypted."
)
- grid.addWidget(_make_reset_btn(self.AUTO_SIGN, heir_auto_sign, "check"), 2, 3)
+ grid.addWidget(lbl_auto_sign, 2, 0)
+ grid.addWidget(heir_auto_sign, 2, 1)
+ grid.addWidget(help_auto_sign, 2, 2)
+ reset_btn_auto_sign = _make_reset_btn(
+ self.AUTO_SIGN, heir_auto_sign, "check"
+ )
+ grid.addWidget(reset_btn_auto_sign, 2, 3)
add_widget(
grid,
"Panel editable Date and Fee",
@@ -692,7 +695,9 @@ class Plugin(BalPlugin):
lbl_event_summary, edit_event_summary, help_event_summary,
lbl_event_description, edit_event_description, help_event_description,
lbl_calendar_app, edit_calendar_app, help_calendar_app,
- reset_btn_6, reset_btn_7, reset_btn_8, reset_btn_9, reset_btn_10):
+ lbl_auto_sign, heir_auto_sign, help_auto_sign,
+ reset_btn_6, reset_btn_7, reset_btn_8, reset_btn_9, reset_btn_10,
+ reset_btn_auto_sign):
w.setVisible(not basic_init)
grid.addWidget(heir_repush, 11, 0)