GroupRequestDlg::GroupRequestDlg(const ShareQQMsgPtr msg, Contact *contact, Group *group, QWidget *parent) : QDialog(parent), ui_(new Ui::GroupRequestDlg) { assert(group); ui_->setupUi(this); QQSystemGMsg *sysg_msg = (QQSystemGMsg *)msg.data(); QString name; if (contact) { name = contact->name(); } else { name = sysg_msg->talkTo(); } ui_->lbl_request_name_->setText(name); ui_->lbl_group_name_->setText(group->name()); if ( contact ) { ui_->lbl_avatar_->setPixmap(contact->icon()); } ui_->pte_msg_->appendPlainText(msg->msg()); gid_ = msg->talkTo(); id_ = msg->sendUin(); connect(ui_->pb_ok_ , SIGNAL(clicked()), this, SLOT(slotOkClicked())); connect(ui_->pb_ignore_ , SIGNAL(clicked()), this, SLOT(slotIgnoreClicked())); connect(ui_->rb_deny_, SIGNAL(toggled(bool)), this, SLOT(slotToggleDenyReason(bool))); }
void ChatLogWin::showChatLog(QVector<ShareQQMsgPtr> &chat_logs) { ui_->msgbrowse->clear(); ShareQQMsgPtr msg; foreach (msg, chat_logs) { QQGroupChatMsg *chat_msg = static_cast<QQGroupChatMsg*>(msg.data()); qint64 time = chat_msg->time(); QDateTime date_time; date_time.setMSecsSinceEpoch(time * 1000); QString time_str = date_time.toString("dd ap hh:mm:ss"); insertNameLine(convertor_->convert(chat_msg->sendUin()) + " " + time_str, Qt::blue); for (int i = 0; i < chat_msg->msg_.size(); ++i) { if (chat_msg->msg_[i].type() == QQChatItem::kQQFace) { insertQQFace(chat_msg->msg_[i].content()); } else if (chat_msg->msg_[i].type() == QQChatItem::kWord) insertWord(chat_msg->msg_[i].content(), QFont(), Qt::black, 9); else { insertImg(chat_msg->msg_[i].content()); } } }
void RequestMsgProcessor::onNewSystemMsg(ShareQQMsgPtr msg) { QString gid = 0; if ( msg->type() == QQMsg::kSystemG ) { QQSystemGMsg *sysg_msg = (QQSystemGMsg *)msg.data(); gid = sysg_msg->from_uin; if ( sysg_msg->sys_g_type == "group_leave" ) { qDebug() << sysg_msg->sendUin() << "had leave group" << endl; return; } } Contact *contact = Roster::instance()->contact(msg->sendUin()); if ( !contact ) { StrangerManager *mgr = StrangerManager::instance(); contact = mgr->strangerInfo(msg->sendUin()); } if ( !contact ) { connect(StrangerManager::instance(), SIGNAL(newStrangerInfo(QString, Contact *)), this, SLOT(onNewStrangerInfo(QString, Contact *))); connect(StrangerManager::instance(), SIGNAL(newStrangerIcon(QString, QPixmap)), this, SLOT(onNewStrangerIcon(QString, QPixmap))); }