equal
deleted
inserted
replaced
118 */ |
118 */ |
119 void HbGridView::setRowCount(int rowCount) |
119 void HbGridView::setRowCount(int rowCount) |
120 { |
120 { |
121 Q_D(HbGridView); |
121 Q_D(HbGridView); |
122 |
122 |
123 d->mVisibleIndex = d->firstFullyVisibleIndex(); |
123 if (d->itemContainer()->rowCount() != rowCount) { |
124 |
124 d->mVisibleIndex = d->firstFullyVisibleIndex(); |
125 d->itemContainer()->setRowCount(rowCount); |
125 |
126 |
126 d->itemContainer()->setRowCount(rowCount); |
127 scrollTo(d->mVisibleIndex, HbAbstractItemView::PositionAtTop); |
127 |
|
128 scrollTo(d->mVisibleIndex, HbAbstractItemView::PositionAtTop); |
|
129 } |
128 } |
130 } |
129 |
131 |
130 /*! |
132 /*! |
131 Returns the total number of columns in the view. |
133 Returns the total number of columns in the view. |
132 |
134 |
145 */ |
147 */ |
146 void HbGridView::setColumnCount(int columnCount) |
148 void HbGridView::setColumnCount(int columnCount) |
147 { |
149 { |
148 Q_D(HbGridView); |
150 Q_D(HbGridView); |
149 |
151 |
150 d->mVisibleIndex = d->firstFullyVisibleIndex(); |
152 if (d->itemContainer()->columnCount() != columnCount) { |
151 |
153 d->mVisibleIndex = d->firstFullyVisibleIndex(); |
152 d->itemContainer()->setColumnCount(columnCount); |
154 |
153 |
155 d->itemContainer()->setColumnCount(columnCount); |
154 scrollTo(d->mVisibleIndex, HbAbstractItemView::PositionAtTop); |
156 |
|
157 scrollTo(d->mVisibleIndex, HbAbstractItemView::PositionAtTop); |
|
158 } |
155 } |
159 } |
156 |
160 |
157 |
161 |
158 /*! |
162 /*! |
159 Returns true if icons are currently displayed in GridView. |
163 Returns true if icons are currently displayed in GridView. |
250 \reimp |
254 \reimp |
251 */ |
255 */ |
252 void HbGridView::scrollTo(const QModelIndex &index, ScrollHint hint) |
256 void HbGridView::scrollTo(const QModelIndex &index, ScrollHint hint) |
253 { |
257 { |
254 Q_D(HbGridView); |
258 Q_D(HbGridView); |
255 // always use container, event if recycling is off and all items are |
259 |
256 // in container, but still additional action is needed - |
260 // always use HbGridItemContainer::scrollTo, even if recycling |
|
261 // is off - still additional action is needed - |
257 // container::scrollTo is responsible for procesing all |
262 // container::scrollTo is responsible for procesing all |
258 // posponed events (DelayedLayoutRequest) |
263 // posponed events (DelayedLayoutRequest) |
259 if ( d->mModelIterator->model() |
264 if ( d->mModelIterator->model() |
260 && index.model() == d->mModelIterator->model()) { |
265 && index.model() == d->mModelIterator->model()) { |
261 d->itemContainer()->scrollTo(index, hint); |
266 d->itemContainer()->scrollTo(index, hint); |
262 HbAbstractItemView::scrollTo(index, hint); |
267 HbAbstractItemView::scrollTo(index, hint); |
263 } |
268 } |
264 } |
269 } |
265 |
270 |
302 if (remainder > columnsCount / 2) { |
307 if (remainder > columnsCount / 2) { |
303 d->mVisibleIndex = d->mModelIterator->index(indexPosition + columnsCount - remainder); |
308 d->mVisibleIndex = d->mModelIterator->index(indexPosition + columnsCount - remainder); |
304 } |
309 } |
305 } |
310 } |
306 |
311 |
307 // abstract part is enough - container update buffer |
312 scrollTo(d->mVisibleIndex, HbAbstractItemView::PositionAtTop); |
308 HbAbstractItemView::scrollTo(d->mVisibleIndex, HbAbstractItemView::PositionAtTop); |
|
309 |
313 |
310 d->mVisibleIndex = QModelIndex(); |
314 d->mVisibleIndex = QModelIndex(); |
311 } |
315 } |
312 |
316 |
313 /*! |
317 /*! |