diff --git a/src/cpp/slideobject.cpp b/src/cpp/slideobject.cpp index f39bc07..548ff34 100644 --- a/src/cpp/slideobject.cpp +++ b/src/cpp/slideobject.cpp @@ -60,6 +60,12 @@ bool SlideObject::loop() const return m_loop; } +void SlideObject::chngSlide(QVariantMap item, int index, SlideObj *slideObj) { + qDebug() << "Here is the pointer to the slideObj" << slideObj; + qDebug() << "Here is the item" << item; + slideObj->changeSlide(item, index); +} + void SlideObject::changeSlide(QVariantMap item, int index) { // QVariantMap serviceItem = serviceItemModel->getItem(item.value("serviceItemId").toInt()); diff --git a/src/cpp/slideobject.h b/src/cpp/slideobject.h index 5f81efa..96bb4e6 100644 --- a/src/cpp/slideobject.h +++ b/src/cpp/slideobject.h @@ -8,6 +8,7 @@ #include #include #include +#include "cxx-qt-gen/slide_obj.cxxqt.h" class SlideObject : public Slide { @@ -33,6 +34,7 @@ public: bool loop() const; Q_INVOKABLE void changeSlide(QVariantMap item, int index); + Q_INVOKABLE void chngSlide(QVariantMap item, int index, SlideObj *slideObj); Q_INVOKABLE void play(); Q_INVOKABLE void pause(); Q_INVOKABLE void playPause(); diff --git a/src/main.cpp b/src/main.cpp index 4ec389c..1e0ada6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -189,6 +189,7 @@ int main(int argc, char *argv[]) qmlRegisterType("org.presenter", 1, 0, "PresentationSqlModel"); qmlRegisterType("org.presenter", 1, 0, "FileHelper"); qmlRegisterType("org.presenter", 1, 0, "ServiceThing"); + qmlRegisterType("org.presenter", 1, 0, "SlideHelper"); qmlRegisterSingletonInstance("org.presenter", 1, 0, "ServiceItemModel", serviceItemModel.get()); qmlRegisterSingletonInstance("org.presenter", 1, 0, "SlideModel", slideModel.get()); diff --git a/src/qml/presenter/MainWindow.qml b/src/qml/presenter/MainWindow.qml index de3558a..7ce9c9e 100644 --- a/src/qml/presenter/MainWindow.qml +++ b/src/qml/presenter/MainWindow.qml @@ -138,6 +138,7 @@ Controls.Page { VideoProxyModel { id: videoProxyModel } ServiceThing { id: serviceThing } FileHelper { id: fileHelper } + SlideHelper { id: slideHelper } function changeServiceItem(index) { const item = ServiceItemModel.getItem(index); @@ -154,7 +155,11 @@ Controls.Page { /* presentation.itemType = item.type; */ ServiceItemModel.activate(index); - SlideObject.changeSlide(slide, slideId); + console.log("%%%%%%%%%"); + console.log(slide); + slideHelper.chngSlide(slide, slideId, SlideObject); + console.log("%%%%%%%%%"); + /* SlideObject.changeSlide(slide, slideId); */ /* if (item.backgroundType === "video") */ /* { */ @@ -182,7 +187,7 @@ Controls.Page { console.log("Time to start changing"); ServiceItemModel.activate(currentServiceItem); - SlideObject.changeSlide(item, index); + slideHelper.chngSlide(item, index, SlideObject); presentation.textIndex = 0; console.log("Slide changed to: " + index); } diff --git a/src/qml/presenter/Presentation.qml b/src/qml/presenter/Presentation.qml index d417653..ab9156f 100644 --- a/src/qml/presenter/Presentation.qml +++ b/src/qml/presenter/Presentation.qml @@ -174,8 +174,8 @@ FocusScope { Controls.Switch { id: loopSwitch text: "Loop" - checked: SlideObject.loop - onToggled: SlideObject.setLoop(!SlideObject.loop) + checked: SlideObject.looping + onToggled: SlideObject.setLooping(!SlideObject.looping) Keys.onLeftPressed: previousSlideAction() Keys.onRightPressed: nextSlideAction() Keys.onUpPressed: previousSlideAction() diff --git a/src/rust/slide_obj.rs b/src/rust/slide_obj.rs index 921c2d6..c0513c0 100644 --- a/src/rust/slide_obj.rs +++ b/src/rust/slide_obj.rs @@ -82,6 +82,7 @@ mod slide_obj { let text = item.get(&QString::from("text")).unwrap(); if let Some(txt) = text.value::() { if &txt != self.as_ref().text() { + println!("{}", &txt); self.as_mut().set_text(txt); }; } @@ -91,20 +92,29 @@ mod slide_obj { self.as_mut().set_audio(audio); } } - let ty = item.get(&QString::from("ty")).unwrap(); - if let Some(ty) = ty.value::() { - if &ty != self.as_ref().ty() { - self.as_mut().set_ty(ty); + let ty = item.get(&QString::from("type")); + if let Some(ty) = ty { + if let Some(ty) = ty.value::() { + if &ty != self.as_ref().ty() { + self.as_mut().set_ty(ty); + } + } else { + println!("Type wasn't a sting"); } + } else { + println!("Type was incorrect"); } - let image_background = item.get(&QString::from("image_background")).unwrap(); + + let image_background = item + .get(&QString::from("imageBackground")) + .unwrap_or(QVariant::from(&QString::from(""))); if let Some(image_background) = image_background.value::() { if &image_background != self.as_ref().image_background() { self.as_mut().set_image_background(image_background); } } let video_background = item - .get(&QString::from("video_background")) + .get(&QString::from("videoBackground")) .unwrap_or(QVariant::from(&QString::from(""))); if let Some(video_background) = video_background.value::() { if &video_background != self.as_ref().video_background() { @@ -119,25 +129,33 @@ mod slide_obj { self.as_mut().set_font(font); } } - let vtext_alignment = item.get(&QString::from("vtext_alignment")).unwrap(); + let vtext_alignment = item + .get(&QString::from("vtext_alignment")) + .unwrap_or(QVariant::from(&QString::from("center"))); if let Some(vtext_alignment) = vtext_alignment.value::() { if &vtext_alignment != self.as_ref().vtext_alignment() { self.as_mut().set_vtext_alignment(vtext_alignment); } } - let htext_alignment = item.get(&QString::from("htext_alignment")).unwrap(); + let htext_alignment = item + .get(&QString::from("htext_alignment")) + .unwrap_or(QVariant::from(&QString::from("center"))); if let Some(htext_alignment) = htext_alignment.value::() { if &htext_alignment != self.as_ref().htext_alignment() { self.as_mut().set_htext_alignment(htext_alignment); } } - let font_size = item.get(&QString::from("font_size")).unwrap(); + let font_size = item + .get(&QString::from("font_size")) + .unwrap_or(QVariant::from(&50)); if let Some(font_size) = font_size.value::() { if &font_size != self.as_ref().font_size() { self.as_mut().set_font_size(font_size); } } - let looping = item.get(&QString::from("looping")).unwrap(); + let looping = item + .get(&QString::from("looping")) + .unwrap_or(QVariant::from(&false)); if let Some(looping) = looping.value::() { if &looping != self.as_ref().looping() { self.as_mut().set_looping(looping); @@ -145,17 +163,23 @@ mod slide_obj { self.as_mut().emit(Signals::LoopChanged { looping: &lp }); } } - let slide_size = item.get(&QString::from("slide_size")).unwrap(); + let slide_size = item + .get(&QString::from("slide_size")) + .unwrap_or(QVariant::from(&1)); if let Some(slide_size) = slide_size.value::() { if &slide_size != self.as_ref().slide_size() { self.as_mut().set_slide_size(slide_size); } } - let icount = item.get(&QString::from("imageCount")).unwrap(); + let icount = item + .get(&QString::from("imageCount")) + .unwrap_or(QVariant::from(&1)); if let Some(int) = icount.value::() { self.as_mut().set_image_count(int); } - let slindex = item.get(&QString::from("slide_index")).unwrap(); + let slindex = item + .get(&QString::from("slide_index")) + .unwrap_or(QVariant::from(&0)); if let Some(int) = slindex.value::() { self.as_mut().set_slide_index(int); let si = int;