Revert "gui: store SignModal state and allow to open export modal after signing in PSBT panel"

This reverts commit 7281e6352967009419a493ccd3825887001afa14.
This commit is contained in:
edouardparis 2025-05-23 15:48:13 +02:00
parent 51284b749f
commit 1d1a281955

View File

@ -92,9 +92,6 @@ pub struct PsbtState {
pub warning: Option<Error>, pub warning: Option<Error>,
pub labels_edited: LabelsEdited, pub labels_edited: LabelsEdited,
pub modal: Option<PsbtModal>, pub modal: Option<PsbtModal>,
// NOTE: sign_modal is used to store state of SignModal
// when another modal is selected
pub sign_modal: Option<PsbtModal>,
} }
impl PsbtState { impl PsbtState {
@ -105,7 +102,6 @@ impl PsbtState {
labels_edited: LabelsEdited::default(), labels_edited: LabelsEdited::default(),
warning: None, warning: None,
modal: None, modal: None,
sign_modal: None,
tx, tx,
saved, saved,
} }
@ -169,19 +165,19 @@ impl PsbtState {
} }
} }
Message::View(view::Message::Spend(view::SpendTxMessage::Cancel)) => { Message::View(view::Message::Spend(view::SpendTxMessage::Cancel)) => {
if matches!(self.modal, Some(PsbtModal::Sign(_))) { if let Some(PsbtModal::Sign(SignModal { display_modal, .. })) = &mut self.modal {
// store SignModal state *display_modal = false;
self.sign_modal = self.modal.take(); return Task::none();
} }
self.modal = None; self.modal = None;
} }
Message::View(view::Message::Spend(view::SpendTxMessage::Delete)) => { Message::View(view::Message::Spend(view::SpendTxMessage::Delete)) => {
self.modal = Some(PsbtModal::Delete(DeleteModal::default())); self.modal = Some(PsbtModal::Delete(DeleteModal::default()));
} }
Message::View(view::Message::Spend(view::SpendTxMessage::Sign)) => { Message::View(view::Message::Spend(view::SpendTxMessage::Sign)) => {
if self.sign_modal.is_some() { if let Some(PsbtModal::Sign(SignModal { display_modal, .. })) = &mut self.modal {
// restore SignModal state *display_modal = true;
self.modal = self.sign_modal.take();
return Task::none(); return Task::none();
} }
@ -487,6 +483,7 @@ impl Modal for SignModal {
.. ..
}) = self.hws.list.get(i) }) = self.hws.list.get(i)
{ {
self.display_modal = false;
self.signing.insert(*fingerprint); self.signing.insert(*fingerprint);
let psbt = tx.psbt.clone(); let psbt = tx.psbt.clone();
let fingerprint = *fingerprint; let fingerprint = *fingerprint;
@ -561,7 +558,7 @@ impl Modal for SignModal {
Task::none() Task::none()
} }
fn view<'a>(&'a self, content: Element<'a, view::Message>) -> Element<'a, view::Message> { fn view<'a>(&'a self, content: Element<'a, view::Message>) -> Element<'a, view::Message> {
let content: Element<'a, view::Message> = toast::Manager::new( let content = toast::Manager::new(
content, content,
view::psbt::sign_action_toasts(self.error.as_ref(), &self.hws.list, &self.signing), view::psbt::sign_action_toasts(self.error.as_ref(), &self.hws.list, &self.signing),
) )