summaryrefslogtreecommitdiffstats
path: root/src/runtime/q3dsslideplayer_p.h
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2018-03-20 13:38:56 +0100
committerLaszlo Agocs <laszlo.agocs@qt.io>2018-03-20 15:31:06 +0000
commit5d34c984ecbed1a6d6f27fbaa3d83a137e052b65 (patch)
tree69d3294da54ed786bb2778de6bc8e22dea347d0b /src/runtime/q3dsslideplayer_p.h
parent7a43eeaae1ccf87ea2b1471c924ab4bf411f9dd8 (diff)
Add goToSlide variants
Change-Id: I7598a167b4c10a38b9e824189491e08271083c50 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Diffstat (limited to 'src/runtime/q3dsslideplayer_p.h')
-rw-r--r--src/runtime/q3dsslideplayer_p.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/runtime/q3dsslideplayer_p.h b/src/runtime/q3dsslideplayer_p.h
index 4670357..df1861e 100644
--- a/src/runtime/q3dsslideplayer_p.h
+++ b/src/runtime/q3dsslideplayer_p.h
@@ -245,7 +245,7 @@ public:
return static_cast<Q3DSSlide *>(m_masterSlide->childAtIndex(m_index));
}
- Q3DSSlide *nextSlide()
+ Q3DSSlide *nextSlide(bool wrap = false)
{
if (!m_masterSlide)
return nullptr;
@@ -256,12 +256,16 @@ public:
if (m_index < slideCount() - 1) {
m_previouslyActiveIndex = m_index;
return static_cast<Q3DSSlide *>(m_masterSlide->childAtIndex(++m_index));
+ } else if (wrap && m_index == slideCount() - 1) {
+ m_previouslyActiveIndex = m_index;
+ m_index = 0;
+ return static_cast<Q3DSSlide *>(m_masterSlide->childAtIndex(m_index));
} else {
return nullptr;
}
}
- Q3DSSlide *previousSlide()
+ Q3DSSlide *previousSlide(bool wrap = false)
{
if (!m_masterSlide)
return nullptr;
@@ -272,6 +276,10 @@ public:
if ((m_index > 0) && (m_index < slideCount())) {
m_previouslyActiveIndex = m_index;
return static_cast<Q3DSSlide *>(m_masterSlide->childAtIndex(--m_index));
+ } else if (wrap && m_index == 0) {
+ m_previouslyActiveIndex = m_index;
+ m_index = slideCount() - 1;
+ return static_cast<Q3DSSlide *>(m_masterSlide->childAtIndex(m_index));
} else {
return nullptr;
}