void RoomHandler::requestVoice () { QList<QXmppDataForm::Field> fields; QXmppDataForm::Field typeField (QXmppDataForm::Field::HiddenField); typeField.setKey ("FORM_TYPE"); typeField.setValue ("http://jabber.org/protocol/muc#request"); fields << typeField; QXmppDataForm::Field reqField (QXmppDataForm::Field::TextSingleField); reqField.setLabel ("Requested role"); reqField.setKey ("muc#role"); reqField.setValue ("participant"); fields << reqField; QXmppDataForm form; form.setType (QXmppDataForm::Submit); form.setFields (fields); QXmppMessage msg ("", Room_->jid ()); msg.setType (QXmppMessage::Normal); msg.setExtensions (XooxUtil::Form2XmppElem (form)); Account_->GetClientConnection ()->GetClient ()->sendPacket (msg); }
bool ChatWindow::eventFilter(QObject* sender, QEvent* event) { if (sender == ui->messagePlainTextEdit) { if (event->type() != QEvent::KeyPress) { return false; } QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event); if ((keyEvent->key() == Qt::Key_Return || keyEvent->key() == Qt::Key_Enter) && (keyEvent->modifiers() & Qt::ShiftModifier) == 0) { QString messageText = ui->messagePlainTextEdit->document()->toPlainText().trimmed(); if (!messageText.isEmpty()) { #ifdef HAVE_QXMPP const QXmppMucRoom* publicChatRoom = XmppClient::getInstance().getPublicChatRoom(); QXmppMessage message; message.setTo(publicChatRoom->jid()); message.setType(QXmppMessage::GroupChat); message.setBody(messageText); XmppClient::getInstance().getXMPPClient().sendPacket(message); #endif // HAVE_QXMPP QTextCursor cursor = ui->messagePlainTextEdit->textCursor(); cursor.select(QTextCursor::Document); cursor.removeSelectedText(); } return true; } } else if (event->type() == QEvent::MouseButtonRelease) { QVariant userVar = sender->property("user"); if (userVar.isValid()) { AddressManager::getInstance().goToUser(userVar.toString()); return true; } } return QWidget::eventFilter(sender, event); }
void EntryBase::DrawAttention (const QString& text, const QString& variant) { const QString& to = variant.isEmpty () ? GetJID () : GetJID () + '/' + variant; QXmppMessage msg; msg.setBody (text); msg.setTo (to); msg.setType (QXmppMessage::Headline); msg.setAttentionRequested (true); Account_->GetClientConnection ()->GetClient ()->sendPacket (msg); }
void MyXmppClient::attentionSend( QString bareJid, QString resource ) { qDebug() << "MyXmppClient::attentionSend(" << bareJid << ";" << resource << ")"; QXmppMessage xmppMsg; QString jid_to = bareJid; if( resource == "" ) { jid_to += "/resource"; } else { jid_to += "/" + resource; } xmppMsg.setTo( jid_to ); QString jid_from = m_myjid + "/" + xmppClient->configuration().resource(); xmppMsg.setFrom( jid_from ); xmppMsg.setReceiptRequested( false ); xmppMsg.setState( QXmppMessage::None ); xmppMsg.setType( QXmppMessage::Headline ); xmppMsg.setAttentionRequested( true ); xmppClient->sendPacket( xmppMsg ); }