use std::cell::RefCell; use std::fs; use std::io::ErrorKind; use std::path::Path; use std::rc::Rc; use crate::db::*; use crate::ui::cards::new::*; use crate::widgets::card_entry::CardEntry; use glib::subclass::InitializingObject; use gtk::glib::object::ObjectExt; use gtk::glib::{clone, closure_local}; use gtk::subclass::prelude::*; use gtk::{gio, glib, Box, Button, CompositeTemplate, ScrolledWindow, SearchEntry, Window}; use gtk::{prelude::*, FileDialog}; use rusqlite::Connection; use sha256::try_digest; use gtk::prelude::WidgetExt; #[derive(CompositeTemplate, Default)] #[template(resource = "/org/foxarmy/learn-hieroglyph/cards/edit/ui.xml")] pub struct MemoryCardsEditScene { #[template_child] pub search_entry: TemplateChild, #[template_child] pub add_button: TemplateChild