Esempio n. 1
0
QList<int> CaItemModelPrivate::getUninstallingEntriesIds(int componentId)
{
    CaQuery* query = new CaQuery(mQuery);
    QString compId(QString().setNum(componentId));
    query->setAttribute(QString("component_id"), compId);
    query->setFlagsOn(RemovableEntryFlag | VisibleEntryFlag);
    QList<int> ids = mService->getEntryIds(*query);
    delete query;
    return ids;
}
Esempio n. 2
0
/* Funcao que converte a Lista de Nomes por Projetos numa
 * lista de Projetos por Nomes. */
PTno converte(PTno Ln) {
    PTno Novo = NULL, Lp;
    PTno ptNoProjeto, ptNoNome;
    PTnome N, noNome;
    PTproj P, noProjeto;
    // lista de nomes
    while (Ln) {
        Lp = ((PTnome) Ln->info)->lProj; // lista de projetos
        while (Lp) {
            noNome = malloc(sizeof (nomeNo)); //alocação estrutura nome
            strcpy(noNome->nome, ((PTnome) Ln->info)->nome); //seta nome
            noNome->tmp = ((PTproj) Lp->info)->tmp; //seta tempo
            ptNoNome = malloc(sizeof (no)); //alocação nó de nome
            ptNoNome->info = noNome; //seta o ponteiro info para estrutura nome alocada
            P = malloc(sizeof (projNo)); // alocação da estrutura de projeto
            P->id = ((PTproj) Lp->info)->id; // setando id do projeto
            P->lNome = insere(P->lNome, ptNoNome, compNome); // inserindo o no nome na lista de nomes
            ptNoProjeto = malloc(sizeof (no)); // alocando o no projeto
            ptNoProjeto->info = P; // seta o ponteiro de projeto ao nó de projeto
            Novo = insere(Novo, ptNoProjeto, compId); // inserindo o no de projeto na lista de projetos criada
            Lp = Lp->prox; // proximo da lista de projetos
        }
        Ln = Ln->prox; // proximo da lista de nomes
    }
    // percorre a lista novamente acertando a lista de nomes aos projetos
    Lp = Novo; //projeto anterior
    ptNoProjeto = Novo->prox; //projeto atual
    while (ptNoProjeto) {// enquanto não é o fim da lista de projetos
        P = ptNoProjeto->info; // projeto atual
        if (ptNoProjeto && compId(Lp, ptNoProjeto) == 0) {// se existe projeto atual e se os id's são iguais
            ((PTproj) Lp->info)->lNome = insere(((PTproj) Lp->info)->lNome, P->lNome, compNome); // insere na lista de nomes do projeto anterior, a lista de nomes do projeto atual
            Lp->prox = ptNoProjeto->prox; // proximo do no do projeto anterior aponta para o proximo no do projeto atual
            free(P); // desaloca o no do projeto
            free(ptNoProjeto); // desaloca no da lista de projeto
            ptNoProjeto = Lp->prox; // projeto atual recebe o proximo do anterior
        } else {// se os id's não são iguais
            Lp = ptNoProjeto;
            ptNoProjeto = ptNoProjeto->prox;
        }
    }
    return Novo;
}