mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-09-10 05:52:03 +00:00
restore previous options on cancel
This commit is contained in:
parent
abf38a8574
commit
2e47825365
@ -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 {
|
} else {
|
||||||
// @TODO restore
|
self.clone()
|
||||||
}
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
// Show
|
// Show
|
||||||
|
Loading…
x
Reference in New Issue
Block a user