MyIrcBuffer::MyIrcBuffer(const QString& receiver, Irc::Session* parent) : Irc::Buffer(receiver, parent) { connect(this, SIGNAL(receiverChanged(QString)), SLOT(on_receiverChanged(QString))); connect(this, SIGNAL(joined(QString)), SLOT(on_joined(QString))); connect(this, SIGNAL(parted(QString, QString)), SLOT(on_parted(QString, QString))); connect(this, SIGNAL(quit(QString, QString)), SLOT(on_quit(QString, QString))); connect(this, SIGNAL(nickChanged(QString, QString)), SLOT(on_nickChanged(QString, QString))); connect(this, SIGNAL(modeChanged(QString, QString, QString)), SLOT(on_modeChanged(QString, QString, QString))); connect(this, SIGNAL(topicChanged(QString, QString)), SLOT(on_topicChanged(QString, QString))); connect(this, SIGNAL(invited(QString, QString, QString)), SLOT(on_invited(QString, QString, QString))); connect(this, SIGNAL(kicked(QString, QString, QString)), SLOT(on_kicked(QString, QString, QString))); connect(this, SIGNAL(messageReceived(QString, QString, Irc::Buffer::MessageFlags)), SLOT(on_messageReceived(QString, QString, Irc::Buffer::MessageFlags))); connect(this, SIGNAL(noticeReceived(QString, QString, Irc::Buffer::MessageFlags)), SLOT(on_noticeReceived(QString, QString, Irc::Buffer::MessageFlags))); connect(this, SIGNAL(ctcpRequestReceived(QString, QString, Irc::Buffer::MessageFlags)), SLOT(on_ctcpRequestReceived(QString, QString, Irc::Buffer::MessageFlags))); connect(this, SIGNAL(ctcpReplyReceived(QString, QString, Irc::Buffer::MessageFlags)), SLOT(on_ctcpReplyReceived(QString, QString, Irc::Buffer::MessageFlags))); connect(this, SIGNAL(ctcpActionReceived(QString, QString, Irc::Buffer::MessageFlags)), SLOT(on_ctcpActionReceived(QString, QString, Irc::Buffer::MessageFlags))); connect(this, SIGNAL(numericMessageReceived(QString, uint, QStringList)), SLOT(on_numericMessageReceived(QString, uint, QStringList))); connect(this, SIGNAL(unknownMessageReceived(QString, QStringList)), SLOT(on_unknownMessageReceived(QString, QStringList))); }
void Transfer::setNick(const QString &nick) { if (_nick != nick) { _nick = nick; SYNC(ARG(nick)); emit nickChanged(nick); } }
void CChatSession::SetupWidget(CWidgetPrivateMessage *pWg) { m_pWidget = pWg; connect(this, SIGNAL(guidChanged(QUuid)), m_pWidget, SLOT(OnGUIDChanged(QUuid))); connect(this, SIGNAL(nickChanged(QString)), m_pWidget, SLOT(OnNickChanged(QString))); connect(this, SIGNAL(incomingMessage(QString,bool)), m_pWidget, SLOT(OnIncomingMessage(QString,bool))); connect(this, SIGNAL(systemMessage(QString)), m_pWidget, SLOT(OnSystemMessage(QString))); connect(m_pWidget, SIGNAL(SendMessageS(QString,bool)), this, SLOT(SendMessage(QString,bool))); connect(m_pWidget, SIGNAL(SendMessageS(QTextDocument*,bool)), this, SLOT(SendMessage(QTextDocument*,bool))); connect(m_pWidget, SIGNAL(destroyed()), this, SLOT(deleteLater())); }
void CChatSessionG2::OnUPROD(G2Packet *pPacket) { qDebug() << "OnUPROD"; if( !pPacket->m_bCompound ) return; QUuid oGUID; bool hasXML = false; char szType[9]; quint32 nLength = 0, nNext = 0; while(pPacket->ReadPacket(&szType[0], nLength)) { nNext = pPacket->m_nPosition + nLength; if(strcmp("XML", szType) == 0) { // Temporary code, needs to be moved to GProfile class QXmlStreamReader oXML; bool hasGprofile = false; bool hasGUID = false; bool hasIdentity = false; bool hasNick = false; oXML.addData(pPacket->ReadString(nLength)); while(!oXML.atEnd() && !oXML.hasError()) { QXmlStreamReader::TokenType token = oXML.readNext(); if( token == QXmlStreamReader::StartDocument) { continue; } else if( token == QXmlStreamReader::StartElement ) { if( oXML.name() == "gprofile" ) { /* if( oXML.attributes().value("xmlns") != "http://www.shareaza.com/schemas/GProfile.xsd" ) return;*/ hasGprofile = true; continue; } else if( hasGprofile && oXML.name() == "gnutella" ) { if( oXML.attributes().hasAttribute("guid") ) { QString sTemp = oXML.attributes().value("guid").toString(); QUuid oTemp(sTemp); oGUID = oTemp; hasGUID = true; continue; } } else if( hasGprofile && oXML.name() == "identity" ) { hasIdentity = true; continue; } else if( hasGprofile && hasIdentity && oXML.name() == "handle" ) { if( oXML.attributes().hasAttribute("primary") ) { m_sNick = oXML.attributes().value("primary").toString(); hasNick = true; continue; } } } } if( !hasNick || !hasGUID ) return; hasXML = true; } pPacket->m_nPosition = nNext; } if( !hasXML ) return; m_oGUID = oGUID; emit guidChanged(oGUID); emit nickChanged(m_sNick); if( m_bInitiated ) // TODO PUSH handling { G2Packet* pReq = G2Packet::New("CHATREQ", true); pReq->WritePacket("USERGUID", 16); pReq->WriteGUID(m_oGUID); SendPacket(pReq); } }