pdf and html now properly work in slides

This commit is contained in:
Chris Cochrun 2024-03-31 14:34:43 -05:00
parent e4e4eb1501
commit 1117d6eea2
3 changed files with 17 additions and 9 deletions

View file

@ -128,7 +128,7 @@ FocusScope {
chosenFont: SlideObject.font chosenFont: SlideObject.font
textSize: SlideObject.fontSize textSize: SlideObject.fontSize
text: SlideObject.text text: SlideObject.text
pdfIndex: SlideObject.slideIndex pdfIndex: SlideObject.innerSlideIndex
vidLoop: SlideObject.looping vidLoop: SlideObject.looping
vidStartTime: SlideObject.videoStartTime vidStartTime: SlideObject.videoStartTime
vidEndTime: SlideObject.videoEndTime vidEndTime: SlideObject.videoEndTime
@ -483,7 +483,7 @@ FocusScope {
function nextSlideAction() { function nextSlideAction() {
keyHandler.forceActiveFocus(); keyHandler.forceActiveFocus();
const nextSlideIdx = currentSlide + 1; const nextSlideIdx = SlideObject.html && (SlideObject.innerSlideIndex + 1 < SlideObject.slideSize) ? currentSlide : currentSlide + 1;
const nextSlide = SlideModel.getItem(nextSlideIdx); const nextSlide = SlideModel.getItem(nextSlideIdx);
if (nextSlideIdx > totalSlides || nextSlideIdx < 0) if (nextSlideIdx > totalSlides || nextSlideIdx < 0)
return; return;

View file

@ -414,6 +414,8 @@ impl slide_model::SlideModel {
.insert(index as usize, slide); .insert(index as usize, slide);
self.as_mut().end_insert_rows(); self.as_mut().end_insert_rows();
} }
let count = self.as_ref().count;
self.as_mut().set_count(count + 1);
let thread = self.qt_thread(); let thread = self.qt_thread();
thread::spawn(move || { thread::spawn(move || {
thread thread

View file

@ -154,12 +154,9 @@ impl slide_object::SlideObject {
let slindex = item let slindex = item
.get(&QString::from("slideIndex")) .get(&QString::from("slideIndex"))
.unwrap_or(QVariant::from(&0)); .unwrap_or(QVariant::from(&0));
// let slide_index = slindex.value::<i32>().unwrap_or_default(); let inner_slide_index =
slindex.value::<i32>().unwrap_or_default();
// let html = item
// .get(&QString::from("html"))
// .unwrap_or(QVariant::from(&false));
// if let Some(html) = html.value::<bool>() {
// if html { // if html {
// debug!(?html, count, slide_index); // debug!(?html, count, slide_index);
// if slide_index > 0 && slide_index < count - 1 { // if slide_index > 0 && slide_index < count - 1 {
@ -175,7 +172,7 @@ impl slide_object::SlideObject {
// } // }
// } // }
// } // }
debug!(slide_index, "Changing slide"); debug!(slide_index, inner_slide_index, "Changing slide");
println!("## Slide Details ##"); println!("## Slide Details ##");
let text = item let text = item
@ -322,7 +319,16 @@ impl slide_object::SlideObject {
); );
self.as_mut().set_html(html); self.as_mut().set_html(html);
let html = item
.get(&QString::from("html"))
.unwrap_or(QVariant::from(&false));
if let Some(html) = html.value::<bool>() {
if !html {
self.as_mut().set_inner_slide_index(inner_slide_index)
} else {
self.as_mut().set_inner_slide_index(0); self.as_mut().set_inner_slide_index(0);
}
}
self.as_mut().set_slide_index(slide_index); self.as_mut().set_slide_index(slide_index);