| 372 | } |
| 373 | |
| 374 | void QuickItemModel::updateItem(QQuickItem *item, int role) |
| 375 | { |
| 376 | if (!item || item->window() != m_window) |
| 377 | return; |
| 378 | |
| 379 | auto it = std::lower_bound(m_pendingDataChanges.begin(), m_pendingDataChanges.end(), item); |
| 380 | if (it == m_pendingDataChanges.end() || (*it).item != item) { |
| 381 | PendingDataChange c; |
| 382 | c.item = item; |
| 383 | it = m_pendingDataChanges.insert(it, c); |
| 384 | } |
| 385 | |
| 386 | if (role == QuickItemModelRole::ItemEvent) |
| 387 | (*it).eventChange = true; |
| 388 | if (role == QuickItemModelRole::ItemFlags) |
| 389 | (*it).flagChange = true; |
| 390 | |
| 391 | if (!m_dataChangeTimer->isActive()) |
| 392 | m_dataChangeTimer->start(); |
| 393 | } |
| 394 | |
| 395 | void QuickItemModel::updateItemFlags(QQuickItem *item) |
| 396 | { |