restore previous options on cancel

This commit is contained in:
yggverse 2025-02-06 19:44:22 +02:00
parent abf38a8574
commit 2e47825365

View File

@ -2,7 +2,7 @@ mod form;
use gtk::{glib::GString, prelude::IsA, Widget}; use gtk::{glib::GString, prelude::IsA, Widget};
#[derive(Default)] #[derive(Default, Clone)]
pub struct Header { pub struct Header {
pub mime: Option<GString>, pub mime: Option<GString>,
pub token: Option<GString>, pub token: Option<GString>,
@ -24,8 +24,8 @@ impl Header {
// Init form components // Init form components
let form = Form::build( let form = Form::build(
&self.mime.unwrap_or_default(), &self.mime.clone().unwrap_or_default(),
&self.token.unwrap_or_default(), &self.token.clone().unwrap_or_default(),
); );
// Init main widget // Init main widget
@ -48,14 +48,14 @@ impl Header {
alert_dialog.connect_response(None, move |this, response| { alert_dialog.connect_response(None, move |this, response| {
this.set_response_enabled(response, false); // prevent double-click this.set_response_enabled(response, false); // prevent double-click
if response == RESPONSE_APPLY.0 { callback(if response == RESPONSE_APPLY.0 {
callback(Self { Self {
mime: form.mime(), mime: form.mime(),
token: form.token(), token: form.token(),
})
} else {
// @TODO restore
} }
} else {
self.clone()
})
}); });
// Show // Show