@@ -10,7 +10,6 @@ pub fn register_filesystem_list_files(ui : &AppWindow, moonraker_connection : &A
1010 let ui_weak = ui. as_weak ( ) ;
1111 let moonraker_connection = moonraker_connection. clone ( ) ;
1212 ui. global :: < Filesystem > ( ) . on_list_files ( move || {
13- println ! ( "List files clicked" ) ;
1413 let moonraker_connection = moonraker_connection. clone ( ) ;
1514 let ui_weak = ui_weak. clone ( ) ;
1615 ui_weak
@@ -19,41 +18,48 @@ pub fn register_filesystem_list_files(ui : &AppWindow, moonraker_connection : &A
1918 . global :: < Filesystem > ( )
2019 . set_loading ( true ) ;
2120 slint:: spawn_local ( async move {
22- if let Ok ( mut files) = moonraker_connection. list_gcode_files ( ) . await {
23- files. sort_by ( |a, b| {
24- if a. modified > b. modified {
25- Ordering :: Less
26- } else if a. modified < b. modified {
27- Ordering :: Greater
28- } else {
29- Ordering :: Equal
30- }
31- } ) ;
32-
33- println ! ( "Files: {:?}" , files) ;
34-
35- let ui = ui_weak. upgrade ( ) . unwrap ( ) ;
36-
37- let converted_files: Vec < MoonrakerFileTest > = files
38- . iter ( )
39- . map ( |f| MoonrakerFileTest {
40- path : SharedString :: from ( & f. path ) ,
41- modified : f. modified ,
42- size : f. size ,
43- permissions : SharedString :: from ( & f. permissions ) ,
44- thumbnail : Image :: default ( ) ,
45- } )
46- . collect ( ) ;
47-
48- ui. global :: < Filesystem > ( )
49- . set_files ( ModelRc :: new ( Rc :: new ( VecModel :: from ( converted_files) ) ) ) ;
50- ui. global :: < Filesystem > ( ) . set_loading ( false ) ;
51- ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 0 ) ;
52- ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 1 ) ;
53- ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 2 ) ;
54- ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 3 ) ;
55- ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 4 ) ;
56- }
21+ let mut files = match moonraker_connection. list_gcode_files ( ) . await
22+ {
23+ Ok ( f) => f,
24+ Err ( e) => {
25+ moonraker_connection. send_request_error ( format ! ( "Failed to list files: {}" , e) ) ;
26+ return ;
27+ }
28+ } ;
29+
30+ files. sort_by ( |a, b| {
31+ if a. modified > b. modified {
32+ Ordering :: Less
33+ } else if a. modified < b. modified {
34+ Ordering :: Greater
35+ } else {
36+ Ordering :: Equal
37+ }
38+ } ) ;
39+
40+ println ! ( "Files: {:?}" , files) ;
41+
42+ let ui = ui_weak. upgrade ( ) . unwrap ( ) ;
43+
44+ let converted_files: Vec < MoonrakerFileTest > = files
45+ . iter ( )
46+ . map ( |f| MoonrakerFileTest {
47+ path : SharedString :: from ( & f. path ) ,
48+ modified : f. modified ,
49+ size : f. size ,
50+ permissions : SharedString :: from ( & f. permissions ) ,
51+ thumbnail : Image :: default ( ) ,
52+ } )
53+ . collect ( ) ;
54+
55+ ui. global :: < Filesystem > ( )
56+ . set_files ( ModelRc :: new ( Rc :: new ( VecModel :: from ( converted_files) ) ) ) ;
57+ ui. global :: < Filesystem > ( ) . set_loading ( false ) ;
58+ ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 0 ) ;
59+ ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 1 ) ;
60+ ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 2 ) ;
61+ ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 3 ) ;
62+ ui. global :: < Filesystem > ( ) . invoke_download_thumbnail ( 4 ) ;
5763 } )
5864 . unwrap ( ) ;
5965 } ) ;
0 commit comments