Working join/rename

This commit is contained in:
HanzZ 2011-05-19 00:33:38 +02:00
parent 943dc1925b
commit 457d19d1ec
7 changed files with 24 additions and 13 deletions

View file

@ -76,9 +76,9 @@ void MyIrcBuffer::on_receiverChanged(const QString& receiver)
qDebug() << "receiver changed:" << receiver;
}
void MyIrcBuffer::on_joined(const QString& origin)
{
qDebug() << "joined:" << receiver() << origin;
void MyIrcBuffer::on_joined(const QString& origin) {
qDebug() << "joined:" << receiver() << origin;
np->handleParticipantChanged(user, origin.toStdString(), receiver().toStdString(), 0);
}
void MyIrcBuffer::on_parted(const QString& origin, const QString& message)
@ -91,9 +91,9 @@ void MyIrcBuffer::on_quit(const QString& origin, const QString& message)
qDebug() << "quit:" << receiver() << origin << message;
}
void MyIrcBuffer::on_nickChanged(const QString& origin, const QString& nick)
{
qDebug() << "nick changed:" << receiver() << origin << nick;
void MyIrcBuffer::on_nickChanged(const QString& origin, const QString& nick) {
qDebug() << "nick changed:" << receiver() << origin << nick;
np->handleParticipantChanged(user, origin.toStdString(), receiver().toStdString(), 0, nick.toStdString());
}
void MyIrcBuffer::on_modeChanged(const QString& origin, const QString& mode, const QString& args)

View file

@ -42,7 +42,7 @@ class Conversation {
const std::string &getLegacyName() { return m_legacyName; }
void handleMessage(boost::shared_ptr<Swift::Message> &message, const std::string &nickname = "");
void handleParticipantChanged(const std::string &nickname, int flag);
void handleParticipantChanged(const std::string &nickname, int flag, const std::string &newname = "");
void setNickname(const std::string &nickname) {
m_nickname = nickname;
}

View file

@ -44,7 +44,7 @@ class NetworkPlugin {
const std::string &groups, int status, const std::string &statusMessage = "", const std::string &iconHash = ""
);
void handleParticipantChanged(const std::string &user, const std::string &nickname, const std::string &room, int flags);
void handleParticipantChanged(const std::string &user, const std::string &nickname, const std::string &room, int flags, const std::string &newname = "");
void handleDisconnected(const std::string &user, const std::string &legacyName, int error, const std::string &message);

View file

@ -78,7 +78,7 @@ void Conversation::handleMessage(boost::shared_ptr<Swift::Message> &message, con
}
}
void Conversation::handleParticipantChanged(const std::string &nick, int flag) {
void Conversation::handleParticipantChanged(const std::string &nick, int flag, const std::string &newname) {
std::string nickname = nick;
if (nickname.find("@") == 0) {
nickname = nickname.substr(1);
@ -94,7 +94,16 @@ void Conversation::handleParticipantChanged(const std::string &nick, int flag) {
c.code = 110;
p->addStatusCode(c);
}
p->addItem(Swift::MUCUserPayload::Item(Swift::MUCOccupant::Member, Swift::MUCOccupant::Participant));
Swift::MUCUserPayload::Item item(Swift::MUCOccupant::Member, Swift::MUCOccupant::Participant);
if (!newname.empty()) {
item.nick = newname;
Swift::MUCUserPayload::StatusCode c;
c.code = 303;
p->addStatusCode(c);
}
p->addItem(item);
presence->addPayload(boost::shared_ptr<Swift::Payload>(p));
m_conversationManager->getComponent()->getStanzaChannel()->sendPresence(presence);

View file

@ -105,12 +105,13 @@ void NetworkPlugin::handleDisconnected(const std::string &user, const std::strin
send(message);
}
void NetworkPlugin::handleParticipantChanged(const std::string &user, const std::string &nickname, const std::string &room, int flags) {
void NetworkPlugin::handleParticipantChanged(const std::string &user, const std::string &nickname, const std::string &room, int flags, const std::string &newname) {
pbnetwork::Participant d;
d.set_username(user);
d.set_nickname(nickname);
d.set_room(room);
d.set_flag(flags);
d.set_newname(newname);
std::string message;
d.SerializeToString(&message);

View file

@ -210,7 +210,7 @@ void NetworkPluginServer::handleParticipantChangedPayload(const std::string &dat
return;
}
conv->handleParticipantChanged(payload.nickname(), payload.flag());
conv->handleParticipantChanged(payload.nickname(), payload.flag(), payload.newname());
// LocalBuddy *buddy = (LocalBuddy *) user->getRosterManager()->getBuddy(payload.buddyname());
// if (buddy) {
@ -222,7 +222,7 @@ void NetworkPluginServer::handleParticipantChangedPayload(const std::string &dat
// handleBuddyPayload(buddy, payload);
// user->getRosterManager()->setBuddy(buddy);
// }
std::cout << payload.nickname() << "\n";
// std::cout << payload.nickname() << "\n";
}
void NetworkPluginServer::handleRoomChangedPayload(const std::string &data) {

View file

@ -52,6 +52,7 @@ message Participant {
required string room = 2;
required string nickname = 3;
required int32 flag = 4;
optional string newname = 5;
}
message WrapperMessage {