better error handeling of tree

This commit is contained in:
Penwing 2024-01-26 09:10:09 +01:00
parent 829e1deb6a
commit 1277870097

View file

@ -1,6 +1,6 @@
use eframe::egui; use eframe::egui;
use egui::Color32; use egui::Color32;
use std::{cmp::min, fs, io, path::Path, path::PathBuf}; use std::{cmp::min, fs, io, path::Path, path::PathBuf, ffi::OsStr};
use crate::tools; use crate::tools;
use crate::Calcifer; use crate::Calcifer;
@ -133,16 +133,17 @@ impl Calcifer {
let name = path let name = path
.file_name() .file_name()
.unwrap_or_else(|| OsStr::new("")) .unwrap_or_else(|| OsStr::new(""))
.to_string_lossy(); .to_string_lossy()
.into_owned();
if !path.is_dir() { if !path.is_dir() {
if ui.button(name.to_string_lossy()).clicked() { if ui.button(name).clicked() {
self.open_file(Some(path)); self.open_file(Some(path));
} }
return Ok(()); return Ok(());
} }
egui::CollapsingHeader::new(name.to_string_lossy()).show(ui, |ui| { egui::CollapsingHeader::new(name).show(ui, |ui| {
match fs::read_dir(path) { match fs::read_dir(path) {
Err(err) => { Err(err) => {
ui.label(format!("Error reading directory: {}", err)); ui.label(format!("Error reading directory: {}", err));