Ejemplo n.º 1
0
QString summarizeMessage(CatItem it){
    QString res;

    if(it.hasLabel(NAME_IS_TITLE_KEY_STR)){
        res+= it.getName() + " ";
    }

    if(it.hasLabel(AUTHOR_KEY_STR)){
        res+= QString("<br>") + FROM_PERSON__PHRASE + it.getAuthor();
    }

    if(!it.getDescription().isEmpty()){
        res+=it.getDescription();
    } else if(!it.getLongText().isEmpty()){
        res+=it.getLongText().left(UI_MAX_MESSAGE_DESCRIPTION_LEN);
    }

    if(it.hasLabel(TIME_EXPLICITELY_SET_KEY_STR)){
        res+="(";
        time_t tm = (MAX(it.getCreationTime(), it.getModificationTime()));
        QDateTime t;
        t.fromTime_t(tm);
        res+= contextualTimeString(t);
        res+=")";
    }

    return res;
}
Ejemplo n.º 2
0
bool PreviewPane::setItem(CatItem it, bool justTesting) {
    m_item = it;
    m_loadType = UNKNOWN_HTML;
    if(!justTesting){
        settings()->setFontSize(QWebSettings::MinimumFontSize,18);
        settings()->setFontSize(QWebSettings::MinimumLogicalFontSize,18);
        settings()->setFontSize(QWebSettings::DefaultFontSize,18);
        settings()->setFontSize(QWebSettings::DefaultFixedFontSize,18);
    //    QString styleSheetPath = (USER_APP_DIR + BROWSER_OPTION_DIR + BROWSER_STYLE_SHEET);
        QString styleSheetPath = m_item.getPreviewCSSPath();
        settings()->setUserStyleSheetUrl(QUrl(styleSheetPath));
    }
    if(justTesting ){
        if((int)it.getTagLevel() >=(int)CatItem::KEY_WORD){
            return false;
        }
        if(it.getItemType() == CatItem::LOCAL_DATA_FOLDER){
            return false;
        }
        QFileInfo f(it.getPath());
        if(f.isDir()){
            return false;
        }
    }


    if(!justTesting){
        setVisible(false);
    }
    if(it.hasLabel(PREVIEW_URL_KEY)){
        if(!justTesting){
            QUrl url(it.getCustomString(PREVIEW_URL_KEY));
            qDebug() << "setting url:" << url.toString();
            setUrl(url);
            load(url);
            loadingStart();
        }
        return true;
    } else if(it.hasLabel(FIREFOX_PLUGIN_NAME)
        && !it.hasLabel(STREAM_SOURCE_PATH)){
        if(!justTesting){
            setHtml (HTTP_CONTENT_LOADING_MSG);
            QUrl url = it.previewUrl();


            qDebug() << "setting url:" << url.toString();
            //startGettingUrlHtml(url);
            setUrl(url);
            load(url);
            loadingStart();
            //setReaderScript(true);
            connect(this, SIGNAL(loadProgress(int)),this, SLOT(progressLoading(int)));
        }
        return true;
    } else if(it.getMimeType() == DEFAULT_HTML_MIME_TYPE &&
Ejemplo n.º 3
0
QList<CatItem> Catalog::expandStubs(QString userKeys, QList<CatItem>* inList){

    QList<CatItem> stubs; QList<CatItem> oldStubs;
    QList<CatItem>* workingList = inList;
    QList<CatItem> res;
    bool refreshNeeded =false;
    int rep=0;

    QSet<QString> updated;
    while((workingList->length()>0)) {
        cat_store.beginAddGroup();
        for(int i=0; i<workingList->count();i++){
            CatItem toAdd = workingList->at(i);
            bool atStub = toAdd.isStub();
            if(plugins.itemLoading(&toAdd, UserEvent::BECOMING_VISIBLE)){
                if(toAdd.isForDelete()) {
                    cat_store.removeItem(workingList->at(i));
                    continue;
                }
                if(atStub) {
                    refreshNeeded = true;
                    //toAdd.setStub(false);
                    cat_store.addItemInGroup(toAdd);
                }
            }
            QList<CatItem> newStubs = extractStubs(toAdd);
            for(int j=0; j<newStubs.count(); j++){
                if(!updated.contains(newStubs[j].getPath())){
                    updated.insert(newStubs[j].getPath());
                    stubs.append(newStubs[j]);
                }
            }
        }
        oldStubs = stubs;
        workingList = &oldStubs;
        cat_store.endAddGroup();
        stubs.clear();
        Q_ASSERT(workingList->count() <1000);
        rep++;
        Q_ASSERT(rep<10);
    }

    cat_store.beginAddGroup();
    for(int i=0; i<inList->count();i++){
        CatItem toAdd = inList->at(i);
        if(toAdd.isForDBInsertOnly()){
            cat_store.addItemInGroup(toAdd);
            continue;
        }
        if(userKeys.isEmpty() || matches(&toAdd, userKeys) || toAdd.getTakesAnykeys()) {
            if(refreshNeeded){
                CatItem refreshed = cat_store.getItemByPath(toAdd.getPath());
                if(!refreshed.isEmpty()){
                    toAdd.mergeItem(refreshed,true);
                }
                toAdd.setMatchIndex(QList<int>());
            }
            if(!toAdd.hasLabel(BUILTIN))
                { res.append(toAdd);}
        }}
    cat_store.endAddGroup();
    return res;
}