From 2e4782536549649ced3397f1040dc6bff39b52e6 Mon Sep 17 00:00:00 2001 From: yggverse Date: Thu, 6 Feb 2025 19:44:22 +0200 Subject: [PATCH] restore previous options on cancel --- .../window/tab/item/page/input/titan/header.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/app/browser/window/tab/item/page/input/titan/header.rs b/src/app/browser/window/tab/item/page/input/titan/header.rs index 49e7363d..09f13ffa 100644 --- a/src/app/browser/window/tab/item/page/input/titan/header.rs +++ b/src/app/browser/window/tab/item/page/input/titan/header.rs @@ -2,7 +2,7 @@ mod form; use gtk::{glib::GString, prelude::IsA, Widget}; -#[derive(Default)] +#[derive(Default, Clone)] pub struct Header { pub mime: Option, pub token: Option, @@ -24,8 +24,8 @@ impl Header { // Init form components let form = Form::build( - &self.mime.unwrap_or_default(), - &self.token.unwrap_or_default(), + &self.mime.clone().unwrap_or_default(), + &self.token.clone().unwrap_or_default(), ); // Init main widget @@ -48,14 +48,14 @@ impl Header { alert_dialog.connect_response(None, move |this, response| { this.set_response_enabled(response, false); // prevent double-click - if response == RESPONSE_APPLY.0 { - callback(Self { + callback(if response == RESPONSE_APPLY.0 { + Self { mime: form.mime(), token: form.token(), - }) + } } else { - // @TODO restore - } + self.clone() + }) }); // Show