From c3658dba5b4894aee0b513a553fa48919b2e3849 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 23 Sep 2024 12:50:46 -0600 Subject: [PATCH] Move permissions to settings list --- src/tab.rs | 70 ++++++++++++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index d2cf4a9..e69abbe 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -964,9 +964,7 @@ impl Item { ItemThumbnail::NotImage => icon, ItemThumbnail::Rgba(_) => { if let Some(Location::Path(path)) = &self.location_opt { - widget::image::viewer(widget::image::Handle::from_path(path)) - .min_scale(1.0) - .into() + widget::image(widget::image::Handle::from_path(path)).into() } else { icon } @@ -1069,6 +1067,7 @@ impl Item { let mut details = widget::column().spacing(space_xxxs); details = details.push(widget::text::heading(self.name.clone())); details = details.push(widget::text(format!("Type: {}", self.mime))); + let mut settings = Vec::new(); //TODO: translate! //TODO: correct display of folder size? match &self.metadata { @@ -1095,45 +1094,36 @@ impl Item { details = details.push(widget::text(format!("Accessed: {}", format_time(time)))); } + #[cfg(not(target_os = "windows"))] { - details = details.push( - widget::Row::new() - .push(widget::text(format!("{}:", fl!("owner")))) - .push(widget::text(format_permissions_owner( - metadata, - PermissionOwner::Owner, - ))) - .push(widget::text(format!( - "({})", - format_permissions(metadata, PermissionOwner::Owner,) - ))) - .spacing(10), + settings.push( + widget::settings::item::builder(format_permissions_owner( + metadata, + PermissionOwner::Owner, + )) + .description(fl!("owner")) + .control(widget::text(format_permissions( + metadata, + PermissionOwner::Owner, + ))), ); - details = details.push( - widget::Row::new() - .push(widget::text(format!("{}:", fl!("group")))) - .push(widget::text(format_permissions_owner( - metadata, - PermissionOwner::Group, - ))) - .push(widget::text(format!( - "({})", - format_permissions(metadata, PermissionOwner::Group,) - ))) - .spacing(10), + settings.push( + widget::settings::item::builder(format_permissions_owner( + metadata, + PermissionOwner::Group, + )) + .description(fl!("group")) + .control(widget::text(format_permissions( + metadata, + PermissionOwner::Group, + ))), ); - details = details.push( - widget::Row::new() - .push(widget::text(format!("{}", fl!("other")))) - .push(widget::text(format!( - "({})", - format_permissions(metadata, PermissionOwner::Other,) - ))) - .spacing(10), - ); + settings.push(widget::settings::item::builder(fl!("other")).control( + widget::text(format_permissions(metadata, PermissionOwner::Other)), + )); } } _ => { @@ -1148,6 +1138,14 @@ impl Item { )); } + if !settings.is_empty() { + let mut section = widget::settings::section(); + for setting in settings { + section = section.add(setting); + } + column = column.push(section); + } + column.into() }