GstPipelineStudio/src/main.rs

51 lines
1.1 KiB
Rust
Raw Normal View History

2021-11-17 11:19:18 +00:00
// main.rs
//
// Copyright 2021 Stéphane Cerveau <scerveau@collabora.com>
//
// This file is part of GstPipelineStudio
2021-11-17 11:19:18 +00:00
//
// SPDX-License-Identifier: GPL-3.0-only
2021-11-19 11:34:19 +00:00
#[macro_use]
mod macros;
mod app;
mod common;
mod config;
mod graphbook;
mod graphmanager;
mod ui;
#[macro_use]
mod logger;
mod gps;
mod settings;
2021-10-22 11:00:05 +00:00
use gtk::prelude::*;
2021-11-19 11:34:19 +00:00
use crate::app::GPSApp;
use crate::common::init;
use structopt::StructOpt;
#[derive(StructOpt, Debug)]
struct Command {
#[structopt(about = "Sets the pipeline description", default_value = "")]
pipeline: String,
}
2021-10-12 08:33:51 +00:00
fn main() {
2021-10-22 11:00:05 +00:00
// gio::resources_register_include!("compiled.gresource").unwrap();
init().expect("Unable to init app");
let application = gtk::Application::new(
Some(config::APP_ID),
gtk::gio::ApplicationFlags::HANDLES_COMMAND_LINE,
);
2021-11-19 11:34:19 +00:00
application.connect_startup(|application| {
let args = Command::from_args();
GPSApp::on_startup(application, &args.pipeline);
2021-11-19 11:34:19 +00:00
});
2021-10-22 11:00:05 +00:00
application.connect_command_line(|_app, _cmd_line| {
// structopt already handled arguments
0
});
2021-10-22 11:00:05 +00:00
application.run();
2021-10-12 08:33:51 +00:00
}