void UnreadEventModelTest::addEvent() { UnreadEventsModel model; watcher.setModel(&model); model.setQueryMode(EventModel::SyncQuery); GroupModel groupModel; groupModel.enableContactChanges(false); group1.setLocalUid("/org/freedesktop/Telepathy/Account/gabble/jabber/dut_40localhost0"); QStringList uids; uids << "td@localhost"; group1.setRemoteUids(uids); QVERIFY(groupModel.addGroup(group1)); for (int j = 0; j < NUM_EVENTS; j++) { Event e; Event dbEvent; int id; e = createEvent("user@localhost"); e.setGroupId(group1.id()); QVERIFY(model.addEvent(e)); watcher.waitForSignals(); id = e.id(); QVERIFY(id != -1); QVERIFY(model.trackerIO().getEvent(id, dbEvent)); QCOMPARE(dbEvent.id(), id); } }
void PlaneModel::MakeThrusters(){ //######################################################################################## //* if(1){ vec3 thrusterColor = vec3(mBlack,mBlack,mBlack); GroupModel* group = new GroupModel(); if(1){//thruster1 CubeModel* model= new CubeModel(thrusterColor); model->SetScaling(vec3(0.7f, 0.3f, 2)); model->SetPosition(vec3(-0.4f, -0.1f, -1.4f)); model->SetRotation(vec3(0.0f, 1.0f, 0.0f), 5.0f); group->AddChild("left", model); } if(1){//thruster2 CubeModel* model= new CubeModel(thrusterColor); model->SetScaling(vec3(0.7f, 0.3f, 2)); model->SetPosition(vec3(0.4f, -0.1f, -1.4f)); model->SetRotation(vec3(0.0f, 1.0f, 0.0f), -5.0f); group->AddChild("right", model); } AddChild("thruster", group); } }
void addTestGroup(Group& grp, QString localUid, QString remoteUid) { GroupModel groupModel; groupModel.enableContactChanges(false); grp.setLocalUid(localUid); QStringList uids; uids << remoteUid; grp.setRemoteUids(uids); QSignalSpy ready(&groupModel, SIGNAL(groupsCommitted(QList<int>,bool))); QVERIFY(groupModel.addGroup(grp)); QVERIFY(waitSignal(ready)); QVERIFY(ready.first().at(1).toBool()); }
void PlaneModel::MakePropeller(){ //######################################################################################## //-------------------------------------------------- //* Front Propeller if(true){ GroupModel* propeller = new GroupModel(); float bladeLength = 0.6f; int blades = 8; for(int i=0; i<blades;i++){ GroupModel* blade = new GroupModel(); SphereModel* sphere = new SphereModel(); sphere->SetScaling(vec3(bladeLength, 0.06f, 0.1f)); sphere->SetPosition(vec3(bladeLength/2, 0.0f, 0.0f)); sphere->SetRotation(vec3(1.0f, 0.0f, 0.0f), 45.0f); blade->AddChild(sphere); blade->SetRotation(vec3(0.0f,0.0f,2.0f), i*(360.0f/blades)); propeller->AddChild(blade); } propeller->SetPosition(vec3(0.0f,0.0f,2.5f)); propeller->SetRotation(vec3(0.0f,0.0f,1.0f), 0.0f); propeller->SetRotationSpeed(5.0f*180.0f); AddChild("propeller", propeller); } //*/ }
void Util::exportSMS(QTextStream &out) { GroupModel groupModel; groupModel.enableContactChanges(false); groupModel.setQueryMode(EventModel::SyncQuery); groupModel.getGroups(); EventModel eventModel; ConversationModel model; model.enableContactChanges(false); model.setQueryMode(EventModel::SyncQuery); for (int i = 0; i < groupModel.rowCount(); i++) { Group g = groupModel.group(groupModel.index(i, 0)); model.getEvents(g.id()); // the events got by getEvents is reversed-ordered for (int i = model.rowCount() - 1; i >= 0; i--) { Event event = model.event(model.index(i, 0)); out << QString(event.remoteUid() % QChar(',') % QString::number(event.direction()) % QChar(',') % event.startTime().toLocalTime().toString(QString("yyyy-MM-dd hh:mm:ss")) % QChar(',') % QChar('"') % event.freeText().replace(QChar('"'), QString("\"\"")) % QChar('"')); out << "\n"; } } }
void ConversationModelTest::reset() { ConversationModel conv; conv.enableContactChanges(false); watcher.setModel(&conv); QVERIFY(conv.getEvents(group1.id())); QVERIFY(watcher.waitForModelReady()); QVERIFY(conv.rowCount() >= 5 ); QSignalSpy modelReset(&conv, SIGNAL(modelReset())); GroupModel groups; groups.deleteGroups(QList<int>() << group1.id()); if (modelReset.isEmpty()) QVERIFY(waitSignal(modelReset)); QCOMPARE(conv.rowCount(), 0); }
int main(int argc, char **argv) { QApplication app(argc, argv); ConversationModel model; GroupModel groupModel; groupModel.setQueryMode(EventModel::SyncQuery); groupModel.getGroups("/org/freedesktop/Telepathy/Account/gabble/jabber/dut_40localhost0"); model.getEvents(groupModel.group(groupModel.index(0, 0)).id()); QTableView view; view.setModel(&model); view.show(); #if 0 // Examples for accessing group data. You'll have to either use // SyncQuery mode or wait for rowsInserted() or modelReady() before // you can iterate over the model data. for (int i = 0; i < model.rowCount(); i++) { // Model style: qDebug() << model.index(i, EventModel::EventId).data().toString() << model.index(i, EventModel::StartTime).data().toDateTime() << model.index(i, EventModel::LocalUid).data().toString() << model.index(i, EventModel::RemoteUid).data().toString() << model.index(i, EventModel::FreeText).data().toString(); // Event style: Event e = model.event(model.index(i, 0)); // or // Event e = model.index(i, 0).data(Qt::UserRole).value<Event>(); qDebug() << e.id() << e.startTime() << e.localUid() << e.remoteUid() << e.freeText(); } #endif int ret = app.exec(); return ret; }
void TestGui::dragAndDropGroup(const QModelIndex& sourceIndex, const QModelIndex& targetIndex, int row, bool expectedResult, const QString& expectedParentName, int expectedPos) { QVERIFY(sourceIndex.isValid()); QVERIFY(targetIndex.isValid()); GroupModel* groupModel = qobject_cast<GroupModel*>(m_dbWidget->findChild<GroupView*>("groupView")->model()); QMimeData mimeData; QByteArray encoded; QDataStream stream(&encoded, QIODevice::WriteOnly); Group* group = groupModel->groupFromIndex(sourceIndex); stream << group->database()->uuid() << group->uuid(); mimeData.setData("application/x-keepassx-group", encoded); QCOMPARE(groupModel->dropMimeData(&mimeData, Qt::MoveAction, row, 0, targetIndex), expectedResult); QCOMPARE(group->parentGroup()->name(), expectedParentName); QCOMPARE(group->parentGroup()->children().indexOf(group), expectedPos); }
void PlaneModel::MakeRudder(){ //######################################################################################## //Rudder GroupModel* rudder = new GroupModel(); vec3 rudderSize = vec3(0.07f,1.15f, 1.0f); vec3 rudderColor = vec3(1,0,0); if(1){//Right GroupModel* group = new GroupModel(); CubeModel* model = new CubeModel(rudderColor); model->SetPosition(vec3(0.0f,0.5f,-2.0f)); model->SetRotation(vec3(1.0f,0.0f,0.0f), -30.0f); model->SetScaling(rudderSize); group->AddChild(model); group->SetRotation(vec3(0,0,1), 45.0f); rudder->AddChild(group); } if(1){//Left GroupModel* group = new GroupModel(); CubeModel* model = new CubeModel(rudderColor); model->SetPosition(vec3(0.0f,0.5f,-2.0f)); model->SetRotation(vec3(1.0f,0.0f,0.0f), -30.0f); model->SetScaling(rudderSize); group->AddChild(model); group->SetRotation(vec3(0,0,1), -45.0f); rudder->AddChild(group); } rudder->SetRotation(vec3(0.0f,0.0f,1.0f), 0.0f); AddChild("rudder",rudder); //*//////////////////////////////////////////////////// //$#%^$#$^Y$T#%^&%$#W$^&$#%^&%$#%^&&%^$#$%^&%%$#$$^%#$% //Model Testing :: Transforms on multiple layers //######################################################################################## }
void PlaneModel::MakeBody(){ //######################################################################################## if(1){//body SphereModel* model = new SphereModel(color); model->SetScaling(vec3(0.8f, 0.5f, 2.5f)); model->SetPosition(vec3(0.0f, 0.0f, 0.0f)); //model->SetRotation(vec3(0.0f, 1.0f, 0.0f), 45.0f); AddChild("body", model); } //######################################################################################## if(1){//cockpit GroupModel* group = new GroupModel(); if(1){ //glass float col = mBlack; SphereModel* model = new SphereModel(vec3(col,col,col)); model->SetScaling(vec3(0.5f, 0.4f, 1.7f)); model->SetPosition(vec3(0.0f, 0.3f, 0.0f)); //model->SetRotation(vec3(0.0f, 1.0f, 0.0f), 45.0f); group->AddChild("glass", model); } if(1){ //back SphereModel* model = new SphereModel(color); model->SetScaling(vec3(0.5f, 0.4f, 2.0f)); model->SetPosition(vec3(0.0f, 0.3f, -0.4f)); //model->SetRotation(vec3(0.0f, 1.0f, 0.0f), 45.0f); group->AddChild("back",model); } AddChild("cockpit", group); group->mRotationAngleX = -5.0f; } }
void Util::importSMS(QTextStream &in) { QString line; GroupModel groupModel; groupModel.enableContactChanges(false); groupModel.setQueryMode(EventModel::SyncQuery); QList<Event> events; int count = 0; int groupId; QMap<QString, int> phoneGroupMap; while (!(line = in.readLine()).isNull()) { count ++; std::cout << "Handling " << count << " messages" << std::endl; QStringList stringList = line.split(QChar(',')); QString remoteUid = stringList.at(0); QString localUid = RING_ACCOUNT; QDateTime startTime = QDateTime::fromString(stringList.at(2), "yyyy-MM-dd hh:mm:ss"); QDateTime endTime = startTime; if (!phoneGroupMap.contains(remoteUid)) { if (!groupModel.getGroups(RING_ACCOUNT, QString(remoteUid))) { std::cout << "Error getting groups!"; return; } else { if (groupModel.rowCount() >= 1) { groupId = groupModel.group(groupModel.index(0, 0)).id(); } else { // new group Group group; group.setLocalUid(localUid); QStringList remoteUids; remoteUids << remoteUid; group.setRemoteUids(remoteUids); if (!groupModel.addGroup(group)) { qCritical() << "Error adding group"; return; } groupId = group.id(); } phoneGroupMap.insert(remoteUid, groupId); } } else { groupId = phoneGroupMap[remoteUid]; } Event::EventDirection direction = Event::UnknownDirection; if (stringList.at(1) == QString("1")) direction = Event::Inbound; else direction = Event::Outbound; Event e; e.setDirection(direction); e.setType(Event::SMSEvent); e.setLocalUid(localUid); e.setMessageToken(QUuid::createUuid().toString()); e.setStartTime(startTime); e.setEndTime(endTime); e.setIsRead(true); e.setStatus(Event::DeliveredStatus); e.setBytesReceived(0); e.setGroupId(groupId); e.setRemoteUid(remoteUid); QString freeText = QStringList(stringList.mid(3)).join(QString(",")); if (freeText.count(QChar('"')) % 2 != 0) { QString nextLine; while (!(nextLine = in.readLine()).isNull()) { freeText += "\n" + nextLine; if (nextLine.count(QChar('"')) % 2 != 0) { break; } } } freeText = freeText.mid(1, freeText.length() - 2); freeText.replace(QString("\"\""), QChar('"')); e.setFreeText(freeText); events.append(e); std::cout << "Handled " << count << " messages" << std::endl; } if (events.count() > 0) { std::cout << "About to commit the changes" << std::endl; EventModel model; Catcher c(&model); if (!model.addEvents(events, false)) { qCritical() << "Error adding events"; return; } c.waitCommit(events.count()); } }
GroupModel::GroupModel(const GroupModel& cp) : m_editor(cp.getEditor()) {}
void PlaneModel::MakeGuns(){ //Torrent Model ---------------------------------------- GroupModel* torrentLayer = new GroupModel(); if(1){ vec3 torrentSize = vec3(0.5,0.5,1.4f); vec3 boxsize = vec3(0.3f, 0.3f, 0.5f); //left gun if(1){ GroupModel* g = new GroupModel(); if(1){ GroupModel* m = new TorrentModel(); m->SetPosition(vec3(0,0,0.5f)); m->SetRotation(vec3(0.0f,0.0f,1.0f), 0.0f); m->SetScaling(torrentSize); m->SetRotationSpeed(2*360.0f); g->AddChild(m); } if(1){ Model* m = new CubeModel(vec3(mBlack)); m->SetPosition(vec3(0,0,0.0f)); m->SetScaling(boxsize); g->AddChild(m); } //g->SetScaling(vec3(2)); g->SetPosition(vec3(-1.7f,0.2f,0.0f)); torrentLayer->AddChild(g); } //right gun if(1){ GroupModel* g = new GroupModel(); if(1){ GroupModel* m = new TorrentModel(); m->SetPosition(vec3(0,0,0.5f)); m->SetRotation(vec3(0.0f,0.0f,1.0f), 0.0f); m->SetScaling(torrentSize); m->SetRotationSpeed(2*360.0f); g->AddChild(m); } if(1){ Model* m = new CubeModel(vec3(mBlack)); m->SetPosition(vec3(0,0,0.0f)); m->SetScaling(boxsize); g->AddChild(m); } //g->SetScaling(vec3(2)); g->SetPosition(vec3(1.7f,0.2f,0.0f)); torrentLayer->AddChild(g); } torrentLayer->SetPosition(vec3(0,-0.2f,0.22)); AddChild("guns", torrentLayer); } }
void PlaneModel::MakeWings(){ //######################################################################################## //wing GroupModel* wing = new GroupModel(); SphereModel* wingbase = new SphereModel(); wingbase->SetScaling(vec3(4.0f, 0.1f, 0.5f)); wingbase->SetPosition(vec3(0.0f, 0.0f, 0.0f)); //sphere->SetRotation(vec3(0.0f, 1.0f, 0.0f), 45.0f); wing->AddChild("wing_base", wingbase); AddChild("wing", wing); //Flaps --------------------------------------------------------------------------------- float flapWidth = 0.45f;// z width of flap float flapLen = 2.0f;// 3.4 full wing float wingAng = 6; // rotate to fit wing float zOffset = -0.2;//-0.2; float xOffset = 1.78f;//2.3f; vec3 flapColor = vec3(0.4f, 0,0); //Left Flap ----------------------------------------------------------------------------- if(1){ GroupModel* wingside = new GroupModel(); //wingside->AddChild(new CubeModel(vec3(0,0,1), vec3(0.2f))); //marker if(1){ Model* m = new CubeModel(flapColor); //flap->AddChild(new CubeModel(vec3(1), vec3(0.2f))); //marker m->SetPosition(vec3(1.60f,-0.025,-0.42f)); m->SetScaling(vec3(1.2f,0.05f, flapWidth)); wingside->AddChild(m); } GroupModel* flap = new GroupModel(); //flaps cube Model* m = new CubeModel(flapColor); //flap->AddChild(new CubeModel(vec3(1), vec3(0.2f))); //marker m->SetPosition(vec3(0,-0.025,-flapWidth/2)); m->SetScaling(vec3(flapLen,0.05f, flapWidth)); flap->SetRotation(vec3(1,0,0), 0); // angle of flap flap->SetPosition(vec3(0,0,zOffset)); //flap->SetRotationSpeed(60); flap->AddChild("flap", m); wingside->SetRotation(vec3(0,1,0), -wingAng); wingside->SetPosition(vec3(xOffset,0,0)); wingside->AddChild("flap",flap); wing->AddChild("left", wingside); } //Right Flap ----------------------------------------------------------------------------- if(1){ GroupModel* wingside = new GroupModel(); //wingside->AddChild(new CubeModel(vec3(0,0,1), vec3(0.2f))); //marker if(1){ Model* m = new CubeModel(flapColor); //flap->AddChild(new CubeModel(vec3(1), vec3(0.2f))); //marker m->SetPosition(vec3(-1.60f,-0.025,-0.42f)); m->SetScaling(vec3(1.2f,0.05f, flapWidth)); wingside->AddChild(m); } GroupModel* flap = new GroupModel(); //flaps cube Model* m = new CubeModel(flapColor); //flap->AddChild(new CubeModel(vec3(1), vec3(0.2f))); //marker m->SetPosition(vec3(0,-0.025,-flapWidth/2)); m->SetScaling(vec3(flapLen,0.05f, flapWidth)); flap->SetRotation(vec3(1,0,0), 0); // angle of flap flap->SetPosition(vec3(0,0,zOffset)); //flap->SetRotationSpeed(60); flap->AddChild("flap", m); wingside->SetRotation(vec3(0,1,0), wingAng); wingside->SetPosition(vec3(-xOffset,0,0)); wingside->AddChild("flap",flap); wing->AddChild("right", wingside); } //######################################################################################## }