From 6708c32ab31bb90781bb5e3743cb81ae72748edd Mon Sep 17 00:00:00 2001 From: chriszero Date: Sat, 2 May 2015 20:03:02 +0200 Subject: Fixes scrolling in grid. --- viewGridNavigator.cpp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/viewGridNavigator.cpp b/viewGridNavigator.cpp index e315008..91d7540 100644 --- a/viewGridNavigator.cpp +++ b/viewGridNavigator.cpp @@ -50,23 +50,6 @@ void cViewGridNavigator::FilterElements(int scrollOffset) endOffset = (m_rows * m_columns) + scrollOffset; } - std::vector::iterator begin = m_firstElementIter + startOffset; - std::vector::iterator end = m_firstElementIter + endOffset; - if(end > m_vElements.end()) end = m_vElements.end(); - - int pos = 0; - for(std::vector::iterator it = begin; it != end; ++it) { - cGridElement *elem = *it; - elem->Position = pos++; - SetGridElementData(elem); - } - - if(m_setIterator) { - m_activeElementIter = begin; - m_pGrid->SetCurrent((*m_activeElementIter)->GridElementId(), true); - m_setIterator = false; - } - //remove non visible elements from grid if(scrollOffset !=0 ) { auto startIt = m_firstElementIter; @@ -88,6 +71,23 @@ void cViewGridNavigator::FilterElements(int scrollOffset) } } + std::vector::iterator begin = m_firstElementIter + startOffset; + std::vector::iterator end = m_firstElementIter + endOffset; + if(end > m_vElements.end()) end = m_vElements.end(); + + int pos = 0; + for(std::vector::iterator it = begin; it != end; ++it) { + cGridElement *elem = *it; + elem->Position = pos++; + SetGridElementData(elem); + } + + if(m_setIterator) { + m_activeElementIter = begin; + m_pGrid->SetCurrent((*m_activeElementIter)->GridElementId(), true); + m_setIterator = false; + } + m_firstElementIter = begin; m_lastElementIter = end; m_newDimensions = false; -- cgit v1.2.3