From 2ba3f498a5da9ab4a0a5c32a85edcd877b8b76cf Mon Sep 17 00:00:00 2001 From: Ruben Schmidmeister <4602612+bash@users.noreply.github.com> Date: Mon, 13 Feb 2023 22:06:30 +0100 Subject: [PATCH] Show code while connecting --- src/receive.rs | 24 +++++++++++++++--------- src/send.rs | 4 +--- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/receive.rs b/src/receive.rs index 515119b..88e7927 100644 --- a/src/receive.rs +++ b/src/receive.rs @@ -30,8 +30,11 @@ states! { state Initial(code: String); - async state Connecting(controller: ConnectingController) -> ConnectResult { - new(code: Code) { connect(code) } + async state Connecting(controller: ConnectingController, code: Code) -> ConnectResult { + new(code: Code) { + let (future, controller) = connect(code.clone()); + (future, controller, code) + } next { Ok(receive_request) => Connected(receive_request), Err(PortalError::Canceled) => Default::default(), @@ -55,7 +58,7 @@ states! { let ctx = ui.ctx().clone(); let (future, controller) = receive_request.accept(move || ctx.request_repaint()); (future, controller, filename) - } + } next { Ok(path) => Completed(path), Err(PortalError::Canceled) => Default::default(), @@ -85,8 +88,8 @@ impl ReceiveView { } } } - ReceiveState::Connecting(_, controller) => { - show_connecting_page(ui, controller); + ReceiveState::Connecting(_, controller, code) => { + show_connecting_page(ui, controller, code); } ReceiveState::Error(error) => { let error = error.to_string(); @@ -172,15 +175,15 @@ enum ConnectedPageResponse { Reject, } -fn show_connecting_page(ui: &mut Ui, controller: &mut ConnectingController) { +fn show_connecting_page(ui: &mut Ui, controller: &mut ConnectingController, code: &Code) { if cancel_button(ui, CancelLabel::Cancel) { controller.cancel(); } page_with_content( ui, - "Connecting with peer", - "Preparing to Receive File", + "Receive File", + format!("Connecting with peer using transfer code \"{code}\""), "📥", |ui| { ui.spinner(); @@ -261,7 +264,10 @@ fn show_completed_page(ui: &mut Ui, downloaded_path: &Path) -> Option