added a working song next action to the slide object

This commit is contained in:
Chris Cochrun 2022-07-18 06:47:04 -05:00
parent f4d034fe7c
commit c1410781c9
3 changed files with 59 additions and 28 deletions

View file

@ -158,30 +158,41 @@ Item {
}
function nextSlideAction() {
print(textIndex);
if (itemType === "song") {
if (textIndex === 0) {
SlideObject.setText(root.text[textIndex]);
print(root.text[textIndex]);
textIndex++;
} else if (textIndex < root.text.length) {
SlideObject.setText(root.text[textIndex]);
print(root.text[textIndex]);
textIndex++;
} else {
print("Next slide time");
textIndex = 0;
clearText();
nextSlide();
}
} else if (itemType === "video") {
/* clearText(); */
nextSlide();
}
else if (itemType === "image") {
/* clearText(); */
nextSlide();
const nextServiceItemIndex = currentServiceItem + 1;
const nextItem = serviceItemModel.getItem(nextServiceItemIndex);
print("currentServiceItem " + currentServiceItem);
print("nextServiceItem " + nextServiceItemIndex);
print(nextItem.name);
const changed = SlideObject.next(nextItem);
print(changed);
if (changed) {
currentServiceItem++;
loadVideo();
}
/* print(textIndex); */
/* if (itemType === "song") { */
/* if (textIndex === 0) { */
/* SlideObject.setText(root.text[textIndex]); */
/* print(root.text[textIndex]); */
/* textIndex++; */
/* } else if (textIndex < root.text.length) { */
/* SlideObject.setText(root.text[textIndex]); */
/* print(root.text[textIndex]); */
/* textIndex++; */
/* } else { */
/* print("Next slide time"); */
/* textIndex = 0; */
/* clearText(); */
/* nextSlide(); */
/* } */
/* } else if (itemType === "video") { */
/* /\* clearText(); *\/ */
/* nextSlide(); */
/* } */
/* else if (itemType === "image") { */
/* /\* clearText(); *\/ */
/* nextSlide(); */
/* } */
}
function nextSlide() {

View file

@ -175,20 +175,29 @@ void Slide::changeSlide(QVariantMap item)
}
QStringList text = m_serviceItem.value("text").toStringList();
if (text.isEmpty())
if (text.isEmpty()) {
setText("");
m_slideSize = 1;
m_slideIndex = 1;
}
else {
qDebug() << "TEXT LENGTH: " << text.length();
m_slideSize = text.length();
m_slideIndex = 1;
setText(text[0]);
}
qDebug() << "MAP: " << m_serviceItem.value("text");
}
void Slide::next()
bool Slide::next(QVariantMap nextItem)
{
qDebug() << "Starting to go to next item.";
qDebug() << "Slide Index: " << m_slideIndex << " Slide Size: " << m_slideSize;
QStringList text = m_serviceItem.value("text").toStringList();
if (m_slideIndex == m_slideSize) {
changeSlide();
return;
changeSlide(nextItem);
return true;
}
if (m_type != "song") {
@ -197,4 +206,15 @@ void Slide::next()
// changeSlide(item);
}
if (m_type == "song") {
// since the string list is 0 indexed m_slideIndex actually
// maps to the next item.
int nextTextIndex = m_slideIndex;
qDebug() << nextTextIndex;
qDebug() << text[nextTextIndex];
setText(text[nextTextIndex]);
m_slideIndex++;
}
return false;
}

View file

@ -52,7 +52,7 @@ public:
Q_INVOKABLE void setFontSize(int fontSize);
Q_INVOKABLE void changeSlide(QVariantMap item);
Q_INVOKABLE void next();
Q_INVOKABLE bool next(QVariantMap nextItem);
signals:
Q_INVOKABLE void textChanged(QString text);