From bf9f65fade0b6bd6189e9afec15b706d9253e002 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Wed, 17 Jul 2024 13:48:27 -0500 Subject: [PATCH] some thoughts? --- src/rust/slide_model.rs | 20 ++++++++++---------- src/rust/slide_model_r.rs | 25 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 src/rust/slide_model_r.rs diff --git a/src/rust/slide_model.rs b/src/rust/slide_model.rs index c6df12b..51f8262 100644 --- a/src/rust/slide_model.rs +++ b/src/rust/slide_model.rs @@ -1240,22 +1240,22 @@ impl slide_model::SlideModel { let role = SlideRoles { repr: role }; if let Some(slide) = self.slides.get(index.row() as usize) { return match role { - SlideRoles::Ty => QVariant::from(&slide.ty), - SlideRoles::Text => QVariant::from(&slide.text), - SlideRoles::Audio => QVariant::from(&slide.audio), + SlideRoles::Ty => QVariant::from(&QString::from(&slide.ty)), + SlideRoles::Text => QVariant::from(&QString::from(&slide.text)), + SlideRoles::Audio => QVariant::from(&QString::from(&slide.audio)), SlideRoles::ImageBackground => { - QVariant::from(&slide.image_background) + QVariant::from(&QString::from(&slide.image_background)) } SlideRoles::VideoBackground => { - QVariant::from(&slide.video_background) + QVariant::from(&QString::from(&slide.video_background)) } SlideRoles::HTextAlignment => { - QVariant::from(&slide.htext_alignment) + QVariant::from(&QString::from(&slide.htext_alignment)) } SlideRoles::VTextAlignment => { - QVariant::from(&slide.vtext_alignment) + QVariant::from(&QString::from(&slide.vtext_alignment)) } - SlideRoles::Font => QVariant::from(&slide.font), + SlideRoles::Font => QVariant::from(&QString::from(&slide.font)), SlideRoles::FontSize => { QVariant::from(&slide.font_size) } @@ -1274,7 +1274,7 @@ impl slide_model::SlideModel { } SlideRoles::Looping => QVariant::from(&slide.looping), SlideRoles::VideoThumbnail => { - QVariant::from(&slide.video_thumbnail) + QVariant::from(&QString::from(&slide.video_thumbnail)) } SlideRoles::VideoStartTime => { QVariant::from(&slide.video_start_time) @@ -1284,7 +1284,7 @@ impl slide_model::SlideModel { } SlideRoles::Html => QVariant::from(&slide.html), SlideRoles::ObsScene => { - QVariant::from(&slide.obs_scene) + QVariant::from(&QString::from(&slide.obs_scene)) } _ => QVariant::default(), }; diff --git a/src/rust/slide_model_r.rs b/src/rust/slide_model_r.rs new file mode 100644 index 0000000..41661a3 --- /dev/null +++ b/src/rust/slide_model_r.rs @@ -0,0 +1,25 @@ +enum PresType { + Html, + Pdf, +} + +enum SlideType { + Song, + Video, + Image, + Presentation(PresType), + Content, +} + +// /// An Image is a tuple struct with the string being a location on disk +// struct Image(String); + +struct Slide { + id: i32, // This is the inner index, could be 3 inside a presentation or image gallery + kind: SlideType, +} + +struct SlideModel { + index: i32, + slides: Vec, +}