add sendMessage function

This commit is contained in:
xyz
2025-06-18 18:21:23 +08:00
parent c50f574eed
commit 971ab64769
11 changed files with 319 additions and 9 deletions

View File

@ -97,7 +97,7 @@ void MainWidget::initLeftWindow()
sessionTabBtn->setFixedSize(45, 45);
sessionTabBtn->setIconSize(QSize(35, 35));
sessionTabBtn->setIcon(QIcon(":/resource/image/session_active.png"));
sessionTabBtn->setStyleSheet("QPushButton {background-color: transparent; }");
sessionTabBtn->setStyleSheet("QPushButton {background-color: transparent; border: none; }");
layout->addWidget(sessionTabBtn, 1, Qt::AlignTop | Qt::AlignCenter);
//添加好友标签页按钮
@ -105,7 +105,7 @@ void MainWidget::initLeftWindow()
friendTabBtn->setFixedSize(45, 45);
friendTabBtn->setIconSize(QSize(35, 35));
friendTabBtn->setIcon(QIcon(":/resource/image/friend_inactive.png"));
friendTabBtn->setStyleSheet("QPushButton {background-color: transparent; }");
friendTabBtn->setStyleSheet("QPushButton {background-color: transparent; border: none; }");
layout->addWidget(friendTabBtn, 1, Qt::AlignTop | Qt::AlignCenter);
//添加好友申请标签页按钮
@ -113,7 +113,7 @@ void MainWidget::initLeftWindow()
applyTabBtn->setFixedSize(45, 45);
applyTabBtn->setIconSize(QSize(35, 35));
applyTabBtn->setIcon(QIcon(":/resource/image/apply_inactive.png"));
applyTabBtn->setStyleSheet("QPushButton {background-color: transparent; }");
applyTabBtn->setStyleSheet("QPushButton {background-color: transparent; border: none; }");
layout->addWidget(applyTabBtn, 1, Qt::AlignTop | Qt::AlignCenter);
layout->addStretch(20);
@ -529,4 +529,30 @@ void MainWidget::updateRecentMessage(const QString& chatSessionId)
messageShowArea->scrollToEnd();
}
void MainWidget::switchSession(const QString& userId)
{
//找到对应的会话元素
DataCenter* dataCenter = DataCenter::getInstance();
ChatSessionInfo* chatSessionInfo = dataCenter->findChatSessionByUserId(userId);
if (chatSessionInfo == nullptr) {
//每个好友都会有一个对应的会话(即便没有说过话)
//添加好友的时候,就创建出来的会话
LOG() << "严重错误->当前选中的好友对应的会话不存在";
return;
}
//把选中的会话置顶
dataCenter->topCurrentChatSessionId(*chatSessionInfo);
//切换到会话列表标签页
switchTabToSession();
// 加载这个会话对应的历史消息
sessionFriendArea->clickItem(0);
}
MessageShowArea* MainWidget::getMessageShowArea()
{
return messageShowArea;
}