Example #1
0
ItemRep::ItemRep(CatItem it, Tuple internalId, int change_count,
                 short nthPiece, bool nameFromDescript){
    Q_ASSERT(!it.isEmpty());
    matchType = it.getMatchType();
    matchIndex = it.getMatchIndex();
    //description = it.fullDescription;
    m_internalId = internalId;
    m_name = it.getName();
    Q_ASSERT(!m_name.isEmpty());
    //Q_ASSERT(it.getFullWeight());
    totalWeight = it.getFullWeight();
    change_cn = change_count;
    l_to_match = -1;
    skip_m = false;
    this->itemType = it.getItemType();

    //change_cn = 0;

    m_nthPiece= nthPiece;
    m_name_from_description=nameFromDescript;

}
Example #2
0
void CatBuilder::catalogTask() {
    qDebug() << "CatBuilder task starting: " << (int)this;
    mp_userItems = new QList<CatItem>;
    mp_extension_results = new QList<CatItem>;
    mp_timelyItems = new QList<CatItem>;
    gMainWidget->fillBuilderInfo(this);

    Q_ASSERT(cat);
    Q_ASSERT(plugins_ptr);
    QList<CatItem> insertList;
    //bool success=false;
    SearchInfo inf;
    inf.m_extensionType = m_extensionType;
    switch (m_extensionType) {
//        case LOAD:
//            success = plugins_ptr->loadCatalogs(&(insertList));
//            if(!success) {
//                plugins_ptr->getCatalogs(&(insertList));
//            }
//            break;
    case UserEvent::CATALOGUE_LOAD:
        plugins_ptr->getCatalogs(&(insertList));
        break;
    case UserEvent::CATALOGUE_EXTEND:
        doExtension(&insertList);
        break;
    case UserEvent::BACKGROUND_SEARCH:
    default:
    {
        inf.m_userKeys = this->m_userKeys;
        inf.m_keyWords = this->m_keywords;
        inf.itemListPtr = (mp_userItems);
        plugins_ptr->backgroundSearch(&inf, &(insertList));
    }
    break;

    }
    QList<CatItem> mergedItems = cat->indexItemList(&insertList);
    mp_extension_results->clear();
    for(int i=0; i<mergedItems.count(); i++) {
        CatItem it = mergedItems[i];
        if(it.getIsTimeDependant())
        {
            mp_timelyItems->append(mergedItems[i]);
        }
        if(it.getMatchType() == CatItem::USER_KEYWORD) {
            setShown(it, UserEvent::KEYS_TYPE);
            continue;
        }
        mp_extension_results->append(it);

        //plugins_ptr->itemLoading(&it,UserEvent::JUST_FOUND);
    }
    QList<CatItem> res;
    inf.itemListPtr = &mergedItems;
    qDebug() << "give plugins another go at found items";
    plugins_ptr->itemsLoading(&inf,&res);
    res = cat->indexItemList(&res);
    mergedItems.append(res);
    mp_extension_results->clear();
    for(int i=0; i<mergedItems.count(); i++) {
        mp_extension_results->append(mergedItems[i]);
    }

    if(UserEvent::BACKGROUND_SEARCH == m_extensionType) {
        //emit backgroundSearchDone(this,m_userKeys);
        gMainWidget->backgroundSearchDone(this,m_userKeys);

        qDebug() << "search done for: " << (int)this;
    } else if( UserEvent::STANDARD_UPDATE== m_extensionType ||
               UserEvent::CATALOGUE_EXTEND== m_extensionType ||
               UserEvent::CATALOGUE_LOAD== m_extensionType ||
               UserEvent::CATALOGUE_SAVE== m_extensionType ) {
        //emit catalogFinished(this);
        gMainWidget->catalogBuilt(this);
        qDebug() << "catabuilt for: " << (int)this;
    }
    qDebug() << "run done for: " << (int)this;
    emit finished();

}
Example #3
0
void CatBuilder::setShown(CatItem it, UserEvent etv) {
    it.setBestMatchType(it.getMatchType());
    cat->setShown(it, etv);
}