ferroui_base/platform/storage/
picker_options.rs1use super::IStorageFolder;
2use std::rc::Rc;
3
4#[derive(Clone, Default)]
6pub struct PickerOptions {
7 title: Option<String>,
8 suggested_start_location: Option<Rc<dyn IStorageFolder>>,
9 suggested_file_name: Option<String>,
10}
11
12impl PickerOptions {
13 pub fn new() -> Self {
15 Self::default()
16 }
17
18 pub fn title(&self) -> Option<&str> {
20 self.title.as_deref()
21 }
22
23 pub fn set_title(&mut self, value: Option<String>) {
24 self.title = value;
25 }
26
27 pub fn with_title(mut self, value: impl Into<String>) -> Self {
29 self.title = Some(value.into());
30 self
31 }
32
33 pub fn suggested_start_location(&self) -> Option<&Rc<dyn IStorageFolder>> {
38 self.suggested_start_location.as_ref()
39 }
40
41 pub fn set_suggested_start_location(&mut self, value: Option<Rc<dyn IStorageFolder>>) {
42 self.suggested_start_location = value;
43 }
44
45 pub fn with_suggested_start_location(mut self, value: Rc<dyn IStorageFolder>) -> Self {
48 self.suggested_start_location = Some(value);
49 self
50 }
51
52 pub fn suggested_file_name(&self) -> Option<&str> {
54 self.suggested_file_name.as_deref()
55 }
56
57 pub fn set_suggested_file_name(&mut self, value: Option<String>) {
58 self.suggested_file_name = value;
59 }
60
61 pub fn with_suggested_file_name(mut self, value: impl Into<String>) -> Self {
64 self.suggested_file_name = Some(value.into());
65 self
66 }
67}