diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/db/mod.rs | 4 | ||||
-rw-r--r-- | src/gui/mod.rs | 3 | ||||
-rw-r--r-- | src/main.rs | 11 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/db/mod.rs b/src/db/mod.rs index b27226b..1bbf21e 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -6,8 +6,8 @@ use uuid::Uuid; use crate::model::event::Event; -pub fn init() -> Result<Connection> { - let mut conn = Connection::open("database.db")?; +pub fn init(db_path: &str) -> Result<Connection> { + let mut conn = Connection::open(db_path)?; let migrations = Migrations::new(vec![M::up(include_str!("migrations/1-init.sql"))]); migrations.to_latest(&mut conn)?; Ok(conn) diff --git a/src/gui/mod.rs b/src/gui/mod.rs index a8a025c..c33500b 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -18,7 +18,8 @@ pub fn run(conn: Connection) { let app = gtk::Application::new(Some("me.guyonvarch.calendar"), Default::default()); app.connect_startup(|_| load_style()); app.connect_activate(move |app| build_ui(conn.clone(), app)); - app.run(); + let args: [&str; 0] = []; + app.run_with_args(&args); } fn build_ui(conn: Rc<Connection>, app: >k::Application) { diff --git a/src/main.rs b/src/main.rs index 8999a52..956e930 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,9 +3,18 @@ mod gui; mod model; use anyhow::Result; +use structopt::StructOpt; + +#[derive(StructOpt)] +#[structopt()] +struct Opt { + #[structopt(long, default_value = "database.db")] + database: String, +} fn main() -> Result<()> { - let conn = db::init()?; + let db_path = Opt::from_args().database; + let conn = db::init(&db_path)?; gui::run(conn); Ok(()) } |