diff --git a/src/math_app.rs b/src/math_app.rs
index d50297f..a7dd526 100644
--- a/src/math_app.rs
+++ b/src/math_app.rs
@@ -105,7 +105,7 @@ pub struct MathApp {
functions: Manager,
/// Contains the list of Areas calculated (the vector of f64) and time it took for the last frame (the Duration). Stored in a Tuple.
- last_info: (Vec>, Duration),
+ last_info: (Vec >, Option),
/// Stores whether or not dark mode is enabled
dark_mode: bool,
@@ -253,7 +253,7 @@ impl MathApp {
Self {
functions: Default::default(),
- last_info: (vec![None], Duration::ZERO),
+ last_info: (vec![None], None),
dark_mode: true,
text: text_data.expect("text.json failed to load"),
opened: Opened::default(),
@@ -382,7 +382,11 @@ impl epi::App for MathApp {
/// Called each time the UI needs repainting.
fn update(&mut self, ctx: &Context, _frame: &mut epi::Frame) {
// start timer
- let start = instant::Instant::now();
+ let start = if self.opened.info {
+ Some(instant::Instant::now())
+ } else {
+ None
+ };
// Set dark/light mode depending on the variable `self.dark_mode`
ctx.set_visuals(match self.dark_mode {
@@ -457,11 +461,9 @@ impl epi::App for MathApp {
);
// Display Area and time of last frame
- ui.label(format!(
- "Area: {} Took: {:?}",
- option_vec_printer(&self.last_info.0),
- self.last_info.1
- ));
+ if self.last_info.0.iter().filter(|e| e.is_some()).count() > 0 {
+ ui.label(format!("Area: {}", option_vec_printer(&self.last_info.0)));
+ }
});
});
@@ -513,6 +515,10 @@ impl epi::App for MathApp {
.collapsible(false)
.show(ctx, |ui| {
ui.label(&*BUILD_INFO);
+
+ if let Some(took) = self.last_info.1 {
+ ui.label(format!("Took: {:?}", took));
+ }
});
// If side panel is enabled, show it.
@@ -596,6 +602,6 @@ impl epi::App for MathApp {
});
});
// Store list of functions' areas along with the time it took to process.
- self.last_info = (area_list, start.elapsed());
+ self.last_info = (area_list, start.map(|a| a.elapsed()));
}
}