Skip to main content

FileExplorerBuilder

Struct FileExplorerBuilder 

Source
pub struct FileExplorerBuilder { /* private fields */ }
Expand description

Builder for creating a FileExplorer.

By default, the builder create FileExplorer with a working directory set to the current one.

Implementations§

Source§

impl FileExplorerBuilder

Source

pub fn working_dir<P: Into<PathBuf>>(self, working_dir: P) -> Self

Set the current working directory for the FileExplorer. If not set, it defaults to the current directory.

§Examples

Suppose you have this tree file:

/
├── .git
└── Documents
    ├── passport.png
    └── resume.pdf

You can create a new FileExplorer like this:

let file_explorer = FileExplorerBuilder::default()
    .working_dir("/Documents")
    .build()
    .unwrap();

assert_eq!(file_explorer.cwd().display().to_string(), "/Documents");
Source

pub fn working_file<P: Into<PathBuf>>(self, working_file: P) -> Self

Same as working_dir but will pre-select the file in the working directory.

This method set the working directory to the parent directory of the provided file and select the file in the file explorer. You can also select a directory (eg. select /Documents inside /).

§Examples

Suppose you have this tree file:

/
├── .git
└── Documents
    ├── passport.png
    └── resume.pdf

You can create a new FileExplorer selecting passport.png like this:

let file_explorer = FileExplorerBuilder::default()
    .working_file("/Documents/passport.png")
    .build()
    .unwrap();

assert_eq!(file_explorer.cwd().display().to_string(), "/Documents");
assert_eq!(file_explorer.current().path.display().to_string(), "/Documents/passport.png");
Source

pub fn show_hidden(self, show: bool) -> Self

Set whether to show hidden files in the FileExplorer. Defaults to false.

Source

pub fn filter_map( self, f: impl Fn(File) -> Option<File> + Send + Sync + 'static, ) -> Self

Set a filter and map for the FileExplorer.

If not set, all files are shown. Hidden files are filtered before this filter will be apply.

§Examples
let file_explorer = FileExplorerBuilder::default()
    .filter_map(|file| if file.is_dir { Some(file) } else { None })
    .build()
    .unwrap();

/* Only directories are shown */
Source

pub fn theme(self, theme: Theme) -> Self

Set the theme for the FileExplorer. If not set, it defaults to Theme::new.

§Examples
let file_explorer = FileExplorerBuilder::default()
    .theme(Theme::default().add_default_title())
    .build()
    .unwrap();
Source

pub fn build(self) -> Result<FileExplorer>

Build the FileExplorer instance based on the provided configuration.

§Errors

Will return Err if the setted working directory can not be listed.

Will return Err if NO working directory have been setted and current working directory can not be listed. See current_dir for more information.

Source

pub fn build_with_theme(theme: Theme) -> Result<FileExplorer>

Shortcut method to create a FileExplorer with a custom theme. See theme for more information about the theme configuration.

Source

pub fn build_with_working_dir<P: Into<PathBuf>>( working_dir: P, ) -> Result<FileExplorer>

Shortcut method to create a FileExplorer with a custom working directory. See working_dir for more information about the working directory configuration.

Source

pub fn build_with_working_file<P: Into<PathBuf>>( working_dir: P, ) -> Result<FileExplorer>

Shortcut method to create a FileExplorer with a custom working directory and file. See working_file for more information about the working directory configuration.

Trait Implementations§

Source§

impl Clone for FileExplorerBuilder

Source§

fn clone(&self) -> FileExplorerBuilder

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FileExplorerBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FileExplorerBuilder

Source§

fn default() -> FileExplorerBuilder

Returns the “default value” for a type. Read more
Source§

impl Eq for FileExplorerBuilder

Source§

impl Hash for FileExplorerBuilder

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for FileExplorerBuilder

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.