bool InventoryItemModel::canFetchMore(const QModelIndex & parent) const { AbstractInventoryItem *item = GetItem(parent); if (item && item->GetItemType() == AbstractInventoryItem::Type_Folder) { InventoryFolder *folder = dynamic_cast<InventoryFolder*>(item); if (folder) return folder->IsDirty(); } return false; }
foreach (AbstractInventoryItem *item, children) { if (item->GetItemType() == AbstractInventoryItem::Type_Folder) { InventoryFolder *folder = dynamic_cast<InventoryFolder*>(item); if (!folder) continue; CheckChildrenForDirtys(folder->GetChildren()); if (!folder->IsDirty()) continue; QModelIndexList all_items = persistentIndexList(); foreach (QModelIndex index, all_items) if (item == reinterpret_cast<AbstractInventoryItem *>(index.internalPointer())) emit IndexModelIsDirty(index); folder->SetDirty(false); }