Custom consumption widget is operational
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
use custom_consumption::app_config::AppConfig;
|
||||
use custom_consumption::utils::time_millis;
|
||||
|
||||
fn main() {
|
||||
env_logger::init();
|
||||
@ -17,6 +18,8 @@ fn main() {
|
||||
|
||||
struct MyApp {
|
||||
consumption: i64,
|
||||
last_saved_consumption: i64,
|
||||
last_save_time: u128,
|
||||
}
|
||||
|
||||
impl Default for MyApp {
|
||||
@ -32,12 +35,25 @@ impl Default for MyApp {
|
||||
|
||||
Self {
|
||||
consumption: prev_consumption,
|
||||
last_saved_consumption: prev_consumption,
|
||||
last_save_time: time_millis(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl eframe::App for MyApp {
|
||||
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
|
||||
if self.consumption != self.last_saved_consumption
|
||||
&& self.last_save_time + AppConfig::get().min_save_interval < time_millis()
|
||||
{
|
||||
log::info!("Persist {}", self.consumption);
|
||||
self.last_saved_consumption = self.consumption;
|
||||
self.last_save_time = time_millis();
|
||||
|
||||
std::fs::write(AppConfig::get().file_path(), self.consumption.to_string())
|
||||
.expect("Failed to save value!");
|
||||
}
|
||||
|
||||
egui::CentralPanel::default().show(ctx, |ui| {
|
||||
ui.heading("Custom consumption");
|
||||
ui.add(
|
||||
|
Reference in New Issue
Block a user