diff options
author | 2024-12-03 01:27:26 +0100 | |
---|---|---|
committer | 2024-12-03 01:28:03 +0100 | |
commit | 1e5c1ad2cb040157421a268df599b1ecbff7e678 (patch) | |
tree | 54201c58139c82327e793b256a726ffe891a42c1 /examples | |
parent | 334f5baa106f8e2c86448f9b10f869b7ef0a2fe0 (diff) | |
download | iced-1e5c1ad2cb040157421a268df599b1ecbff7e678.tar.gz iced-1e5c1ad2cb040157421a268df599b1ecbff7e678.tar.bz2 iced-1e5c1ad2cb040157421a268df599b1ecbff7e678.zip |
Avoid using `Message` to drive logic in `system_information` example
Diffstat (limited to 'examples')
-rw-r--r-- | examples/system_information/src/main.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/examples/system_information/src/main.rs b/examples/system_information/src/main.rs index 46176d93..afa657d8 100644 --- a/examples/system_information/src/main.rs +++ b/examples/system_information/src/main.rs @@ -29,23 +29,27 @@ enum Message { impl Example { fn new() -> (Self, Task<Message>) { - (Self::Loading, Task::done(Message::Refresh)) + ( + Self::Loading, + system::fetch_information().map(Message::InformationReceived), + ) } - + fn update(&mut self, message: Message) -> Task<Message> { match message { Message::Refresh => { - *self = Self::Loading; + let (state, refresh) = Self::new(); + + *self = state; - return system::fetch_information() - .map(Message::InformationReceived); + refresh } Message::InformationReceived(information) => { *self = Self::Loaded { information }; + + Task::none() } } - - Task::none() } fn view(&self) -> Element<Message> { |