fix tab append on initial application startup

This commit is contained in:
yggverse 2024-10-12 01:08:16 +03:00
parent 7c9ab300d3
commit ef227f276d
5 changed files with 22 additions and 6 deletions

View File

@ -1,6 +1,6 @@
[package]
name = "Yoda"
version = "0.5.0"
version = "0.4.1"
edition = "2021"
license = "MIT"
readme = "README.md"

View File

@ -119,6 +119,7 @@ impl App {
// Restore previous session from DB
match Database::records(&transaction) {
Ok(records) => {
// Restore child components
for record in records {
if let Err(e) =
browser.restore(&transaction, &record.id)
@ -126,6 +127,9 @@ impl App {
todo!("{e}")
}
}
// Run initial features
browser.init();
}
Err(e) => todo!("{e}"),
}

View File

@ -236,6 +236,10 @@ impl Browser {
Ok(())
}
pub fn init(&self) {
self.window.init();
}
// Getters
pub fn gobject(&self) -> &ApplicationWindow {
&self.widget.gobject()

View File

@ -160,6 +160,10 @@ impl Window {
Ok(())
}
pub fn init(&self) {
self.tab.init();
}
// Getters
pub fn gobject(&self) -> &Box {
&self.widget.gobject()

View File

@ -217,11 +217,6 @@ impl Tab {
// Register dynamically created tab item in the HashMap index
self.index.borrow_mut().insert(item.id(), item.clone());
}
// Append just one blank page if nothing to restore
if self.index.borrow().is_empty() {
self.append();
}
}
Err(e) => return Err(e.to_string()),
}
@ -260,6 +255,15 @@ impl Tab {
Ok(())
}
pub fn init(&self) {
// Append just one blank page if no tabs available after last session restore
if self.index.borrow().is_empty() {
self.append();
}
// @TODO other/child features..
}
// Getters
pub fn gobject(&self) -> &TabView {
self.widget.gobject()