draft new certificate dialog features

This commit is contained in:
yggverse 2024-11-19 17:04:41 +02:00
parent 82f5cdc5b4
commit 35ccbd8714
5 changed files with 71 additions and 12 deletions

View file

@ -13,7 +13,7 @@ use std::rc::Rc;
pub struct Form {
pub gobject: Box,
pub list: Rc<List>,
// pub name: Rc<Name>,
pub name: Rc<Name>,
}
impl Form {
@ -32,13 +32,16 @@ impl Form {
gobject.append(&name.gobject);
// Connect events
list.on_select(move |key| name.gobject.set_visible(key.is_none()));
list.on_select({
let name = name.clone();
move |key| name.gobject.set_visible(key.is_none())
});
// Return activated `Self`
Self {
gobject,
list,
// name,
name,
}
}
}

View file

@ -1,4 +1,4 @@
use gtk::Entry;
use gtk::{glib::GString, prelude::EditableExt, Entry};
const PLACEHOLDER_TEXT: &str = "Identity name (optional)";
const MARGIN: i32 = 8;
@ -20,4 +20,15 @@ impl Name {
.build(),
}
}
// Getters
pub fn value(&self) -> Option<GString> {
let text = self.gobject.text();
if text.is_empty() {
None
} else {
Some(text)
}
}
}