main: move theming support to callback code, cleanup

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
2020-07-22 18:20:25 +02:00
parent ac855d0a54
commit bd70ad653b

View File

@@ -14,17 +14,21 @@
//use chrono::{Local, DateTime};
use locales::t;
use serde::Deserialize;
use std::env;
use tracing::{debug, trace, Level};
//use std::env;
//use std::process;
use tracing::{trace, Level};
use orbtk::{
prelude::*,
theme::{COLORS_RON, DARK_THEME_RON, FONTS_RON},
theming::config::ThemeConfig,
//theme::{COLORS_RON, DARK_THEME_RON, FONTS_RON},
//theming::config::ThemeConfig,
};
// The Main view
use advotracker::widgets::main_view;
use advotracker::{
widgets::main_view,
callbacks::policycheck_state::PolicyCheckState,
};
mod parse_args;
@@ -55,23 +59,8 @@ struct Environment {
// };
// }
static DARK_EXT: &'static str = include_str!("../resources/stylesheets/advotracker_dark.ron");
fn theme() -> Theme {
Theme::from_config(
// sourcing: crates/theme/assets/dark/dark.ron
ThemeConfig::from(DARK_THEME_RON)
.extend(ThemeConfig::from(DARK_EXT))
.extend(ThemeConfig::from(COLORS_RON))
.extend(ThemeConfig::from(FONTS_RON)),
)
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
use dotenv::dotenv;
use parse_args::parse_args;
//use std::process;
//use std::sync::Arc;
use tracing_subscriber::fmt;
use viperus::Viperus;
@@ -107,22 +96,14 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing::subscriber::with_default(subscriber, || {
// get system environment
let mut lang = env::var("LANG").unwrap_or("en".to_string());
let mut res = t!("parse.environment", lang);
let lang = PolicyCheckState::get_lang();
let mut state = t!("state.started", lang);
let mut res = t!("parse.environment", lang);
trace!(target: "advotracker", message = ?res, state = ?state);
//debug!(message = ?res, state = ?state);
trace!(target: "advotracker", environment = "system", lang = ?lang);
trace!(target: "advotracker", machine = ?&machine_kind);
// testing environment: read from .env file
dotenv().ok();
match envy::from_env::<Environment>() {
Ok(environment) => {
if environment.test_lang != lang { lang = environment.test_lang; }
},
Err(e) => { debug!(target: "advotracker", "{}", e); }
}
// how to handle unumplemented lang resources??
res = t!("parse.environment", lang);
trace!(target: "advotracker", environment = "envy", lang = ?lang);
@@ -168,7 +149,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
// let mut csv_import_path = viperus.get::<String>("import_file").unwrap();
// match import(&mut csv_import_path, &mut policy_data,
// &mut policy_numbers, &lang) {
// &mut policy_numbers, lang) {
// Ok(count) => {
// println!("Imported {:?} records", count);
// }
@@ -196,7 +177,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
//}
Application::from_name("nwx.advotracker")
.theme(theme())
.theme(PolicyCheckState::theme())
.window(|ctx| {
Window::new()
.title("AdvoTracker - DirectCall")