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);
    }
}
Example #2
0
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);
	}

}
Example #3
0
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());
}
Example #4
0
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);
	}
	//*/
}
Example #5
0
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;
}
Example #8
0
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);
}
Example #9
0
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
	


	//########################################################################################
}
Example #10
0
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;
	}

	

}
Example #11
0
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());
    }
    
}
Example #12
0
GroupModel::GroupModel(const GroupModel& cp)
	: m_editor(cp.getEditor())
{}
Example #13
0
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);
	}
}
Example #14
0
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);
	}
	
	//########################################################################################
}