refactor: loading_spin fn remove async

This commit is contained in:
Jack Wills
2023-08-24 16:26:30 +00:00
parent 4660a992df
commit 2e27462d1b
2 changed files with 9 additions and 11 deletions
+9 -9
View File
@@ -287,9 +287,9 @@ impl DockerData {
} }
/// Animate the loading icon /// Animate the loading icon
async fn loading_spin(loading_uuid: Uuid, gui_state: &Arc<Mutex<GuiState>>) -> JoinHandle<()> { fn loading_spin(loading_uuid: Uuid, gui_state: &Arc<Mutex<GuiState>>) -> JoinHandle<()> {
let gui_state = Arc::clone(gui_state); let gui_state = Arc::clone(gui_state);
tokio::spawn(async move { tokio::spawn(async move {
loop { loop {
tokio::time::sleep(std::time::Duration::from_millis(100)).await; tokio::time::sleep(std::time::Duration::from_millis(100)).await;
gui_state.lock().next_loading(loading_uuid); gui_state.lock().next_loading(loading_uuid);
@@ -311,7 +311,7 @@ impl DockerData {
async fn initialise_container_data(&mut self) { async fn initialise_container_data(&mut self) {
self.gui_state.lock().status_push(Status::Init); self.gui_state.lock().status_push(Status::Init);
let loading_uuid = Uuid::new_v4(); let loading_uuid = Uuid::new_v4();
let loading_spin = Self::loading_spin(loading_uuid, &Arc::clone(&self.gui_state)).await; let loading_spin = Self::loading_spin(loading_uuid, &Arc::clone(&self.gui_state));
let all_ids = self.update_all_containers().await; let all_ids = self.update_all_containers().await;
@@ -349,7 +349,7 @@ impl DockerData {
match message { match message {
DockerMessage::Pause(id) => { DockerMessage::Pause(id) => {
tokio::spawn(async move { tokio::spawn(async move {
let loading_spin = Self::loading_spin(uuid, &gui_state).await; let loading_spin = Self::loading_spin(uuid, &gui_state);
if docker.pause_container(id.get()).await.is_err() { if docker.pause_container(id.get()).await.is_err() {
Self::set_error(&app_data, DockerControls::Pause, &gui_state); Self::set_error(&app_data, DockerControls::Pause, &gui_state);
} }
@@ -359,7 +359,7 @@ impl DockerData {
} }
DockerMessage::Restart(id) => { DockerMessage::Restart(id) => {
tokio::spawn(async move { tokio::spawn(async move {
let loading_spin = Self::loading_spin(uuid, &gui_state).await; let loading_spin = Self::loading_spin(uuid, &gui_state);
if docker.restart_container(id.get(), None).await.is_err() { if docker.restart_container(id.get(), None).await.is_err() {
Self::set_error(&app_data, DockerControls::Restart, &gui_state); Self::set_error(&app_data, DockerControls::Restart, &gui_state);
} }
@@ -369,7 +369,7 @@ impl DockerData {
} }
DockerMessage::Start(id) => { DockerMessage::Start(id) => {
tokio::spawn(async move { tokio::spawn(async move {
let loading_spin = Self::loading_spin(uuid, &gui_state).await; let loading_spin = Self::loading_spin(uuid, &gui_state);
if docker if docker
.start_container(id.get(), None::<StartContainerOptions<String>>) .start_container(id.get(), None::<StartContainerOptions<String>>)
.await .await
@@ -383,7 +383,7 @@ impl DockerData {
} }
DockerMessage::Stop(id) => { DockerMessage::Stop(id) => {
tokio::spawn(async move { tokio::spawn(async move {
let loading_spin = Self::loading_spin(uuid, &gui_state).await; let loading_spin = Self::loading_spin(uuid, &gui_state);
if docker.stop_container(id.get(), None).await.is_err() { if docker.stop_container(id.get(), None).await.is_err() {
Self::set_error(&app_data, DockerControls::Stop, &gui_state); Self::set_error(&app_data, DockerControls::Stop, &gui_state);
} }
@@ -393,7 +393,7 @@ impl DockerData {
} }
DockerMessage::Unpause(id) => { DockerMessage::Unpause(id) => {
tokio::spawn(async move { tokio::spawn(async move {
let loading_spin = Self::loading_spin(uuid, &gui_state).await; let loading_spin = Self::loading_spin(uuid, &gui_state);
if docker.unpause_container(id.get()).await.is_err() { if docker.unpause_container(id.get()).await.is_err() {
Self::set_error(&app_data, DockerControls::Unpause, &gui_state); Self::set_error(&app_data, DockerControls::Unpause, &gui_state);
} }
@@ -403,7 +403,7 @@ impl DockerData {
} }
DockerMessage::Delete(id) => { DockerMessage::Delete(id) => {
tokio::spawn(async move { tokio::spawn(async move {
let loading_spin = Self::loading_spin(uuid, &gui_state).await; let loading_spin = Self::loading_spin(uuid, &gui_state);
if docker if docker
.remove_container( .remove_container(
id.get(), id.get(),
-2
View File
@@ -143,8 +143,6 @@ async fn main() {
let args = CliArgs::new(); let args = CliArgs::new();
let host = read_docker_host(&args); let host = read_docker_host(&args);
//todo if host in arg, use that instead of env?
let app_data = Arc::new(Mutex::new(AppData::default(args.clone()))); let app_data = Arc::new(Mutex::new(AppData::default(args.clone())));
let gui_state = Arc::new(Mutex::new(GuiState::default())); let gui_state = Arc::new(Mutex::new(GuiState::default()));
let is_running = Arc::new(AtomicBool::new(true)); let is_running = Arc::new(AtomicBool::new(true));