Fix a loop in ItemRetriever and make it interactive, add a unit test
Fix a loop in ItemRetriever when we have more parts available than requested as well as when only some requested parts need to be retrieved. Make ItemRetriever interactive by emitting a signal with list of already retrieved items and using QEventLoop to block inside ItemRetriever::exec() instead of blocking on a QWaitCondition inside ItemRetrievalManager. Add a unit-test with several different scenarios.
Showing with 477 additions and 60 deletions