mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-03-10 20:51:45 +00:00
drop page progress_fraction, use status enum instead
This commit is contained in:
parent
5cb5f02308
commit
85629e9dcb
@ -119,7 +119,6 @@ impl Page {
|
|||||||
meta.borrow_mut().status = Some(Status::Reload);
|
meta.borrow_mut().status = Some(Status::Reload);
|
||||||
meta.borrow_mut().title = Some(gformat!("Loading.."));
|
meta.borrow_mut().title = Some(gformat!("Loading.."));
|
||||||
meta.borrow_mut().description = None;
|
meta.borrow_mut().description = None;
|
||||||
meta.borrow_mut().progress_fraction = 0.0;
|
|
||||||
|
|
||||||
action_update.activate(None);
|
action_update.activate(None);
|
||||||
|
|
||||||
@ -139,7 +138,7 @@ impl Page {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Update
|
// Update
|
||||||
meta.borrow_mut().progress_fraction = 0.25;
|
meta.borrow_mut().status = Some(Status::Prepare);
|
||||||
meta.borrow_mut().description = Some(gformat!("Connect {host}.."));
|
meta.borrow_mut().description = Some(gformat!("Connect {host}.."));
|
||||||
|
|
||||||
action_update.activate(None);
|
action_update.activate(None);
|
||||||
@ -160,7 +159,7 @@ impl Page {
|
|||||||
move |result| match result {
|
move |result| match result {
|
||||||
Ok(connection) => {
|
Ok(connection) => {
|
||||||
// Update
|
// Update
|
||||||
meta.borrow_mut().progress_fraction = 0.50;
|
meta.borrow_mut().status = Some(Status::Connect);
|
||||||
meta.borrow_mut().description = Some(gformat!("Connected to {host}.."));
|
meta.borrow_mut().description = Some(gformat!("Connected to {host}.."));
|
||||||
|
|
||||||
action_update.activate(None);
|
action_update.activate(None);
|
||||||
@ -173,7 +172,7 @@ impl Page {
|
|||||||
move |result| match result {
|
move |result| match result {
|
||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
// Update
|
// Update
|
||||||
meta.borrow_mut().progress_fraction = 0.75;
|
meta.borrow_mut().status = Some(Status::Request);
|
||||||
meta.borrow_mut().description = Some(gformat!("Request data from {host}.."));
|
meta.borrow_mut().description = Some(gformat!("Request data from {host}.."));
|
||||||
|
|
||||||
action_update.activate(None);
|
action_update.activate(None);
|
||||||
@ -190,7 +189,7 @@ impl Page {
|
|||||||
) {
|
) {
|
||||||
Ok(data) => {
|
Ok(data) => {
|
||||||
// Format response
|
// Format response
|
||||||
meta.borrow_mut().progress_fraction = 1.0;
|
meta.borrow_mut().status = Some(Status::Response);
|
||||||
meta.borrow_mut().description = Some(host);
|
meta.borrow_mut().description = Some(host);
|
||||||
meta.borrow_mut().title = Some(uri.path());
|
meta.borrow_mut().title = Some(uri.path());
|
||||||
|
|
||||||
@ -250,10 +249,9 @@ impl Page {
|
|||||||
// Redirect (@TODO implement limits to auto-redirect)
|
// Redirect (@TODO implement limits to auto-redirect)
|
||||||
"31" => {
|
"31" => {
|
||||||
// Update meta
|
// Update meta
|
||||||
meta.borrow_mut().mime = Some(Mime::TextGemini);
|
|
||||||
meta.borrow_mut().status = Some(Status::Redirect);
|
meta.borrow_mut().status = Some(Status::Redirect);
|
||||||
|
meta.borrow_mut().mime = Some(Mime::TextGemini);
|
||||||
meta.borrow_mut().title = Some(gformat!("Redirect"));
|
meta.borrow_mut().title = Some(gformat!("Redirect"));
|
||||||
meta.borrow_mut().progress_fraction = 1.0;
|
|
||||||
|
|
||||||
// Select widget
|
// Select widget
|
||||||
match parts.get(3) {
|
match parts.get(3) {
|
||||||
@ -273,7 +271,6 @@ impl Page {
|
|||||||
meta.borrow_mut().status = Some(Status::Failure);
|
meta.borrow_mut().status = Some(Status::Failure);
|
||||||
meta.borrow_mut().title = Some(gformat!("Oops"));
|
meta.borrow_mut().title = Some(gformat!("Oops"));
|
||||||
meta.borrow_mut().description = Some(gformat!("Status {code} not supported"));
|
meta.borrow_mut().description = Some(gformat!("Status {code} not supported"));
|
||||||
meta.borrow_mut().progress_fraction = 1.0;
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
None => todo!(),
|
None => todo!(),
|
||||||
@ -286,7 +283,6 @@ impl Page {
|
|||||||
meta.borrow_mut().status = Some(Status::Failure);
|
meta.borrow_mut().status = Some(Status::Failure);
|
||||||
meta.borrow_mut().title = Some(gformat!("Oops"));
|
meta.borrow_mut().title = Some(gformat!("Oops"));
|
||||||
meta.borrow_mut().description = Some(gformat!("Failed to read buffer data: {e}"));
|
meta.borrow_mut().description = Some(gformat!("Failed to read buffer data: {e}"));
|
||||||
meta.borrow_mut().progress_fraction = 1.0;
|
|
||||||
|
|
||||||
action_update.activate(None);
|
action_update.activate(None);
|
||||||
}
|
}
|
||||||
@ -302,7 +298,6 @@ impl Page {
|
|||||||
meta.borrow_mut().status = Some(Status::Failure);
|
meta.borrow_mut().status = Some(Status::Failure);
|
||||||
meta.borrow_mut().title = Some(gformat!("Oops"));
|
meta.borrow_mut().title = Some(gformat!("Oops"));
|
||||||
meta.borrow_mut().description = Some(gformat!("Failed to read response: {:?}", e));
|
meta.borrow_mut().description = Some(gformat!("Failed to read response: {:?}", e));
|
||||||
meta.borrow_mut().progress_fraction = 1.0;
|
|
||||||
|
|
||||||
action_update.activate(None);
|
action_update.activate(None);
|
||||||
|
|
||||||
@ -319,7 +314,6 @@ impl Page {
|
|||||||
meta.borrow_mut().status = Some(Status::Failure);
|
meta.borrow_mut().status = Some(Status::Failure);
|
||||||
meta.borrow_mut().title = Some(gformat!("Oops"));
|
meta.borrow_mut().title = Some(gformat!("Oops"));
|
||||||
meta.borrow_mut().description = Some(gformat!("Failed to read request: {:?}", e));
|
meta.borrow_mut().description = Some(gformat!("Failed to read request: {:?}", e));
|
||||||
meta.borrow_mut().progress_fraction = 1.0;
|
|
||||||
|
|
||||||
action_update.activate(None);
|
action_update.activate(None);
|
||||||
|
|
||||||
@ -336,7 +330,6 @@ impl Page {
|
|||||||
meta.borrow_mut().status = Some(Status::Failure);
|
meta.borrow_mut().status = Some(Status::Failure);
|
||||||
meta.borrow_mut().title = Some(gformat!("Oops"));
|
meta.borrow_mut().title = Some(gformat!("Oops"));
|
||||||
meta.borrow_mut().description = Some(gformat!("Failed to connect: {:?}", e));
|
meta.borrow_mut().description = Some(gformat!("Failed to connect: {:?}", e));
|
||||||
meta.borrow_mut().progress_fraction = 1.0;
|
|
||||||
|
|
||||||
action_update.activate(None);
|
action_update.activate(None);
|
||||||
}
|
}
|
||||||
@ -348,10 +341,10 @@ impl Page {
|
|||||||
*/
|
*/
|
||||||
scheme => {
|
scheme => {
|
||||||
// Update
|
// Update
|
||||||
|
meta.borrow_mut().status = Some(Status::Failure);
|
||||||
meta.borrow_mut().title = Some(gformat!("Oops"));
|
meta.borrow_mut().title = Some(gformat!("Oops"));
|
||||||
meta.borrow_mut().description =
|
meta.borrow_mut().description =
|
||||||
Some(gformat!("Protocol {scheme} not supported"));
|
Some(gformat!("Protocol {scheme} not supported"));
|
||||||
meta.borrow_mut().progress_fraction = 1.0;
|
|
||||||
|
|
||||||
action_update.activate(None);
|
action_update.activate(None);
|
||||||
}
|
}
|
||||||
@ -394,6 +387,8 @@ impl Page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn update(&self) {
|
pub fn update(&self) {
|
||||||
|
// Interpret status to progress fraction
|
||||||
|
// @TODO
|
||||||
self.navigation.update();
|
self.navigation.update();
|
||||||
// @TODO self.content.update();
|
// @TODO self.content.update();
|
||||||
}
|
}
|
||||||
|
@ -10,9 +10,13 @@ pub enum Mime {
|
|||||||
// Internal page status (not related with gemini status code)
|
// Internal page status (not related with gemini status code)
|
||||||
// Useful for widgets composition
|
// Useful for widgets composition
|
||||||
pub enum Status {
|
pub enum Status {
|
||||||
|
Connect,
|
||||||
Failure,
|
Failure,
|
||||||
|
Prepare,
|
||||||
Redirect,
|
Redirect,
|
||||||
Reload,
|
Reload,
|
||||||
|
Request,
|
||||||
|
Response,
|
||||||
Success,
|
Success,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -24,10 +28,6 @@ pub struct Meta {
|
|||||||
// Enums
|
// Enums
|
||||||
pub mime: Option<Mime>,
|
pub mime: Option<Mime>,
|
||||||
pub status: Option<Status>,
|
pub status: Option<Status>,
|
||||||
// Useful to compose other widgets
|
|
||||||
// (e.g. navigation bar listen for this value update)
|
|
||||||
// @TODO deprecated, calculate by Status enum
|
|
||||||
pub progress_fraction: f32,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Meta {
|
impl Meta {
|
||||||
@ -37,7 +37,6 @@ impl Meta {
|
|||||||
description: None,
|
description: None,
|
||||||
mime: None,
|
mime: None,
|
||||||
status: None,
|
status: None,
|
||||||
progress_fraction: 0.0,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user