diff --git a/callwidget.cpp b/callwidget.cpp index f418d502ffbe987783ec9a4144f5826d87c54a7e..493de5a37bfd4fd62bbcf4c901725c22e8b63dd2 100644 --- a/callwidget.cpp +++ b/callwidget.cpp @@ -1021,6 +1021,12 @@ CallWidget::connectConversationModel() currentConversationModel, &lrc::api::ConversationModel::newInteraction, [this](const std::string& convUid, uint64_t interactionId, const lrc::api::interaction::Info& interaction) { onIncomingMessage(convUid, interactionId, interaction); + if (interaction.type == lrc::api::interaction::Type::CALL) { + return; + } + if (convUid == selectedConvUid()) { + ui->videoWidget->simulateShowChatview(true); + } } ); interactionRemovedConnection_ = QObject::connect( diff --git a/videoview.cpp b/videoview.cpp index 9db5fb9a74ad0e5bc98e9c3f0b5823b6f032562a..b0831874e39d277adf152128fa1bd4dfe70caf11 100644 --- a/videoview.cpp +++ b/videoview.cpp @@ -70,20 +70,6 @@ VideoView::VideoView(QWidget* parent) : emit this->setChatVisibility(visible); }); connect(overlay_, &VideoOverlay::videoCfgBtnClicked, [=](){emit videoSettingsClicked();}); - - - auto convModel = LRCInstance::getCurrentConversationModel(); - connect(convModel, &lrc::api::ConversationModel::newInteraction, - [this](const std::string& uid, uint64_t, lrc::api::interaction::Info info) { - if (info.type == lrc::api::interaction::Type::CALL) { - return; - } - auto selectedConvUid = LRCInstance::getSelectedConvUid(); - if (uid == selectedConvUid) { - overlay_->simulateShowChatview(true); - } - }); - } VideoView::~VideoView() @@ -189,6 +175,12 @@ VideoView::showChatviewIfToggled() emit setChatVisibility(overlay_->getShowChatView()); } +void +VideoView::simulateShowChatview(bool checked) +{ + overlay_->simulateShowChatview(true); +} + void VideoView::updateCall() { diff --git a/videoview.h b/videoview.h index ec71e88f36542d57755cb992a8f929c3da902e1a..f2f388cf984f0549cfe9cf1304b388dd790ae94c 100644 --- a/videoview.h +++ b/videoview.h @@ -43,6 +43,7 @@ public: ~VideoView(); void pushRenderer(const std::string& callUid); void showChatviewIfToggled(); + void simulateShowChatview(bool checked); protected: void resizeEvent(QResizeEvent* event);