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"); }
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; }