|
@@ -813,15 +813,25 @@ void MainPanel::applyModeLayout()
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 录制模式(非推流):展示右侧面板并保持聊天嵌入,宽度自适应为总宽的 1/3(300~420 间)
|
|
|
|
|
|
|
+ // 录制模式(非推流):展示右侧面板,根据聊天当前状态决定布局
|
|
|
if (m_rightWidget) m_rightWidget->show();
|
|
if (m_rightWidget) m_rightWidget->show();
|
|
|
- showChatEmbedded();
|
|
|
|
|
-
|
|
|
|
|
- int chatW = panelW / 3;
|
|
|
|
|
- chatW = qBound(300, chatW, 420);
|
|
|
|
|
- const int leftW = qMax(0, panelW - chatW);
|
|
|
|
|
- QList<int> sizes; sizes << leftW << chatW;
|
|
|
|
|
- splitter->setSizes(sizes);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 检查聊天当前是否为嵌入状态
|
|
|
|
|
+ const bool embeddedChat = (chatView && m_chatContainer && chatView->parent() == m_chatContainer);
|
|
|
|
|
+
|
|
|
|
|
+ if (embeddedChat) {
|
|
|
|
|
+ // 聊天为嵌入状态,设置分割布局
|
|
|
|
|
+ int chatW = panelW / 3;
|
|
|
|
|
+ chatW = qBound(300, chatW, 420);
|
|
|
|
|
+ const int leftW = qMax(0, panelW - chatW);
|
|
|
|
|
+ QList<int> sizes; sizes << leftW << chatW;
|
|
|
|
|
+ splitter->setSizes(sizes);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 聊天为独立窗口状态,隐藏右侧面板
|
|
|
|
|
+ if (m_rightWidget) m_rightWidget->hide();
|
|
|
|
|
+ QList<int> sizes; sizes << panelW << 0;
|
|
|
|
|
+ splitter->setSizes(sizes);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void MainPanel::resizeEvent(QResizeEvent* event)
|
|
void MainPanel::resizeEvent(QResizeEvent* event)
|