diff options
Diffstat (limited to 'src/tree.rs')
-rw-r--r-- | src/tree.rs | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/tree.rs b/src/tree.rs index 7993b7f..3e7d24c 100644 --- a/src/tree.rs +++ b/src/tree.rs @@ -104,6 +104,16 @@ impl Node { folded: false, }) } + + fn empty(fileinfo: FileInfo) -> Self { + Self { + fileinfo, + position: vec![0], + folded: false, + is_dir: false, + metadata_line: "".to_owned(), + } + } } /// Holds a recursive view of a directory. @@ -129,6 +139,10 @@ impl Tree { pub const REQUIRED_HEIGHT: usize = 80; const MAX_INDEX: usize = 2 << 20; + pub fn set_required_height_to_max(&mut self) { + self.set_required_height(Self::MAX_INDEX) + } + /// Set the required height to a given value. /// The required height is used to stop filling the view content. pub fn set_required_height(&mut self, height: usize) { @@ -298,24 +312,19 @@ impl Tree { pub fn empty(path: &Path, users_cache: &UsersCache) -> Result<Self> { let filename = filename_from_path(path)?; let fileinfo = FileInfo::from_path_with_name(path, filename, users_cache)?; - let node = Node { - fileinfo, - position: vec![0], - folded: false, - is_dir: false, - metadata_line: "".to_owned(), - }; + let node = Node::empty(fileinfo); let leaves = vec![]; let position = vec![0]; let current_node = node.clone(); let sort_kind = SortKind::tree_default(); + let required_height = 0; Ok(Self { node, leaves, position, current_node, sort_kind, - required_height: 0, + required_height, }) } |