mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-04-02 09:35:28 +00:00
activate on construct
This commit is contained in:
parent
711226737a
commit
56b2a26020
3 changed files with 74 additions and 112 deletions
43
src/app.rs
43
src/app.rs
|
|
@ -7,7 +7,7 @@ use browser::Browser;
|
|||
use database::Database;
|
||||
|
||||
use gtk::{
|
||||
gio::SimpleAction,
|
||||
// gio::SimpleAction,
|
||||
glib::ExitCode,
|
||||
prelude::{ActionExt, ApplicationExt, ApplicationExtManual, GtkApplicationExt, GtkWindowExt},
|
||||
Application,
|
||||
|
|
@ -20,9 +20,9 @@ const APPLICATION_ID: &str = "io.github.yggverse.Yoda";
|
|||
|
||||
pub struct App {
|
||||
// Actions
|
||||
action_update: Arc<SimpleAction>,
|
||||
// action_update: Arc<SimpleAction>,
|
||||
// Components
|
||||
browser: Arc<Browser>,
|
||||
// browser: Arc<Browser>,
|
||||
// Extras
|
||||
database: Arc<Database>,
|
||||
// GTK
|
||||
|
|
@ -93,30 +93,16 @@ impl App {
|
|||
action_tab_pin.simple(),
|
||||
));
|
||||
|
||||
// Return app struct
|
||||
Self {
|
||||
// Actions (SimpleAction)
|
||||
action_update: action_update.simple(),
|
||||
// Components
|
||||
browser,
|
||||
// Extras
|
||||
database,
|
||||
// GTK
|
||||
app,
|
||||
}
|
||||
}
|
||||
|
||||
// Actions
|
||||
pub fn activate(&self) -> &Self {
|
||||
self.app.connect_activate({
|
||||
// Init events
|
||||
app.connect_activate({
|
||||
// let database = database.clone();
|
||||
let action_update = self.action_update.clone();
|
||||
let browser = self.browser.clone();
|
||||
let action_update = action_update.simple();
|
||||
let browser = browser.clone();
|
||||
move |this| {
|
||||
// @TODO restore previous session from DB
|
||||
|
||||
// Activate events
|
||||
browser.activate().widget().set_application(Some(this));
|
||||
browser.widget().set_application(Some(this));
|
||||
|
||||
// Show main widget
|
||||
browser.widget().present();
|
||||
|
|
@ -129,9 +115,20 @@ impl App {
|
|||
// @TODO save session to DB
|
||||
// self.app.connect_window_removed(|_, _| todo!());
|
||||
|
||||
&self
|
||||
// Return activated App struct
|
||||
Self {
|
||||
// Actions (SimpleAction)
|
||||
// action_update: action_update.simple(),
|
||||
// Components
|
||||
// browser,
|
||||
// Extras
|
||||
database,
|
||||
// GTK
|
||||
app,
|
||||
}
|
||||
}
|
||||
|
||||
// Actions
|
||||
pub fn run(&self) -> ExitCode {
|
||||
self.app.run()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue