equal
deleted
inserted
replaced
2472 } |
2472 } |
2473 } |
2473 } |
2474 |
2474 |
2475 QVector<QTreeViewItem> insertedItems(delta); |
2475 QVector<QTreeViewItem> insertedItems(delta); |
2476 for (int i = 0; i < delta; ++i) { |
2476 for (int i = 0; i < delta; ++i) { |
2477 insertedItems[i].index = d->model->index(i + start, 0, parent); |
2477 QTreeViewItem &item = insertedItems[i]; |
2478 insertedItems[i].level = childLevel; |
2478 item.index = d->model->index(i + start, 0, parent); |
2479 insertedItems[i].hasChildren = d->hasVisibleChildren(insertedItems[i].index); |
2479 item.level = childLevel; |
2480 insertedItems[i].hasMoreSiblings = !((i == delta - 1) && (parentRowCount == end +1)); |
2480 item.hasChildren = d->hasVisibleChildren(item.index); |
|
2481 item.hasMoreSiblings = !((i == delta - 1) && (parentRowCount == end +1)); |
2481 } |
2482 } |
2482 if (d->viewItems.isEmpty()) |
2483 if (d->viewItems.isEmpty()) |
2483 d->defaultItemHeight = indexRowSizeHint(insertedItems[0].index); |
2484 d->defaultItemHeight = indexRowSizeHint(insertedItems[0].index); |
2484 |
2485 |
2485 int insertPos; |
2486 int insertPos; |
3767 } |
3768 } |
3768 |
3769 |
3769 if (previousSibiling != -1 && after && model->rowCount(parent) == start) |
3770 if (previousSibiling != -1 && after && model->rowCount(parent) == start) |
3770 viewItems[previousSibiling].hasMoreSiblings = false; |
3771 viewItems[previousSibiling].hasMoreSiblings = false; |
3771 |
3772 |
3772 |
3773 if (parentItem != -1) { |
3773 updateChildCount(parentItem, -removedCount); |
3774 if (viewItems.at(parentItem).expanded) { |
3774 if (parentItem != -1 && viewItems.at(parentItem).total == 0) |
3775 updateChildCount(parentItem, -removedCount); |
3775 viewItems[parentItem].hasChildren = false; //every children have been removed; |
3776 if (viewItems.at(parentItem).total == 0) |
|
3777 viewItems[parentItem].hasChildren = false; //every children have been removed; |
|
3778 } else if (viewItems[parentItem].hasChildren && !hasVisibleChildren(parent)) { |
|
3779 viewItems[parentItem].hasChildren = false; |
|
3780 } |
|
3781 } |
3776 if (after) { |
3782 if (after) { |
3777 q->updateGeometries(); |
3783 q->updateGeometries(); |
3778 viewport->update(); |
3784 viewport->update(); |
3779 } else { |
3785 } else { |
3780 //we have removed items: we should at least update the scroll bar values. |
3786 //we have removed items: we should at least update the scroll bar values. |