From 96103048df2ebf02a62f75a4840f643f38831eba Mon Sep 17 00:00:00 2001 From: yggverse Date: Fri, 4 Oct 2024 20:20:53 +0300 Subject: [PATCH] draft session actions delegation --- src/app.rs | 13 ++++++------- src/app/browser.rs | 5 +++++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/app.rs b/src/app.rs index 24575886..3bbe4fee 100644 --- a/src/app.rs +++ b/src/app.rs @@ -115,13 +115,13 @@ impl App { match database.records() { Ok(records) => { for record in records { - println!("{:?}", record.id) // @TODO + browser.restore(record.id); } } Err(error) => panic!("{error}"), // @TODO } - // Activate events + // Assign browser window to this application browser.widget().set_application(Some(this)); // Show main widget @@ -133,15 +133,15 @@ impl App { // let browser = browser.clone(); let database = database.clone(); move |_| { + // @TODO transaction? match database.records() { Ok(records) => { // Cleanup previous session records for record in records { match database.delete(record.id) { Ok(_) => { - // Delegate clean action to children components - // browser.clean(app_id); @TODO + browser.clean(record.id); } Err(error) => panic!("{error}"), // @TODO } @@ -150,11 +150,10 @@ impl App { // Save current session to DB match database.add() { Ok(_) => { - // let app_id = database.last_insert_id(); + let app_id = database.last_insert_id(); // Delegate save action to children components - // self.browser.save(app_id) @TODO - // .. + browser.save(app_id); } Err(error) => panic!("{error}"), // @TODO } diff --git a/src/app/browser.rs b/src/app/browser.rs index 8c326373..1be413be 100644 --- a/src/app/browser.rs +++ b/src/app/browser.rs @@ -191,6 +191,11 @@ impl Browser { } } + // Actions + pub fn clean(&self, app_id: i64) {} + pub fn restore(&self, app_id: i64) {} + pub fn save(&self, app_id: i64) {} + // Getters pub fn widget(&self) -> &ApplicationWindow { &self.widget