From 5d65c0b93a84b82380b94549f4ba0be189173d8f Mon Sep 17 00:00:00 2001 From: leca Date: Fri, 5 Apr 2024 12:42:02 +0300 Subject: [PATCH] cards/new, cards/edit and some improvements --- resources/cards/edit/ui.xml | 50 +++++++++++++ resources/cards/game/ui.xml | 21 ++++++ resources/cards/new/ui.xml | 50 +++++++++++++ resources/cards/setup/ui.xml | 6 +- resources/menu/ui.xml | 10 ++- resources/org.foxarmy.settings.gschema.xml | 38 +++++----- resources/resources.gresource.xml | 25 ++++--- resources/widgets/card_entry/template.ui.xml | 32 ++++++++ src/main.rs | 2 +- src/ui/cards/edit/imp.rs | 79 ++++++++++++++++++++ src/ui/cards/edit/mod.rs | 15 ++++ src/ui/cards/mod.rs | 1 + src/ui/cards/new/imp.rs | 46 ++++++++++++ src/ui/cards/new/mod.rs | 27 +++++++ src/ui/cards/setup/imp.rs | 17 ++++- src/ui/guessing/setup/imp.rs | 2 +- src/widgets/card_display/mod.rs | 0 src/widgets/card_entry/imp.rs | 67 +++++++++++++++++ src/widgets/card_entry/mod.rs | 17 +++++ src/{ => widgets}/labled_switch/imp.rs | 0 src/{ => widgets}/labled_switch/mod.rs | 0 src/widgets/mod.rs | 3 + 22 files changed, 470 insertions(+), 38 deletions(-) create mode 100644 resources/cards/edit/ui.xml create mode 100644 resources/cards/new/ui.xml create mode 100644 resources/widgets/card_entry/template.ui.xml create mode 100644 src/ui/cards/new/imp.rs create mode 100644 src/ui/cards/new/mod.rs create mode 100644 src/widgets/card_display/mod.rs create mode 100644 src/widgets/card_entry/imp.rs create mode 100644 src/widgets/card_entry/mod.rs rename src/{ => widgets}/labled_switch/imp.rs (100%) rename src/{ => widgets}/labled_switch/mod.rs (100%) create mode 100644 src/widgets/mod.rs diff --git a/resources/cards/edit/ui.xml b/resources/cards/edit/ui.xml new file mode 100644 index 0000000..20c05b4 --- /dev/null +++ b/resources/cards/edit/ui.xml @@ -0,0 +1,50 @@ + + + + \ No newline at end of file diff --git a/resources/cards/game/ui.xml b/resources/cards/game/ui.xml index e69de29..86fdc00 100644 --- a/resources/cards/game/ui.xml +++ b/resources/cards/game/ui.xml @@ -0,0 +1,21 @@ + + + + \ No newline at end of file diff --git a/resources/cards/new/ui.xml b/resources/cards/new/ui.xml new file mode 100644 index 0000000..b78ad3b --- /dev/null +++ b/resources/cards/new/ui.xml @@ -0,0 +1,50 @@ + + + + \ No newline at end of file diff --git a/resources/cards/setup/ui.xml b/resources/cards/setup/ui.xml index 3af6073..86fdc00 100644 --- a/resources/cards/setup/ui.xml +++ b/resources/cards/setup/ui.xml @@ -7,15 +7,15 @@ horizontal - test + Edit cards - test2 + start game - + \ No newline at end of file diff --git a/resources/menu/ui.xml b/resources/menu/ui.xml index b1cf1ff..cb97189 100644 --- a/resources/menu/ui.xml +++ b/resources/menu/ui.xml @@ -4,18 +4,24 @@ Menu - horizontal + horizontal Practice hiragana and katakana + Practice vocabulary with memory cards + - + \ No newline at end of file diff --git a/resources/org.foxarmy.settings.gschema.xml b/resources/org.foxarmy.settings.gschema.xml index cc56617..f0a7424 100644 --- a/resources/org.foxarmy.settings.gschema.xml +++ b/resources/org.foxarmy.settings.gschema.xml @@ -1,21 +1,21 @@ - - - false - Enable romaji to kana - - - true - Enable kana to romaji - - - true - Enable hiragana - - - false - Enable katakana - - - + + + false + Enable romaji to kana + + + true + Enable kana to romaji + + + true + Enable hiragana + + + false + Enable katakana + + + \ No newline at end of file diff --git a/resources/resources.gresource.xml b/resources/resources.gresource.xml index 47e71d5..d706e16 100644 --- a/resources/resources.gresource.xml +++ b/resources/resources.gresource.xml @@ -1,14 +1,19 @@ - - menu/ui.xml - - guessing/game/ui.xml - guessing/setup/ui.xml + + menu/ui.xml - - cards/setup/ui.xml + cards/edit/ui.xml + cards/setup/ui.xml + cards/new/ui.xml - widgets/labled_switch/template.ui.xml - - + + guessing/game/ui.xml + guessing/setup/ui.xml + + + + widgets/labled_switch/template.ui.xml + widgets/card_entry/template.ui.xml + + \ No newline at end of file diff --git a/resources/widgets/card_entry/template.ui.xml b/resources/widgets/card_entry/template.ui.xml new file mode 100644 index 0000000..f2299e7 --- /dev/null +++ b/resources/widgets/card_entry/template.ui.xml @@ -0,0 +1,32 @@ + + + + \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index f77844f..6c34c53 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,6 @@ mod game; -mod labled_switch; mod ui; +mod widgets; use crate::ui::menu::MenuScene; diff --git a/src/ui/cards/edit/imp.rs b/src/ui/cards/edit/imp.rs index 8b13789..cbdbb25 100644 --- a/src/ui/cards/edit/imp.rs +++ b/src/ui/cards/edit/imp.rs @@ -1 +1,80 @@ +use std::rc::Rc; +use glib::subclass::InitializingObject; +use gtk::glib::object::ObjectExt; +use gtk::glib::{clone, closure_local}; +use gtk::subclass::prelude::*; +use gtk::{glib, Button, CompositeTemplate, ScrolledWindow, SearchEntry, Window}; +use gtk::{prelude::*, FileDialog}; + +use crate::ui::cards::new::*; +use crate::widgets::card_entry::CardEntry; + +#[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