@@ -23,10 +23,8 @@ AbstractDashView::AbstractDashView()
23 , m_asyncRequestedIndex(-1)
23 , m_asyncRequestedIndex(-1)
24 , m_columnSpacing(0)
24 , m_columnSpacing(0)
25 , m_rowSpacing(0)
25 , m_rowSpacing(0)
26− , m_delegateCreationBegin(0)
26+ , m_displayMarginBeginning(0)
27− , m_delegateCreationEnd(0)
27+ , m_displayMarginEnd(0)
28− , m_delegateCreationBeginValid(false)
29− , m_delegateCreationEndValid(false)
30 , m_needsRelayout(false)
28 , m_needsRelayout(false)
31 , m_delegateValidated(false)
29 , m_delegateValidated(false)
32 , m_implicitHeightDirty(false)
30 , m_implicitHeightDirty(false)
@@ -114,62 +112,36 @@ void AbstractDashView::setRowSpacing(qreal rowSpacing)
117−qreal AbstractDashView::delegateCreationBegin() const
115+qreal AbstractDashView::displayMarginBeginning() const
119− return m_delegateCreationBegin;
117+ return m_displayMarginBeginning;
122−void AbstractDashView::setDelegateCreationBegin(qreal begin)
120+void AbstractDashView::setDisplayMarginBeginning(qreal begin)
124− m_delegateCreationBeginValid = true;
122+ if (m_displayMarginBeginning == begin)
125− if (m_delegateCreationBegin == begin)
127− m_delegateCreationBegin = begin;
124+ m_displayMarginBeginning = begin;
128 if (isComponentComplete()) {
125 if (isComponentComplete()) {
129 polish();
126 polish();
131− emit delegateCreationBeginChanged();
128+ emit displayMarginBeginningChanged();
134−void AbstractDashView::resetDelegateCreationBegin()
131+qreal AbstractDashView::displayMarginEnd() const
136− m_delegateCreationBeginValid = false;
133+ return m_displayMarginEnd;
137− if (m_delegateCreationBegin == 0)
139− m_delegateCreationBegin = 0;
140− if (isComponentComplete()) {
143− emit delegateCreationBeginChanged();
146−qreal AbstractDashView::delegateCreationEnd() const
148− return m_delegateCreationEnd;
151−void AbstractDashView::setDelegateCreationEnd(qreal end)
153− m_delegateCreationEndValid = true;
154− if (m_delegateCreationEnd == end)
156− m_delegateCreationEnd = end;
157− if (isComponentComplete()) {
160− emit delegateCreationEndChanged();
163−void AbstractDashView::resetDelegateCreationEnd()
136+void AbstractDashView::setDisplayMarginEnd(qreal end)
165− m_delegateCreationEndValid = false;
138+ if (m_displayMarginEnd == end)
166− if (m_delegateCreationEnd == 0)
168− m_delegateCreationEnd = 0;
140+ m_displayMarginEnd = end;
169 if (isComponentComplete()) {
141 if (isComponentComplete()) {
170 polish();
142 polish();
172− emit delegateCreationEndChanged();
144+ emit displayMarginEndChanged();
175void AbstractDashView::createDelegateModel()
147void AbstractDashView::createDelegateModel()
@@ -186,9 +158,8 @@ void AbstractDashView::refill()
189− const bool delegateRangesValid = m_delegateCreationBeginValid && m_delegateCreationEndValid;
161+ const qreal from = -m_displayMarginBeginning;
190− const qreal from = delegateRangesValid ? m_delegateCreationBegin : 0;
162+ const qreal to = height() + m_displayMarginEnd;
191− const qreal to = delegateRangesValid ? m_delegateCreationEnd : from + height();
192 const qreal buffer = (to - from) * bufferRatio;
163 const qreal buffer = (to - from) * bufferRatio;
193 const qreal bufferFrom = from - buffer;
164 const qreal bufferFrom = from - buffer;
194 const qreal bufferTo = to + buffer;
165 const qreal bufferTo = to + buffer;
@@ -330,9 +301,8 @@ void AbstractDashView::updatePolish()
331 refill();
302 refill();
333− const bool delegateRangesValid = m_delegateCreationBeginValid && m_delegateCreationEndValid;
304+ const qreal from = -m_displayMarginBeginning;
334− const qreal from = delegateRangesValid ? m_delegateCreationBegin : 0;
305+ const qreal to = height() + m_displayMarginEnd;
335− const qreal to = delegateRangesValid ? m_delegateCreationEnd : from + height();
336 updateItemCulling(from, to);
306 updateItemCulling(from, to);
338 if (m_implicitHeightDirty) {
308 if (m_implicitHeightDirty) {