mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-03-13 06:01:21 +00:00
init sqlite connection
This commit is contained in:
parent
49cb876749
commit
043661282c
@ -9,7 +9,10 @@ keywords = ["gemini", "gemini-protocol", "browser", "client", "1965"]
|
||||
repository = "https://github.com/YGGverse/Yoda/tree/Rust-GTK4"
|
||||
homepage = "https://yggverse.github.io"
|
||||
|
||||
[dependencies]
|
||||
sqlite = "0.36.1"
|
||||
|
||||
[dependencies.gtk]
|
||||
package = "gtk4"
|
||||
version = "0.9.1"
|
||||
features = ["v4_8"]
|
||||
features = ["v4_8"]
|
||||
|
@ -7,7 +7,9 @@ use gtk::{
|
||||
Application, ApplicationWindow,
|
||||
};
|
||||
|
||||
pub fn new(app: &Application, width: i32, height: i32) -> ApplicationWindow {
|
||||
use sqlite::Connection;
|
||||
|
||||
pub fn new(app: &Application, db: &Connection, width: i32, height: i32) -> ApplicationWindow {
|
||||
// Init browser window
|
||||
let browser = ApplicationWindow::builder()
|
||||
.default_width(width)
|
||||
|
22
src/main.rs
22
src/main.rs
@ -10,15 +10,25 @@ fn main() -> glib::ExitCode {
|
||||
// Init meta
|
||||
const APP_ID: &str = "io.github.yggverse.Yoda";
|
||||
|
||||
// Init config location
|
||||
let mut config = gtk::glib::user_config_dir();
|
||||
// Init profile directory
|
||||
let mut fs = gtk::glib::user_config_dir();
|
||||
|
||||
config.push(APP_ID);
|
||||
fs.push(APP_ID);
|
||||
|
||||
if let Err(e) = fs::create_dir_all(config) {
|
||||
if let Err(e) = fs::create_dir_all(&fs) {
|
||||
panic!("Failed to create profile directory: {e}")
|
||||
}
|
||||
|
||||
// Init profile database
|
||||
let mut db = fs.clone();
|
||||
|
||||
db.push("database.sqlite3");
|
||||
|
||||
let db = match sqlite::open(db) {
|
||||
Ok(db) => db,
|
||||
Err(e) => panic!("Failed to connect profile database: {e}"),
|
||||
};
|
||||
|
||||
// Init app
|
||||
let app = Application::builder().application_id(APP_ID).build();
|
||||
|
||||
@ -29,8 +39,8 @@ fn main() -> glib::ExitCode {
|
||||
app.set_accels_for_action("win.quit", &["<Ctrl>Escape"]);
|
||||
|
||||
// Create new window
|
||||
app.connect_activate(|app| {
|
||||
browser::new(app, 640, 480).present();
|
||||
app.connect_activate(move |app| {
|
||||
browser::new(&app, &db, 640, 480).present();
|
||||
});
|
||||
|
||||
// Start
|
||||
|
Loading…
x
Reference in New Issue
Block a user