backend now uses the new classes and compiles some functions

might still need reworking
This commit is contained in:
Chris Cochrun 2023-01-20 07:05:51 -06:00
parent 9bee92a9e4
commit f503622287
9 changed files with 401 additions and 363 deletions

View file

@ -1,5 +1,6 @@
#include "slideobject.h"
#include "serviceitemmodel.h"
#include "slidemodel.h"
#include <podofo/podofo.h>
#include <QDebug>
@ -54,128 +55,178 @@ int SlideObject::slideSize() const
return m_slideSize;
}
void SlideObject::changeSlide(QVariantMap item)
void SlideObject::changeSlide(QVariantMap item, ServiceItemModel *serviceItemModel)
{
setServiceItem(item);
setType(serviceItemId().value("type").toString());
qDebug() << "#$% SLIDE TYPE: " << type() << " %$#";
// setServiceItem(item);
// setType(serviceItemId().value("type").toString());
// qDebug() << "#$% SLIDE TYPE: " << type() << " %$#";
// First let's clear the text and then set
// the size and index of a basic slide
// then we'll build the rest
setText("");
m_slideSize = 1;
m_slideIndex = 1;
// // First let's clear the text and then set
// // the size and index of a basic slide
// // then we'll build the rest
// setText("");
// m_slideSize = 1;
// m_slideIndex = 1;
qDebug() << serviceItemId().value("backgroundType").toString();
if (serviceItemId().value("backgroundType") == "image") {
setImageBackground(serviceItemId().value("background").toString());
setVideoBackground("");
} else {
setVideoBackground(serviceItemId().value("background").toString());
setImageBackground("");
}
// qDebug() << serviceItemId().value("backgroundType").toString();
// if (serviceItemId().value("backgroundType") == "image") {
// setImageBackground(serviceItemId().value("background").toString());
// setVideoBackground("");
// } else {
// setVideoBackground(serviceItemId().value("background").toString());
// setImageBackground("");
// }
setFont(serviceItemId().value("font").toString());
setFontSize(serviceItemId().value("fontSize").toInt());
setAudio("");
// setFont(serviceItemId().value("font").toString());
// setFontSize(serviceItemId().value("fontSize").toInt());
// setAudio("");
if (type() == "presentation") {
qDebug() << "#$#$#$#$ THIS PDF $#$#$#$#";
int pageCount;
QString str = imageBackground().remove(0,6);
qDebug() << str;
std::string file = str.toStdString();
// qDebug() << file;
const char * doc = file.c_str();
qDebug() << doc;
try {
PdfMemDocument pdf = PdfMemDocument(doc);
pageCount = pdf.GetPageCount();
} catch ( const PdfError & eCode ) {
eCode.PrintErrorMsg();
eCode.GetError();
return;
}
setImageCount(pageCount);
qDebug() << imageCount();
m_slideSize = imageCount();
}
// if (type() == "presentation") {
// qDebug() << "#$#$#$#$ THIS PDF $#$#$#$#";
// int pageCount;
// QString str = imageBackground().remove(0,6);
// qDebug() << str;
// std::string file = str.toStdString();
// // qDebug() << file;
// const char * doc = file.c_str();
// qDebug() << doc;
// try {
// PdfMemDocument pdf = PdfMemDocument(doc);
// pageCount = pdf.GetPageCount();
// } catch ( const PdfError & eCode ) {
// eCode.PrintErrorMsg();
// eCode.GetError();
// return;
// }
// setImageCount(pageCount);
// qDebug() << imageCount();
// m_slideSize = imageCount();
// }
QStringList text = serviceItemId().value("text").toStringList();
if (type() == "song") {
qDebug() << "TEXT LENGTH: " << text.length();
m_slideSize = text.length();
m_slideIndex = 1;
setText(text[0]);
setAudio(serviceItemId().value("audio").toString());
}
// QStringList text = serviceItemId().value("text").toStringList();
// if (type() == "song") {
// qDebug() << "TEXT LENGTH: " << text.length();
// m_slideSize = text.length();
// m_slideIndex = 1;
// setText(text[0]);
// setAudio(serviceItemId().value("audio").toString());
// }
// qDebug() << "MAP: " << serviceItemId().value("text");
//New implementation
QVariantMap serviceItem = serviceItemModel->getItem(item.value("serviceItemId").toInt());
setText(item.value("text").toString());
setType(item.value("type").toString());
setAudio(item.value("audio").toString());
setImageBackground(item.value("imageBackground").toString());
setVideoBackground(item.value("videoBackground").toString());
setVerticalTextAlignment(item.value("verticalTextAlignment").toString());
setHorizontalTextAlignment(item.value("horizontalTextAlignment").toString());
setFont(item.value("font").toString());
setFontSize(item.value("fontSize").toInt());
setImageCount(item.value("imageCount").toInt());
setSlideIndex(item.value("slideIndex").toInt());
m_slideSize = serviceItem.value("slideNumber").toInt();
qDebug() << "MAP: " << serviceItemId().value("text");
emit slideIndexChanged(m_slideIndex);
emit slideSizeChanged(m_slideSize);
}
bool SlideObject::next(QVariantMap nextItem)
bool SlideObject::next(QVariantMap nextItem, ServiceItemModel *serviceItemModel)
{
qDebug() << "Starting to go to next item.";
qDebug() << "SlideObject Index: " << slideIndex() << " SlideObject Size: " << slideSize();
QStringList text = serviceItemId().value("text").toStringList();
if (slideIndex() == slideSize()) {
// changeSlideObject(nextItem);
return true;
}
// qDebug() << "Starting to go to next item.";
// qDebug() << "SlideObject Index: " << slideIndex() << " SlideObject Size: " << slideSize();
// QStringList text = serviceItemId().value("text").toStringList();
// if (slideIndex() == slideSize()) {
// // changeSlideObject(nextItem);
// return true;
// }
qDebug() << type();
// since the string list is 0 indexed m_slideIndex actually
// maps to the next item.
if (type() == "song") {
int nextTextIndex = slideIndex();
qDebug() << nextTextIndex;
qDebug() << text[nextTextIndex];
setText(text[nextTextIndex]);
m_slideSize++;
emit slideIndexChanged(m_slideIndex);
}
// qDebug() << type();
// // since the string list is 0 indexed m_slideIndex actually
// // maps to the next item.
// if (type() == "song") {
// int nextTextIndex = slideIndex();
// qDebug() << nextTextIndex;
// qDebug() << text[nextTextIndex];
// setText(text[nextTextIndex]);
// m_slideSize++;
// emit slideIndexChanged(m_slideIndex);
// }
if (type() == "presentation") {
qDebug() << "prev slide index: " << slideIndex();
m_slideIndex++;
emit slideIndexChanged(m_slideIndex);
qDebug() << "new slide index: " << slideIndex();
}
// if (type() == "presentation") {
// qDebug() << "prev slide index: " << slideIndex();
// m_slideIndex++;
// emit slideIndexChanged(m_slideIndex);
// qDebug() << "new slide index: " << slideIndex();
// }
//new implementation
QVariantMap serviceItem = serviceItemModel->getItem(nextItem.value("serviceItemId").toInt());
setText(nextItem.value("text").toString());
setType(nextItem.value("type").toString());
setAudio(nextItem.value("audio").toString());
setImageBackground(nextItem.value("imageBackground").toString());
setVideoBackground(nextItem.value("videoBackground").toString());
setVerticalTextAlignment(nextItem.value("verticalTextAlignment").toString());
setHorizontalTextAlignment(nextItem.value("horizontalTextAlignment").toString());
setFont(nextItem.value("font").toString());
setFontSize(nextItem.value("fontSize").toInt());
setImageCount(nextItem.value("imageCount").toInt());
setSlideIndex(nextItem.value("slideIndex").toInt());
m_slideSize = serviceItem.value("slideNumber").toInt();
emit slideSizeChanged(m_slideSize);
return false;
}
bool SlideObject::previous(QVariantMap prevItem)
bool SlideObject::previous(QVariantMap prevItem, ServiceItemModel *serviceItemModel)
{
qDebug() << "Starting to go to previous item.";
qDebug() << "SlideObject Index: " << slideIndex() << " SlideObject Size: " << slideSize();
QStringList text = serviceItemId().value("text").toStringList();
if (slideIndex() == 1) {
// changeSlideObject(prevItem);
return true;
}
// qDebug() << "Starting to go to previous item.";
// qDebug() << "SlideObject Index: " << slideIndex() << " SlideObject Size: " << slideSize();
// QStringList text = serviceItemId().value("text").toStringList();
// if (slideIndex() == 1) {
// // changeSlideObject(prevItem);
// return true;
// }
// since the string list is 0 indexed m_slideIndex actually
// maps to the next item. So the prev text is minus 2
if (type() == "song") {
int prevTextIndex = slideIndex() - 2;
qDebug() << prevTextIndex;
qDebug() << text[prevTextIndex];
setText(text[prevTextIndex]);
m_slideIndex--;
emit slideIndexChanged(m_slideIndex);
}
// // since the string list is 0 indexed m_slideIndex actually
// // maps to the next item. So the prev text is minus 2
// if (type() == "song") {
// int prevTextIndex = slideIndex() - 2;
// qDebug() << prevTextIndex;
// qDebug() << text[prevTextIndex];
// setText(text[prevTextIndex]);
// m_slideIndex--;
// emit slideIndexChanged(m_slideIndex);
// }
if (type() == "presentation") {
qDebug() << "prev slide index: " << slideIndex();
m_slideIndex--;
emit slideIndexChanged(m_slideIndex);
qDebug() << "new slide index: " << slideIndex();
}
// if (type() == "presentation") {
// qDebug() << "prev slide index: " << slideIndex();
// m_slideIndex--;
// emit slideIndexChanged(m_slideIndex);
// qDebug() << "new slide index: " << slideIndex();
// }
//new implementation
QVariantMap serviceItem = serviceItemModel->getItem(prevItem.value("serviceItemId").toInt());
setText(prevItem.value("text").toString());
setType(prevItem.value("type").toString());
setAudio(prevItem.value("audio").toString());
setImageBackground(prevItem.value("imageBackground").toString());
setVideoBackground(prevItem.value("videoBackground").toString());
setVerticalTextAlignment(prevItem.value("verticalTextAlignment").toString());
setHorizontalTextAlignment(prevItem.value("horizontalTextAlignment").toString());
setFont(prevItem.value("font").toString());
setFontSize(prevItem.value("fontSize").toInt());
setImageCount(prevItem.value("imageCount").toInt());
setSlideIndex(prevItem.value("slideIndex").toInt());
m_slideSize = serviceItem.value("slideNumber").toInt();
emit slideSizeChanged(m_slideSize);
return false;
}
@ -183,7 +234,7 @@ bool SlideObject::changeSlideIndex(int index)
{
qDebug() << "Starting to change slide index.";
qDebug() << "SlideObject Index: " << slideIndex() << " SlideObject Size: " << slideSize();
QStringList text = serviceItemId().value("text").toStringList();
// QStringList text = serviceItemId().value("text").toStringList();
if (index > slideSize() - 1 || index < 0) {
qDebug() << "index is invalid: " << index;
return false;
@ -194,8 +245,8 @@ bool SlideObject::changeSlideIndex(int index)
if (type() == "song") {
int textIndex = index;
qDebug() << textIndex;
qDebug() << text[textIndex];
setText(text[textIndex]);
// qDebug() << text[textIndex];
// setText(text[textIndex]);
m_slideIndex = index;
emit slideIndexChanged(m_slideIndex);
return true;