void TabSupervisor::start(const ServerInfo_User &_userInfo) { isLocalGame = false; userInfo = new ServerInfo_User(_userInfo); tabServer = new TabServer(this, client); connect(tabServer, SIGNAL(roomJoined( const ServerInfo_Room &, bool)), this, SLOT(addRoomTab( const ServerInfo_Room &, bool))); myAddTab(tabServer); tabUserLists = new TabUserLists(this, client, *userInfo); connect(tabUserLists, SIGNAL(openMessageDialog( const QString &, bool)), this, SLOT(addMessageTab( const QString &, bool))); connect(tabUserLists, SIGNAL(userJoined(ServerInfo_User)), this, SLOT(processUserJoined(ServerInfo_User))); connect(tabUserLists, SIGNAL(userLeft( const QString &)), this, SLOT(processUserLeft( const QString &))); myAddTab(tabUserLists); updatePingTime(0, -1); if (userInfo->user_level() & ServerInfo_User::IsRegistered) { tabDeckStorage = new TabDeckStorage(this, client); connect(tabDeckStorage, SIGNAL(openDeckEditor( const DeckLoader *)), this, SLOT(addDeckEditorTab( const DeckLoader *))); myAddTab(tabDeckStorage); tabReplays = new TabReplays(this, client); connect(tabReplays, SIGNAL(openReplay(GameReplay * )), this, SLOT(openReplay(GameReplay * ))); myAddTab(tabReplays); } else {
void client_message::readMessagefromServer(QString messageFromServer) { QStringList server_message = messageFromServer.split("|"); if(server_message[0] == "message") { qDebug() << "Message:"; qDebug() << " chatroom name:" << server_message[1] << " user ID:" << server_message[2] << " message text:" << server_message[3]; m_signal = true; emit(sendMessageToChatGui(messageFromServer)); } else if(server_message[1] == "list") { qDebug() << "Chat Room Update:"; for(int i = 2; i < server_message.size(); i++) { qDebug() << " " << server_message[i]; if( !(m_chatroomList.contains(server_message[i]) ) ) { (*m_dialog).addChatroom(server_message[i]); m_chatroomList.append(server_message[i]); } } } else if(server_message[1] == "joined") { qDebug() << "Userjoined:"; qDebug() << " chatroom ID:" <<server_message[2] << " name:" << server_message[3]; m_signal = true; emit(userJoined(server_message[2], server_message[3])); } else if(server_message[1] == "userleft") { qDebug() << "Userleft:"; qDebug() << " chatroom ID:" <<server_message[2] << " name:" << server_message[3]; m_signal = true; emit(userJoined(server_message[2], server_message[3])); } else { qDebug() << "invalid message"; } }
void ConferenceTask::parseUserJoined( YMSGTransfer *t ) { kdDebug(YAHOO_RAW_DEBUG) ; QString room = t->firstParam( 57 ); QString who = t->firstParam( 53 ); if( !who.isEmpty() && !room.isEmpty() ) emit userJoined( who, room ); }
ChatWidget::ChatWidget(QSharedPointer<Session> session, QSharedPointer<Chat> chat, QWidget *parent) : QWidget(parent), ui(new Ui::ChatWidget) { setAttribute(Qt::WA_DeleteOnClose, true); ui->setupUi(this); qRegisterMetaType<QSharedPointer<const User> >("QSharedPointer<const User>"); qRegisterMetaType<QObject *>("QObject *"); d_chat = chat; d_session = session; pList = new UserModel(d_session); ui->lvParticipants->setModel(pList); QListIterator<QSharedPointer<const User> > it(d_chat->getUserList()); while (it.hasNext()) { userJoined(it.next()); } connect(ui->leMessage, SIGNAL(returnPressed()), this, SLOT(returnPressed())); connect(d_chat.data(), SIGNAL(messageReceived(QSharedPointer<const User>, QString)), this, SLOT(messageReceived(QSharedPointer<const User>, QString))); connect(d_chat.data(), SIGNAL(userJoined(QSharedPointer<const User>)), this, SLOT(userJoined(QSharedPointer<const User>))); connect(d_chat.data(), SIGNAL(userLeft(QSharedPointer<const User>)), this, SLOT(userLeft(QSharedPointer<const User>))); connect(d_chat.data(), SIGNAL(leaveChatCompleted(bool, QString)), this, SLOT(leaveChatCompleted(bool, QString))); connect(d_chat.data(), SIGNAL(inviteCompleted(bool, QString)), this, SLOT(inviteCompleted(bool, QString))); connect(d_chat.data(), SIGNAL(sendCompleted(bool, QString)), this, SLOT(sendCompleted(bool, QString))); connect(d_session.data(), SIGNAL(retrieveUserCompleted(QSharedPointer<const User>, const QObject *, bool, QString)), this, SLOT(invite(QSharedPointer<const User>, const QObject *, bool, QString))); }
void ChatTests::testInvite() { QVERIFY(chat); QSignalSpy spy2(chat.data(), SIGNAL(inviteCompleted(bool, QString))); QVERIFY(spy2.isValid()); QVERIFY(spy2.isEmpty()); QSignalSpy spy3(session2.data(), SIGNAL(invitationReceived(QSharedPointer<Chat>))); QVERIFY(spy3.isValid()); QVERIFY(spy3.isEmpty()); QSignalSpy spy4(chat.data(), SIGNAL(userJoined(QSharedPointer<const User>))); QVERIFY(spy4.isValid()); QVERIFY(spy4.isEmpty()); QSharedPointer<const User> u(new User(TEMP_SESSION_USER2, WORKING_DIR "public.pem")); chat->invite(u); waitForResult(spy2); QCOMPARE(spy2.count(), 1); QList<QVariant> arguments2 = spy2.takeFirst(); QVERIFY2(arguments2.at(0) == true, arguments2.at(1).toString().toStdString().c_str()); waitForResult(spy3); QCOMPARE(spy3.count(), 1); QList<QVariant> arguments3 = spy3.takeFirst(); QSharedPointer<Chat> chat2 = arguments3.at(0).value<QSharedPointer<Chat> >(); waitForResult(spy4); QCOMPARE(spy4.count(), 1); QList<QVariant> arguments4 = spy4.takeFirst(); QSharedPointer<const User> u2 = arguments4.at(0).value<QSharedPointer<const User> >(); QCOMPARE(u2->getName(), QString(TEMP_SESSION_USER2)); QList<QSharedPointer<const User> > chat1Usr = chat->getUserList(); QList<QSharedPointer<const User> > chat2Usr = chat2->getUserList(); QCOMPARE(chat1Usr.size(), 2); QCOMPARE(chat2Usr.size(), 2); QCOMPARE(chat1Usr[0]->getName(), QString(TEMP_SESSION_USER2)); QCOMPARE(chat1Usr[1]->getName(), QString(TEMP_SESSION_USER3)); QCOMPARE(chat2Usr[0]->getName(), QString(TEMP_SESSION_USER2)); QCOMPARE(chat2Usr[1]->getName(), QString(TEMP_SESSION_USER3)); }
void TabUserLists::processUserJoinedEvent(const Event_UserJoined &event) { const ServerInfo_User &info = event.user_info(); const QString userName = QString::fromStdString(info.name()); allUsersList->processUserInfo(info, true); ignoreList->setUserOnline(userName, true); buddyList->setUserOnline(userName, true); allUsersList->sortItems(); ignoreList->sortItems(); buddyList->sortItems(); if (buddyList->getUsers().keys().contains(userName)) soundEngine->playSound("buddy_join"); emit userJoined(info); }
void SessionState::updateUser(const QStringList& tokens) { User user(this, tokens); bool newuser=true; if(users_.contains(user.id())) { // Existing user changed newuser = false; User olduser = users_.value(user.id()); users_[user.id()] = user; if(olduser.locked() != user.locked()) emit userLocked(user.id(), user.locked()); } else { users_[user.id()] = user; } // The session joining is complete when we get our own user ID // for the first time. if(host_->localuser_<0 && user.name() == host_->username_) host_->sessionJoinDone(user.id()); if(newuser) { emit userJoined(user.id()); if(user.locked()) emit userLocked(user.id(), true); } }
void ChatTests::testTransmitMessage() { QVERIFY(chat); QSignalSpy spy(session2.data(), SIGNAL(invitationReceived(QSharedPointer<Chat>))); QVERIFY(spy.isValid()); QVERIFY(spy.isEmpty()); QSignalSpy spy2(chat.data(), SIGNAL(userJoined(QSharedPointer<const User>))); QVERIFY(spy2.isValid()); QVERIFY(spy2.isEmpty()); QSharedPointer<const User> u(new User(TEMP_SESSION_USER2, WORKING_DIR "public.pem")); chat->invite(u); waitForResult(spy); QList<QVariant> arguments = spy.takeFirst(); QSharedPointer<Chat> chat2 = arguments.at(0).value<QSharedPointer<Chat> >(); waitForResult(spy2); QSignalSpy spy3(chat2.data(), SIGNAL(sendCompleted(bool, const QString &))); QVERIFY(spy3.isValid()); QVERIFY(spy3.isEmpty()); QSignalSpy spy4(chat.data(), SIGNAL(messageReceived(QSharedPointer<const User>, const QString &))); QVERIFY(spy4.isValid()); QVERIFY(spy4.isEmpty()); QSignalSpy spy5(chat2.data(), SIGNAL(messageReceived(QSharedPointer<const User>, const QString &))); QVERIFY(spy5.isValid()); QVERIFY(spy5.isEmpty()); chat2->send("Cupcakes!!!"); waitForResult(spy3); QList<QVariant> arguments2 = spy3.takeFirst(); QVERIFY(arguments2.at(0) == true); waitForResult(spy4); QList<QVariant> arguments3 = spy4.takeFirst(); QCOMPARE(arguments3.at(1).toString(), QString("Cupcakes!!!")); QSharedPointer<const User> u2 = arguments3.at(0).value<QSharedPointer<const User> >(); QCOMPARE(u2->getName(), u->getName()); waitForResult(spy5); QList<QVariant> arguments4 = spy5.takeFirst(); QCOMPARE(arguments4.at(1).toString(), QString("Cupcakes!!!")); QSharedPointer<const User> u3 = arguments4.at(0).value<QSharedPointer<const User> >(); QCOMPARE(u3->getName(), u->getName()); QSignalSpy spy6(chat.data(), SIGNAL(sendCompleted(bool, const QString &))); QVERIFY(spy6.isValid()); QVERIFY(spy6.isEmpty()); QSignalSpy spy7(chat2.data(), SIGNAL(messageReceived(QSharedPointer<const User>, const QString &))); QVERIFY(spy7.isValid()); QVERIFY(spy7.isEmpty()); QSignalSpy spy8(chat.data(), SIGNAL(messageReceived(QSharedPointer<const User>, const QString &))); QVERIFY(spy8.isValid()); QVERIFY(spy8.isEmpty()); chat->send("Khaaan!!!"); waitForResult(spy6); QList<QVariant> arguments5 = spy6.takeFirst(); QVERIFY(arguments5.at(0) == true); waitForResult(spy7); QList<QVariant> arguments6 = spy7.takeFirst(); QCOMPARE(arguments6.at(1).toString(), QString("Khaaan!!!")); QSharedPointer<const User> u4 = arguments6.at(0).value<QSharedPointer<const User> >(); QCOMPARE(u4->getName(), QString(TEMP_SESSION_USER3)); waitForResult(spy8); QList<QVariant> arguments7 = spy8.takeFirst(); QCOMPARE(arguments7.at(1).toString(), QString("Khaaan!!!")); QSharedPointer<const User> u5 = arguments7.at(0).value<QSharedPointer<const User> >(); QCOMPARE(u5->getName(), QString(TEMP_SESSION_USER3)); }
void Chat::addChatParticipant(QSharedPointer<const User> participant) { QMutexLocker locker(&usersMutex); users[participant->getName()] = participant; emit userJoined(participant); }