From 7302807f5f87ef76a2bd21f2b3784718fd00127e Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Sun, 14 Jul 2024 15:05:09 -0500 Subject: [PATCH] some prelim movement of slide_model controlling changes --- src/rust/slide_model.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/rust/slide_model.rs b/src/rust/slide_model.rs index c7a5266..c6df12b 100644 --- a/src/rust/slide_model.rs +++ b/src/rust/slide_model.rs @@ -116,6 +116,9 @@ mod slide_model { index: i32, ) -> QMap_QString_QVariant; + #[qinvokable] + fn next(self: Pin<&mut SlideModel>) -> QMap_QString_QVariant; + #[qinvokable] fn get_slide_from_service( self: Pin<&mut SlideModel>, @@ -218,6 +221,7 @@ use cxx_qt::{CxxQtType, Threading}; use cxx_qt_lib::{ CaseSensitivity, QByteArray, QMap, QModelIndex, QString, QStringList, QVariant }; +use std::any::Any; use std::thread; use std::{path::PathBuf, pin::Pin}; use tracing::{debug, error}; @@ -1127,6 +1131,16 @@ impl slide_model::SlideModel { qvariantmap } + pub fn next(self: Pin<&mut Self>) -> QMap_QString_QVariant { + if let Some(slide) = self.rust().slides.get(self.id as usize) { + if slide.html { + // conditional logic for html slides + } + return self.get_item(self.id + 1); + } + self.get_item(self.id + 1) + } + pub fn get_slide_from_service( self: Pin<&mut Self>, index: i32,