| 396 | } |
| 397 | |
| 398 | void Component::updateCachedData() |
| 399 | { |
| 400 | auto file = getVersionFile(); |
| 401 | if(file) |
| 402 | { |
| 403 | bool changed = false; |
| 404 | if(m_cachedName != file->name) |
| 405 | { |
| 406 | m_cachedName = file->name; |
| 407 | changed = true; |
| 408 | } |
| 409 | if(m_cachedVersion != file->version) |
| 410 | { |
| 411 | m_cachedVersion = file->version; |
| 412 | changed = true; |
| 413 | } |
| 414 | if(m_cachedVolatile != file->m_volatile) |
| 415 | { |
| 416 | m_cachedVolatile = file->m_volatile; |
| 417 | changed = true; |
| 418 | } |
| 419 | if(!deepCompare(m_cachedRequires, file->requires)) |
| 420 | { |
| 421 | m_cachedRequires = file->requires; |
| 422 | changed = true; |
| 423 | } |
| 424 | if(!deepCompare(m_cachedConflicts, file->conflicts)) |
| 425 | { |
| 426 | m_cachedConflicts = file->conflicts; |
| 427 | changed = true; |
| 428 | } |
| 429 | if(changed) |
| 430 | { |
| 431 | emit dataChanged(); |
| 432 | } |
| 433 | } |
| 434 | else |
| 435 | { |
| 436 | // in case we removed all the metadata |
| 437 | m_cachedRequires.clear(); |
| 438 | m_cachedConflicts.clear(); |
| 439 | emit dataChanged(); |
| 440 | } |
| 441 | } |
no test coverage detected