コード例 #1
0
void MemEventModelTest::callSetFilter()
{
    MALLINFO_DUMP("start");

    CallModel *model = new CallModel();
    model->enableContactChanges(false);
    QSignalSpy ready(model, SIGNAL(modelReady(bool)));

    model->getEvents();
    ready.clear();
    QVERIFY(waitSignal(ready, WAIT_TIMEOUT));

    for(int i = 0; i < 5; i++) {

        if (i&1)
            model->setFilter(CallModel::SortByTime, CommHistory::CallEvent::MissedCallType);
        else
            model->setFilter(CallModel::SortByContact, CommHistory::CallEvent::UnknownCallType);
        ready.clear();
        QVERIFY(waitSignal(ready, WAIT_TIMEOUT));
        QTest::qWait(100);

        MALLINFO_DUMP("get");
    }
    delete model;
    MALLINFO_DUMP("del");
    QTest::qWait(CALM_TIMEOUT);
    MALLINFO_DUMP("don");
}
コード例 #2
0
int exportCALLS(QTextStream *outputStream)
{
    CallModel callModel;

    callModel.enableContactChanges(false);
    callModel.setQueryMode(EventModel::SyncQuery);
    callModel.setTreeMode(false);
    callModel.setFilter(CallModel::SortByTime);
    if(!callModel.getEvents())
    {
        qCritical() << "Error fetching calls";
        return 0;
    }

    int i;

    qDebug() << "# calls: " << callModel.rowCount();

    for(i = callModel.rowCount() - 1; i >= 0; i--) //we iterate backwards, because the jolla does not like to import the last call first
    {
        Event e = callModel.event(callModel.index(i, 0));
        if(e.type() != Event::CallEvent)
        {
            qDebug() << "Not a call";
        }
        else
        {

            QString direction = e.direction() == Event::Inbound ? "IN" : "OUT";
            QString missed = e.isMissedCall() ? "MISSED" : "OK";
            *outputStream << e.remoteUid() << ";" <<
                direction << ";" << 
                missed << ";" <<
                e.startTime().toString(Qt::ISODate) << ";" <<
                e.endTime().toString(Qt::ISODate) << endl;
        }
    }

    return 1;
}