adding changeSlideAndIndex and enabling that on previewSlidesList

This commit is contained in:
Chris Cochrun 2023-01-17 06:25:09 -06:00
parent 187481295f
commit 84f89fb201
3 changed files with 44 additions and 1 deletions

View file

@ -324,6 +324,37 @@ bool Slide::previous(QVariantMap prevItem)
return false;
}
bool Slide::changeSlideIndex(int index)
{
qDebug() << "Starting to change slide index.";
qDebug() << "Slide Index: " << m_slideIndex << " Slide Size: " << m_slideSize;
QStringList text = m_serviceItem.value("text").toStringList();
if (index > m_slideSize || index < 0) {
qDebug() << "index is invalid: " << index;
return false;
}
// since the string list is 0 indexed m_slideIndex actually
// maps to the next item. So the prev text is minus 2
if (m_type == "song") {
int textIndex = index;
qDebug() << textIndex;
qDebug() << text[textIndex];
setText(text[textIndex]);
m_slideIndex = index;
return true;
}
if (m_type == "presentation") {
qDebug() << "prev slide index: " << m_pdfIndex;
setPdfIndex(index);
qDebug() << "new slide index: " << m_pdfIndex;
m_slideIndex = index;
return true;
}
return false;
}
void Slide::play()
{
m_isPlaying = true;

View file

@ -70,6 +70,7 @@ public:
Q_INVOKABLE void playPause();
Q_INVOKABLE bool next(QVariantMap nextItem);
Q_INVOKABLE bool previous(QVariantMap prevItem);
Q_INVOKABLE bool changeSlideIndex(int index);
signals:
Q_INVOKABLE void textChanged(QString text);

View file

@ -69,7 +69,7 @@ Item {
id: innerMouse
anchors.fill: parent
hoverEnabled: true
onClicked: changeServiceItem(outerModelData.index)
onClicked: changeSlideAndIndex(outerModelData, index)
cursorShape: Qt.PointingHandCursor
}
}
@ -103,4 +103,15 @@ Item {
previewSlidesList.positionViewAtIndex(index, ListView.Center)
}
}
function changeSlideAndIndex(serviceItem, index) {
// TODO
console.log("Item: " + serviceItem.index + " is " + serviceItem.active);
if (!serviceItem.active)
changeServiceItem(serviceItem.index)
console.log("Slide Index is: " + index);
if (index === 0)
return;
SlideObject.changeSlideIndex(index);
}
}