From 3af5b7934a36ed34ef7acf2474f4e6ebd25f2254 Mon Sep 17 00:00:00 2001
From: Ayush Singh <ayush@beagleboard.org>
Date: Sun, 29 Sep 2024 14:45:02 +0530
Subject: [PATCH] gui: Small improvements

- Just some code improvements

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
---
 gui/src/helpers.rs | 4 ----
 gui/src/main.rs    | 6 +++++-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/gui/src/helpers.rs b/gui/src/helpers.rs
index 24cf8b3..263967d 100644
--- a/gui/src/helpers.rs
+++ b/gui/src/helpers.rs
@@ -60,10 +60,6 @@ impl ProgressBarState {
         self.label.to_string()
     }
 
-    pub fn running(&self) -> bool {
-        self.state != ProgressBarStatus::Fail || self.state != ProgressBarStatus::Success
-    }
-
     fn new(label: impl Into<Cow<'static, str>>, progress: f32, state: ProgressBarStatus) -> Self {
         Self {
             label: label.into(),
diff --git a/gui/src/main.rs b/gui/src/main.rs
index be84401..eb8a850 100644
--- a/gui/src/main.rs
+++ b/gui/src/main.rs
@@ -160,6 +160,7 @@ impl BBImager {
             BBImagerMessage::ProgressBar(x) => {
                 if let Screen::Flashing(mut s) = self.screen.clone() {
                     s.progress = x;
+                    s.running = self.cancel_flashing.is_some();
                     self.screen = Screen::Flashing(s)
                 } else {
                     unreachable!()
@@ -277,6 +278,7 @@ impl BBImager {
                 return t;
             }
             BBImagerMessage::StopFlashing(x) => {
+                let _ = self.cancel_flashing.take();
                 let content = x.content();
 
                 let progress_task = Task::done(BBImagerMessage::ProgressBar(x));
@@ -763,6 +765,7 @@ enum Screen {
 struct FlashingScreen {
     progress: ProgressBarState,
     documentation: String,
+    running: bool,
 }
 
 impl Default for FlashingScreen {
@@ -770,6 +773,7 @@ impl Default for FlashingScreen {
         FlashingScreen {
             progress: ProgressBarState::PREPARING,
             documentation: String::new(),
+            running: true,
         }
     }
 }
@@ -785,7 +789,7 @@ impl FlashingScreen {
     fn view(&self) -> Element<BBImagerMessage> {
         let prog_bar = self.progress.bar();
 
-        let btn = if self.progress.running() {
+        let btn = if self.running {
             home_btn("CANCEL", true, iced::Length::Shrink).on_press(BBImagerMessage::CancelFlashing)
         } else {
             home_btn("HOME", true, iced::Length::Shrink)
-- 
GitLab