From bbda2672f57de2f432222cf64b47f1f2631d3df7 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Mon, 6 Oct 2025 19:06:44 -0400 Subject: [Rust] Fix save file dialog not respecting default file path Fixes https://github.com/Vector35/binaryninja-api/issues/7268 --- rust/src/interaction/form.rs | 13 ++++--------- rust/src/interaction/handler.rs | 10 ++++------ 2 files changed, 8 insertions(+), 15 deletions(-) (limited to 'rust/src/interaction') 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, - /// Default file name to fill. - default_name: Option, default: Option, value: Option, }, DirectoryName { prompt: String, - default_name: Option, default: Option, value: Option, }, @@ -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 { 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, - default_name: Option, + default: Option, ) -> Option { 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, + default: Option, ) -> Option { 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) { -- cgit v1.3.1