From 652bb431a4f42d9cb3e9b5fca595cc7fe9097029 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Thu, 11 Sep 2025 06:30:44 -0500 Subject: [PATCH] items that get added have text now --- src/main.rs | 25 +++++++++++++++++++++---- src/ui/presenter.rs | 3 +++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index e69cafc..6893b2f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,7 +7,7 @@ use cosmic::app::{Core, Settings, Task}; use cosmic::iced::alignment::Vertical; use cosmic::iced::keyboard::{Key, Modifiers}; use cosmic::iced::window::{Mode, Position}; -use cosmic::iced::{self, event, window, Length, Point}; +use cosmic::iced::{self, event, window, Color, Length, Point}; use cosmic::iced_futures::Subscription; use cosmic::iced_widget::{column, row, stack}; use cosmic::theme; @@ -40,7 +40,7 @@ use ui::song_editor::{self, SongEditor}; use ui::EditorMode; use crate::core::kinds::ServiceItemKind; -use crate::ui::text_svg; +use crate::ui::text_svg::{self, shadow, stroke, TextSvg}; pub mod core; pub mod lisp; @@ -396,8 +396,14 @@ impl cosmic::Application for App { fn footer(&self) -> Option> { let total_items_text = format!("Total Service Items: {}", self.service.len()); + + let total_slides = self + .service + .iter() + .fold(0, |a, item| a + item.slides.len()); + let total_slides_text = - format!("Total Slides: {}", self.presenter.total_slides); + format!("Total Slides: {}", total_slides); let row = row![ text::body(total_items_text), text::body(total_slides_text) @@ -949,7 +955,18 @@ impl cosmic::Application for App { } Task::none() } - Message::AppendServiceItem(item) => { + Message::AppendServiceItem(mut item) => { + item.slides = item + .slides + .into_par_iter() + .map(|mut slide| { + let fontdb = Arc::clone(&self.fontdb); + text_svg::text_svg_generator( + &mut slide, fontdb, + ); + slide + }) + .collect(); self.service.push(item); self.presenter.update_items(self.service.clone()); Task::none() diff --git a/src/ui/presenter.rs b/src/ui/presenter.rs index 02c5cd1..0df1184 100644 --- a/src/ui/presenter.rs +++ b/src/ui/presenter.rs @@ -676,7 +676,10 @@ impl Presenter { } pub fn update_items(&mut self, items: Vec) { + let total_slides: usize = + items.iter().fold(0, |a, item| a + item.slides.len()); self.service = items; + self.total_slides = total_slides; } }