Closed
This commit is contained in:
parent
0c3dd22b0e
commit
0f56ca0187
|
@ -2,7 +2,7 @@ use crate::{split_path, CurrentTab, MainWindow};
|
|||
use chrono::NaiveDateTime;
|
||||
use czkawka_core::common_tool::CommonData;
|
||||
use czkawka_core::empty_folder::EmptyFolder;
|
||||
use slint::{ComponentHandle, ModelRc, SharedString, VecModel};
|
||||
use slint::{ComponentHandle, ModelRc, SharedString, VecModel, Weak};
|
||||
use std::path::PathBuf;
|
||||
use std::rc::Rc;
|
||||
use std::thread;
|
||||
|
@ -16,39 +16,43 @@ pub fn connect_scan_button(app: &MainWindow) {
|
|||
let a = app.as_weak();
|
||||
match active_tab {
|
||||
CurrentTab::EmptyFolders => {
|
||||
thread::spawn(move || {
|
||||
let mut ef = EmptyFolder::new();
|
||||
ef.set_included_directory(vec![PathBuf::from("/home/rafal/Desktop")]);
|
||||
ef.find_empty_folders(None, None);
|
||||
|
||||
ef.get_empty_folder_list();
|
||||
|
||||
let mut vector = ef.get_empty_folder_list().keys().cloned().collect::<Vec<PathBuf>>();
|
||||
|
||||
vector.sort_unstable_by_key(|e| {
|
||||
let t = split_path(e.as_path());
|
||||
(t.0, t.1)
|
||||
});
|
||||
|
||||
a.upgrade_in_event_loop(move |app| {
|
||||
let mut folder_map = ef.get_empty_folder_list();
|
||||
let items = Rc::new(VecModel::default());
|
||||
for path in vector {
|
||||
let (directory, file) = split_path(&path);
|
||||
let data_model = VecModel::from_slice(&[
|
||||
SharedString::from(file),
|
||||
SharedString::from(directory),
|
||||
SharedString::from(NaiveDateTime::from_timestamp_opt(folder_map[&path].modified_date as i64, 0).unwrap().to_string()),
|
||||
]);
|
||||
|
||||
items.push((false, false, false, ModelRc::new(data_model)));
|
||||
}
|
||||
app.set_empty_folder_model(items.into());
|
||||
app.set_scanning(false);
|
||||
})
|
||||
});
|
||||
scan_empty_folders(a);
|
||||
}
|
||||
_ => panic!(),
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
fn scan_empty_folders(a: Weak<MainWindow>) {
|
||||
thread::spawn(move || {
|
||||
let mut ef = EmptyFolder::new();
|
||||
ef.set_included_directory(vec![PathBuf::from("/home/rafal/Desktop")]);
|
||||
ef.find_empty_folders(None, None);
|
||||
|
||||
ef.get_empty_folder_list();
|
||||
|
||||
let mut vector = ef.get_empty_folder_list().keys().cloned().collect::<Vec<PathBuf>>();
|
||||
|
||||
vector.sort_unstable_by_key(|e| {
|
||||
let t = split_path(e.as_path());
|
||||
(t.0, t.1)
|
||||
});
|
||||
|
||||
a.upgrade_in_event_loop(move |app| {
|
||||
let mut folder_map = ef.get_empty_folder_list();
|
||||
let items = Rc::new(VecModel::default());
|
||||
for path in vector {
|
||||
let (directory, file) = split_path(&path);
|
||||
let data_model = VecModel::from_slice(&[
|
||||
SharedString::from(file),
|
||||
SharedString::from(directory),
|
||||
SharedString::from(NaiveDateTime::from_timestamp_opt(folder_map[&path].modified_date as i64, 0).unwrap().to_string()),
|
||||
]);
|
||||
|
||||
items.push((false, false, false, ModelRc::new(data_model)));
|
||||
}
|
||||
app.set_empty_folder_model(items.into());
|
||||
app.set_scanning(false);
|
||||
})
|
||||
});
|
||||
}
|
||||
|
|
|
@ -24,9 +24,9 @@ fn main() {
|
|||
items.push(slint::format!("Item {r}.{c}").into());
|
||||
}
|
||||
|
||||
row_data.push((r % 4 == 0, r % 3 == 0, r % 2 == 0, ModelRc::new(items)));
|
||||
row_data.push((r % 2 == 0, false, true, ModelRc::new(items)));
|
||||
}
|
||||
// app.set_empty_folder_model(row_data.into());
|
||||
app.set_empty_folder_model(row_data.into());
|
||||
|
||||
connect_delete_button(&app);
|
||||
connect_scan_button(&app);
|
||||
|
|
Loading…
Reference in a new issue