From c334c587b5bd004e2d6ae238dda422cb5af48f03 Mon Sep 17 00:00:00 2001 From: leca Date: Fri, 24 May 2024 11:05:40 +0300 Subject: [PATCH] cargo fmt --- src/card/mod.rs | 17 +++++++++++++---- src/card_gobject/imp.rs | 2 +- src/card_gobject/mod.rs | 13 +++++-------- src/db.rs | 21 ++++++++++++++------- src/dictionary.rs | 6 +++--- src/main.rs | 10 ++++------ src/ui/cards/game/mod.rs | 3 ++- src/ui/cards/mod.rs | 2 +- src/ui/cards/new/imp.rs | 1 - src/ui/cards/new/mod.rs | 5 ++++- src/ui/cards/setup/imp.rs | 2 +- src/ui/cards/setup/mod.rs | 8 ++++++-- src/ui/guessing/game/imp.rs | 5 ++--- src/ui/guessing/game/mod.rs | 18 ++++++++++++------ src/ui/guessing/setup/mod.rs | 6 +++++- src/ui/menu/mod.rs | 7 +++++-- src/widgets/card_display/imp.rs | 2 +- src/widgets/card_display/mod.rs | 16 ++++++++++++---- src/widgets/card_entry/imp.rs | 1 - src/widgets/mod.rs | 4 ++-- 20 files changed, 93 insertions(+), 56 deletions(-) diff --git a/src/card/mod.rs b/src/card/mod.rs index 9b6c991..2a9c735 100644 --- a/src/card/mod.rs +++ b/src/card/mod.rs @@ -4,13 +4,23 @@ pub struct Card { hieroglyph: Option, reading: Option, translation: Option, - is_learning: Option + is_learning: Option, } impl Card { - pub fn new(image_path: Option, hieroglyph: Option, reading: Option, translation: Option, is_learning: Option) -> Card { + pub fn new( + image_path: Option, + hieroglyph: Option, + reading: Option, + translation: Option, + is_learning: Option, + ) -> Card { Card { - image_path, hieroglyph, reading, translation, is_learning + image_path, + hieroglyph, + reading, + translation, + is_learning, } } @@ -33,5 +43,4 @@ impl Card { pub fn is_learning(&self) -> Option { self.is_learning.clone() } - } diff --git a/src/card_gobject/imp.rs b/src/card_gobject/imp.rs index 1d7e597..3f906f9 100644 --- a/src/card_gobject/imp.rs +++ b/src/card_gobject/imp.rs @@ -27,4 +27,4 @@ impl ObjectSubclass for CardGObject { } #[glib::derived_properties] -impl ObjectImpl for CardGObject {} \ No newline at end of file +impl ObjectImpl for CardGObject {} diff --git a/src/card_gobject/mod.rs b/src/card_gobject/mod.rs index bfac588..6ef8bea 100644 --- a/src/card_gobject/mod.rs +++ b/src/card_gobject/mod.rs @@ -1,7 +1,7 @@ mod imp; +use crate::card::Card; use glib::Object; use gtk::glib; -use crate::card::Card; glib::wrapper! { pub struct CardGObject(ObjectSubclass); @@ -10,17 +10,14 @@ glib::wrapper! { impl CardGObject { pub fn new(c: Option) -> Self { match c { - Some(c) => { - Object::builder() + Some(c) => Object::builder() .property("imagepath", c.image_path().unwrap()) .property("hieroglyph", c.hieroglyph().unwrap()) .property("reading", c.reading().unwrap()) .property("translation", c.translation().unwrap()) .property("islearning", c.is_learning().unwrap()) - .build() - }, - None => Object::builder().build() + .build(), + None => Object::builder().build(), } - } -} \ No newline at end of file +} diff --git a/src/db.rs b/src/db.rs index e5d0e2b..bf97169 100644 --- a/src/db.rs +++ b/src/db.rs @@ -20,11 +20,14 @@ pub fn init() { }; match fs::create_dir_all(&program_home_path) { - Ok(_) => {}, + Ok(_) => {} Err(error) => match error.kind() { - ErrorKind::AlreadyExists => {}, - _ => panic!("Could not create app home folder: {}", &program_home_path.to_str().unwrap()) - } + ErrorKind::AlreadyExists => {} + _ => panic!( + "Could not create app home folder: {}", + &program_home_path.to_str().unwrap() + ), + }, }; let mut binding = PROGRAM_HOME_PATH.write().unwrap(); @@ -40,17 +43,21 @@ pub fn init() { let connection = Connection::open(db_path).unwrap(); - connection.execute("CREATE TABLE IF NOT EXISTS cards ( + connection + .execute( + "CREATE TABLE IF NOT EXISTS cards ( id INTEGER PRIMARY KEY AUTOINCREMENT, imagename CHAR(64), hieroglyph VARCHAR(64), reading VARCHAR(64), translation VARCHAR(128), is_learning BOOLEAN DEFAULT FALSE - )",()).unwrap(); + )", + (), + ) + .unwrap(); } - pub fn get_program_home_path() -> String { (*PROGRAM_HOME_PATH.read().unwrap()).clone() } diff --git a/src/dictionary.rs b/src/dictionary.rs index a8c8fa9..496f1d9 100644 --- a/src/dictionary.rs +++ b/src/dictionary.rs @@ -1,5 +1,5 @@ -use rusqlite::Connection; use core::panic; +use rusqlite::Connection; use std::fs::{self, File}; use std::io::{ErrorKind, Write}; @@ -48,7 +48,7 @@ async fn download_dictionary(path: String) { let mut file = match File::create(&path) { Err(e) => panic!("Could not create dictionary file. {}", e), - Ok(file) => file + Ok(file) => file, }; let content = response.unwrap().bytes().await.unwrap(); file.write_all(&content).unwrap(); @@ -72,7 +72,7 @@ fn read_and_parse(path: &String) -> Vec { _ => { println!("Unexpected error. Can't load dictionary. Assuming it's empty"); return Vec::new(); - }, + } }, }; diff --git a/src/main.rs b/src/main.rs index 3108f5b..62c0a75 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,12 @@ #![windows_subsystem = "windows"] +mod card; +mod card_gobject; mod db; +mod dictionary; mod game; mod ui; mod widgets; -mod dictionary; -mod card; -mod card_gobject; use crate::ui::menu::MenuScene; @@ -41,8 +41,6 @@ fn main() -> glib::ExitCode { dictionary::import(&(get_program_home_path() + "/dictionary.txt")); // Read file, parse it, deduplicate and append to the database. - - let app: Application = Application::builder().application_id(APP_ID).build(); app.connect_activate(build_ui); @@ -194,4 +192,4 @@ fn connect_close_requrest>(app: &Application, w: &W) { true }), ); -} \ No newline at end of file +} diff --git a/src/ui/cards/game/mod.rs b/src/ui/cards/game/mod.rs index 925107f..b6230e1 100644 --- a/src/ui/cards/game/mod.rs +++ b/src/ui/cards/game/mod.rs @@ -25,7 +25,8 @@ impl MemoryCardsGameScene { "Correct|Incorrect: {}|{} ({:.2}%)", self.imp().correct.borrow(), self.imp().incorrect.borrow(), - 100.0 * f64::from(*self.imp().correct.borrow() as i32) / f64::from((*self.imp().incorrect.borrow() + *self.imp().correct.borrow()) as i32) + 100.0 * f64::from(*self.imp().correct.borrow() as i32) + / f64::from((*self.imp().incorrect.borrow() + *self.imp().correct.borrow()) as i32) )); } diff --git a/src/ui/cards/mod.rs b/src/ui/cards/mod.rs index ea6d9fd..8e43eb9 100644 --- a/src/ui/cards/mod.rs +++ b/src/ui/cards/mod.rs @@ -1,4 +1,4 @@ pub mod edit; pub mod game; +pub mod new; pub mod setup; -pub mod new; \ No newline at end of file diff --git a/src/ui/cards/new/imp.rs b/src/ui/cards/new/imp.rs index ab67fb7..e3c23a2 100644 --- a/src/ui/cards/new/imp.rs +++ b/src/ui/cards/new/imp.rs @@ -40,7 +40,6 @@ impl ObjectImpl for MemoryCardsNewScene { } } - impl WidgetImpl for MemoryCardsNewScene {} impl WindowImpl for MemoryCardsNewScene {} diff --git a/src/ui/cards/new/mod.rs b/src/ui/cards/new/mod.rs index 21d48f1..b2250e0 100644 --- a/src/ui/cards/new/mod.rs +++ b/src/ui/cards/new/mod.rs @@ -2,7 +2,10 @@ mod imp; use glib::Object; use gtk::{ - gio, glib::{self, subclass::types::ObjectSubclassIsExt}, prelude::*, Application, Button, Entry, Picture + gio, + glib::{self, subclass::types::ObjectSubclassIsExt}, + prelude::*, + Application, Button, Entry, Picture, }; glib::wrapper! { diff --git a/src/ui/cards/setup/imp.rs b/src/ui/cards/setup/imp.rs index e22fb69..cdcabf8 100644 --- a/src/ui/cards/setup/imp.rs +++ b/src/ui/cards/setup/imp.rs @@ -30,7 +30,7 @@ impl ObjectSubclass for MemoryCardsSetupScene { impl ObjectImpl for MemoryCardsSetupScene { fn constructed(&self) { - self.parent_constructed(); + self.parent_constructed(); } } diff --git a/src/ui/cards/setup/mod.rs b/src/ui/cards/setup/mod.rs index 3b397c8..72655ae 100644 --- a/src/ui/cards/setup/mod.rs +++ b/src/ui/cards/setup/mod.rs @@ -1,7 +1,11 @@ mod imp; use glib::Object; -use gtk::{gio, glib::{self, subclass::types::ObjectSubclassIsExt}, Application, Button}; +use gtk::{ + gio, + glib::{self, subclass::types::ObjectSubclassIsExt}, + Application, Button, +}; glib::wrapper! { pub struct MemoryCardsSetupScene(ObjectSubclass) @@ -14,7 +18,7 @@ impl MemoryCardsSetupScene { pub fn new(app: &Application) -> Self { Object::builder().property("application", app).build() } - + pub fn get_edit_button(&self) -> &Button { self.imp().edit_button.as_ref() } diff --git a/src/ui/guessing/game/imp.rs b/src/ui/guessing/game/imp.rs index 4ef9fab..149b86b 100644 --- a/src/ui/guessing/game/imp.rs +++ b/src/ui/guessing/game/imp.rs @@ -60,12 +60,11 @@ impl ObjectImpl for GuessingScene { let answer_entry_binding = &self.answer_entry.get(); let stats_label_binding = &self.stats_label.get(); - /* - + "Memory management when writing a gtk-rs app can be a bit tricky." (c) https://gtk-rs.org/gtk4-rs/stable/latest/book/g_object_memory_management.html - + */ let iteration = closure_local!(@strong self_binding, diff --git a/src/ui/guessing/game/mod.rs b/src/ui/guessing/game/mod.rs index cf31f30..8cafc92 100644 --- a/src/ui/guessing/game/mod.rs +++ b/src/ui/guessing/game/mod.rs @@ -2,11 +2,15 @@ mod imp; use std::ops::Deref; -use glib::Object; -use gtk::{gio::{self, prelude::*}, glib::{self, subclass::types::ObjectSubclassIsExt}, Application, Button}; -use gtk::gio::Settings; -use rand::Rng; use crate::{game::*, APP_ID}; +use glib::Object; +use gtk::gio::Settings; +use gtk::{ + gio::{self, prelude::*}, + glib::{self, subclass::types::ObjectSubclassIsExt}, + Application, Button, +}; +use rand::Rng; glib::wrapper! { pub struct GuessingScene(ObjectSubclass) @@ -66,9 +70,11 @@ impl GuessingScene { &self.imp().question.borrow(), ); - let binding = generate_question_text(&self.imp().question.borrow(), self.imp().exact_kana.borrow().deref()); + let binding = generate_question_text( + &self.imp().question.borrow(), + self.imp().exact_kana.borrow().deref(), + ); let text: &str = &(binding.as_str()); self.imp().question_label.set_label(text); - } } diff --git a/src/ui/guessing/setup/mod.rs b/src/ui/guessing/setup/mod.rs index 48e5bc3..a83d760 100644 --- a/src/ui/guessing/setup/mod.rs +++ b/src/ui/guessing/setup/mod.rs @@ -1,7 +1,11 @@ mod imp; use glib::Object; -use gtk::{gio, glib::{self, subclass::types::ObjectSubclassIsExt}, Application, Button}; +use gtk::{ + gio, + glib::{self, subclass::types::ObjectSubclassIsExt}, + Application, Button, +}; glib::wrapper! { pub struct GuessingSetupScene(ObjectSubclass) diff --git a/src/ui/menu/mod.rs b/src/ui/menu/mod.rs index 6955e88..1d60b67 100644 --- a/src/ui/menu/mod.rs +++ b/src/ui/menu/mod.rs @@ -1,7 +1,11 @@ mod imp; use glib::Object; -use gtk::{gio, glib::{self, subclass::types::ObjectSubclassIsExt}, Application, Button}; +use gtk::{ + gio, + glib::{self, subclass::types::ObjectSubclassIsExt}, + Application, Button, +}; glib::wrapper! { pub struct MenuScene(ObjectSubclass) @@ -22,5 +26,4 @@ impl MenuScene { pub fn get_memory_cards_button(&self) -> &Button { self.imp().memory_cards.as_ref() } - } diff --git a/src/widgets/card_display/imp.rs b/src/widgets/card_display/imp.rs index c7ab974..ca4ecb8 100644 --- a/src/widgets/card_display/imp.rs +++ b/src/widgets/card_display/imp.rs @@ -3,7 +3,7 @@ use std::cell::RefCell; use glib::subclass::InitializingObject; use glib::Properties; use gtk::subclass::prelude::*; -use gtk::{glib, prelude::*, BoxLayout, CompositeTemplate, Entry, Label, Image}; +use gtk::{glib, prelude::*, BoxLayout, CompositeTemplate, Entry, Image, Label}; #[derive(CompositeTemplate, Properties, Default)] #[properties(wrapper_type = super::CardDisplay)] diff --git a/src/widgets/card_display/mod.rs b/src/widgets/card_display/mod.rs index 38a2ca4..89e76a4 100644 --- a/src/widgets/card_display/mod.rs +++ b/src/widgets/card_display/mod.rs @@ -1,9 +1,12 @@ mod imp; - use glib::Object; -use gtk::{gio, glib::{self, subclass::types::ObjectSubclassIsExt}, prelude::*, Entry, Image}; - +use gtk::{ + gio, + glib::{self, subclass::types::ObjectSubclassIsExt}, + prelude::*, + Entry, Image, +}; glib::wrapper! { pub struct CardDisplay(ObjectSubclass) @@ -13,7 +16,12 @@ glib::wrapper! { } impl CardDisplay { - pub fn new(image_path: &String, hieroglyph: &String, reading: Option<&String>, translation: &String) -> Self { + pub fn new( + image_path: &String, + hieroglyph: &String, + reading: Option<&String>, + translation: &String, + ) -> Self { Object::builder() .property("imagepath", image_path) .property("translation", translation) diff --git a/src/widgets/card_entry/imp.rs b/src/widgets/card_entry/imp.rs index 4d48db8..5dfbc75 100644 --- a/src/widgets/card_entry/imp.rs +++ b/src/widgets/card_entry/imp.rs @@ -5,7 +5,6 @@ use glib::Properties; use gtk::subclass::prelude::*; use gtk::{glib, prelude::*, Button, CompositeTemplate, Image, Label, Switch}; - #[derive(CompositeTemplate, Properties, Default)] #[properties(wrapper_type = super::CardEntry)] #[template(resource = "/org/foxarmy/learn-hieroglyph/widgets/card_entry/template.ui.xml")] diff --git a/src/widgets/mod.rs b/src/widgets/mod.rs index 5ed3dcd..55b4b63 100644 --- a/src/widgets/mod.rs +++ b/src/widgets/mod.rs @@ -1,3 +1,3 @@ -pub mod labled_switch; +pub mod card_display; pub mod card_entry; -pub mod card_display; \ No newline at end of file +pub mod labled_switch;