diff options
| author | Mason Reed <mason@vector35.com> | 2025-10-06 19:06:44 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-10-07 14:11:02 -0400 |
| commit | bbda2672f57de2f432222cf64b47f1f2631d3df7 (patch) | |
| tree | 5a1b6a4d7e1309cc0cdc3c918469b50c925719c6 /rust/src | |
| parent | c92e768dc938e8d9a9a5822222cef6fa52c454c9 (diff) | |
[Rust] Fix save file dialog not respecting default file path
Fixes https://github.com/Vector35/binaryninja-api/issues/7268
Diffstat (limited to 'rust/src')
| -rw-r--r-- | rust/src/interaction/form.rs | 13 | ||||
| -rw-r--r-- | rust/src/interaction/handler.rs | 10 |
2 files changed, 8 insertions, 15 deletions
diff --git a/rust/src/interaction/form.rs b/rust/src/interaction/form.rs index 534aed74..4cf9f863 100644 --- a/rust/src/interaction/form.rs +++ b/rust/src/interaction/form.rs @@ -101,14 +101,11 @@ pub enum FormInputField { prompt: String, /// File extension to filter on. extension: Option<String>, - /// Default file name to fill. - default_name: Option<String>, default: Option<String>, value: Option<String>, }, DirectoryName { prompt: String, - default_name: Option<String>, default: Option<String>, value: Option<String>, }, @@ -182,14 +179,12 @@ impl FormInputField { BNFormInputFieldType::SaveFileNameFormField => Self::SaveFileName { prompt, extension, - default_name: name_default, - default: string_default, + default: name_default, value: string_result, }, BNFormInputFieldType::DirectoryNameFormField => Self::DirectoryName { prompt, - default_name: name_default, - default: string_default, + default: name_default, value: string_result, }, BNFormInputFieldType::CheckboxFormField => Self::Checkbox { @@ -345,8 +340,8 @@ impl FormInputField { /// Mapping to the [`BNFormInputField::defaultName`] field. pub fn try_default_name(&self) -> Option<String> { match self { - Self::SaveFileName { default_name, .. } => default_name.clone(), - Self::DirectoryName { default_name, .. } => default_name.clone(), + Self::SaveFileName { default, .. } => default.clone(), + Self::DirectoryName { default, .. } => default.clone(), _ => None, } } diff --git a/rust/src/interaction/handler.rs b/rust/src/interaction/handler.rs index 2af63eb1..d4734d34 100644 --- a/rust/src/interaction/handler.rs +++ b/rust/src/interaction/handler.rs @@ -211,15 +211,14 @@ pub trait InteractionHandler: Sync + Send + 'static { &mut self, prompt: &str, extension: Option<String>, - default_name: Option<String>, + default: Option<String>, ) -> Option<String> { let mut form = Form::new(prompt.to_owned()); form.add_field(FormInputField::SaveFileName { prompt: prompt.to_string(), extension, - default: None, + default, value: None, - default_name, }); if !self.get_form_input(&mut form) { return None; @@ -231,13 +230,12 @@ pub trait InteractionHandler: Sync + Send + 'static { fn get_directory_name_input( &mut self, prompt: &str, - default_name: Option<String>, + default: Option<String>, ) -> Option<String> { let mut form = Form::new(prompt.to_owned()); form.add_field(FormInputField::DirectoryName { prompt: prompt.to_string(), - default_name, - default: None, + default, value: None, }); if !self.get_form_input(&mut form) { |
