diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2018-03-20 13:38:56 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2018-03-20 15:31:06 +0000 |
commit | 5d34c984ecbed1a6d6f27fbaa3d83a137e052b65 (patch) | |
tree | 69d3294da54ed786bb2778de6bc8e22dea347d0b /src/runtime/q3dsslideplayer_p.h | |
parent | 7a43eeaae1ccf87ea2b1471c924ab4bf411f9dd8 (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.h | 12 |
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; } |