Example #1
0
void CollectionList::loadNextBatchCachedItems()
{
    Cache *cache = Cache::instance();
    bool done = false;

    for(int i = 0; i < 20; ++i) {
        FileHandle cachedItem(cache->loadNextCachedItem());

        if(cachedItem.isNull()) {
            done = true;
            break;
        }

        // This may have already been created via a loaded playlist.
        if(!m_itemsDict.contains(cachedItem.absFilePath())) {
            CollectionListItem *newItem = new CollectionListItem(this, cachedItem);
            setupItem(newItem);
        }
    }

    SplashScreen::update();

    if(!done) {
        QTimer::singleShot(0, this, SLOT(loadNextBatchCachedItems()));
    }
    else {
        completedLoadingCachedItems();
    }
}