void QDeclarativeGridView::itemsInserted(int modelIndex, int count)
{
Q_D(QDeclarativeGridView);
- if (!isComponentComplete())
+ if (!isComponentComplete()) {
+ emit countChanged();
return;
+ }
int index = d->visibleItems.count() ? d->mapFromModel(modelIndex) : 0;
if (index < 0) {
void QDeclarativeGridView::itemsRemoved(int modelIndex, int count)
{
Q_D(QDeclarativeGridView);
- if (!isComponentComplete())
+ if (!isComponentComplete()) {
+ emit countChanged();
return;
+ }
d->itemCount -= count;
bool currentRemoved = d->currentIndex >= modelIndex && d->currentIndex < modelIndex + count;
void QDeclarativeListView::itemsInserted(int modelIndex, int count)
{
Q_D(QDeclarativeListView);
- if (!isComponentComplete())
+ if (!isComponentComplete()) {
+ emit countChanged();
return;
+ }
d->updateUnrequestedIndexes();
d->moveReason = QDeclarativeListViewPrivate::Other;
void QDeclarativeListView::itemsRemoved(int modelIndex, int count)
{
Q_D(QDeclarativeListView);
- if (!isComponentComplete())
+ if (!isComponentComplete()) {
+ emit countChanged();
return;
+ }
d->moveReason = QDeclarativeListViewPrivate::Other;
d->updateUnrequestedIndexes();
d->itemCount -= count;
{
//XXX support animated insertion
Q_D(QDeclarativePathView);
- if (!d->isValid() || !isComponentComplete())
+ if (!d->isValid())
+ return;
+
+ if (!isComponentComplete()) {
+ emit countChanged();
return;
+ }
if (d->modelCount) {
d->itemCache += d->items;
{
//XXX support animated removal
Q_D(QDeclarativePathView);
- if (!d->model || !d->modelCount || !d->model->isValid() || !d->path || !isComponentComplete())
+ if (!d->model || !d->modelCount || !d->model->isValid() || !d->path)
return;
+ if (!isComponentComplete()) {
+ emit countChanged();
+ return;
+ }
+
// fix current
bool currentChanged = false;
if (d->currentIndex >= modelIndex + count) {
void QDeclarativeRepeater::itemsInserted(int index, int count)
{
Q_D(QDeclarativeRepeater);
- if (!isComponentComplete())
+ if (!isComponentComplete()) {
+ emit countChanged();
return;
+ }
for (int i = 0; i < count; ++i) {
int modelIndex = index + i;
QDeclarativeItem *item = d->model->item(modelIndex);
void QDeclarativeRepeater::itemsRemoved(int index, int count)
{
Q_D(QDeclarativeRepeater);
- if (!isComponentComplete() || count <= 0)
+ if (count <= 0)
return;
+
+ if (!isComponentComplete()) {
+ emit countChanged();
+ return;
+ }
while (count--) {
QDeclarativeItem *item = d->deletables.takeAt(index);
emit itemRemoved(index, item);