From c0708fc4b9a9f2d91341241f90961d1911e9c83f Mon Sep 17 00:00:00 2001 From: Tiago Batista Cardoso Date: Sun, 25 Jan 2026 03:17:47 +0100 Subject: [PATCH] tidy --- client-gui/src/gui_app.rs | 192 ++++++++++++++------------------------ 1 file changed, 72 insertions(+), 120 deletions(-) diff --git a/client-gui/src/gui_app.rs b/client-gui/src/gui_app.rs index 231e72d..b657e9f 100644 --- a/client-gui/src/gui_app.rs +++ b/client-gui/src/gui_app.rs @@ -5,7 +5,7 @@ use client_network::{ use crossbeam_channel::{Receiver, Sender}; use egui::{ Align, CentralPanel, CollapsingHeader, Color32, Context, CornerRadius, Frame, Id, Layout, - ProgressBar, Response, ScrollArea, SidePanel, Stroke, TopBottomPanel, Ui, ViewportCommand, + ProgressBar, ScrollArea, SidePanel, Stroke, TopBottomPanel, Ui, ViewportCommand, }; use std::collections::HashMap; use std::collections::HashSet; @@ -278,6 +278,7 @@ impl eframe::App for P2PClientApp { } if self.remaining_chunks.is_empty() { + self.current_total_chunks = None; self.current_received_chunks = 0; println!("bigfile téléchargé"); } @@ -431,12 +432,17 @@ impl eframe::App for P2PClientApp { if ui.button("Connect").clicked() { let addr = self.connect_address_input.clone(); let name = self.connect_name_input.clone(); - let _ = self - .network_cmd_tx - .send(NetworkCommand::ConnectToServerPut(addr, name)); + let _ = self.network_cmd_tx.send( + NetworkCommand::ConnectToServerPut( + addr, + name.to_string(), + ), + ); self.server_status = ServerStatus::Loading; ui.close(); self.show_network_window = false; + self.loaded_fs + .insert(name.to_string(), self.shared_tree.clone()); } }); } @@ -520,56 +526,69 @@ impl eframe::App for P2PClientApp { for peer in &self.known_peers { let is_active = self.active_peer.as_ref().map_or(false, |id| id == &peer.0); // if peer.id == self.active_peer_id - - // place spinner to the right of the label - ui.horizontal(|ui| { - let resp = if &self.active_server == &peer.0 { - let frame = Frame { - fill: Color32::DARK_BLUE, - stroke: Stroke::default(), - corner_radius: CornerRadius::from(0.5), - ..Default::default() - }; - frame - .show(ui, |ui| { - ui.selectable_label( - is_active, - format!("{}", peer.0), - ) - }) - .inner - } else { - ui.selectable_label(is_active, format!("{}", peer.0)) - }; - - ui.add_space(4.0); // small gap - - if self.loading_peers.contains(&peer.0) { - ui.with_layout( - Layout::right_to_left(Align::Center), - |ui| { - ui.spinner(); - }, + // + if peer.0.eq(&self.connect_name_input) { + ui.horizontal(|ui| { + let resp = ui.selectable_label( + is_active, + format!("{} (you)", peer.0), ); - } - if resp.clicked() { - self.active_peer = Some(peer.0.clone()); - // Request root content if not loaded - if !self - .loaded_fs - .contains_key(self.active_peer.as_ref().unwrap()) - { - //todo!(); - let _ = - self.network_cmd_tx.send(NetworkCommand::Discover( - peer.0.clone(), - "root".to_string(), - self.connected_address.clone(), - )); + if resp.clicked() { + self.active_peer = Some(peer.0.clone()); } - } - resp.context_menu(|ui| { + }); + } else { + // place spinner to the right of the label + ui.horizontal(|ui| { + let resp = if &self.active_server == &peer.0 { + let frame = Frame { + fill: Color32::DARK_BLUE, + stroke: Stroke::default(), + corner_radius: CornerRadius::from(0.5), + ..Default::default() + }; + frame + .show(ui, |ui| { + ui.selectable_label( + is_active, + format!("{}", peer.0), + ) + }) + .inner + } else { + ui.selectable_label(is_active, format!("{}", peer.0)) + }; + + ui.add_space(4.0); // small gap + + if self.loading_peers.contains(&peer.0) { + ui.with_layout( + Layout::right_to_left(Align::Center), + |ui| { + ui.spinner(); + }, + ); + } + + if resp.clicked() { + self.active_peer = Some(peer.0.clone()); + // Request root content if not loaded + if !self + .loaded_fs + .contains_key(self.active_peer.as_ref().unwrap()) + { + //todo!(); + let _ = self.network_cmd_tx.send( + NetworkCommand::Discover( + peer.0.clone(), + "root".to_string(), + self.connected_address.clone(), + ), + ); + } + } + resp.context_menu(|ui| { match self.server_status { ServerStatus::Connected => { if ui @@ -624,75 +643,8 @@ impl eframe::App for P2PClientApp { // ... autres boutons }); - }); - - // if self.loading_peers.contains(&peer.0) { - // ui.spinner(); - // } - - //if selectable.clicked() { - // switch to displaying this peer's tree - //self.active_peer = Some(peer.0.clone()); - //// Request root content if not loaded - //if !self - // .loaded_fs - // .contains_key(self.active_peer.as_ref().unwrap()) - //{ - // //todo!(); - // let _ = self.network_cmd_tx.send(NetworkCommand::Discover( - // peer.0.clone(), - // "root".to_string(), - // self.connected_address.clone(), - // )); - //} - //} - //selectable.context_menu(|ui| { - // // ... action - // match self.server_status { - // ServerStatus::Connected => { - // if ui - // .button("Utiliser le peer en tant que serveur") - // .clicked() - // { - // self.active_server = peer.0.to_string(); - // let res = self.network_cmd_tx.send( - // NetworkCommand::ServerHandshake( - // peer.0.to_string(), - // self.connected_address.clone(), - // ), - // ); - // } - // } - // _ => {} - // } - // if ui.button("Send Ping").clicked() { - // let res = self.network_cmd_tx.send(NetworkCommand::Ping( - // peer.0.to_string(), - // self.connected_address.clone(), - // )); - - // self.loading_peers.push(peer.0.to_owned()); - // } - // if ui.button("Send Nat Traversal Request").clicked() { - // match self.network_cmd_tx.send(NetworkCommand::NatTraversal( - // peer.0.to_string(), - // self.connected_address.clone(), - // )) { - // Ok(_) => { - // print!("[+] successfully sent nat traversal request") - // } - // Err(_) => { - // print!("[-] failed to send nat traversal request") - // } - // } - // } - // if ui.button("Infos").clicked() { - // // action 3 - // ui.close(); - // } - - // // ... autres boutons - //}); + }); + } } } });