zhuizhu hai 7 meses
pai
achega
2a9fc02933
Modificáronse 1 ficheiros con 18 adicións e 8 borrados
  1. 18 8
      MainPanel.cpp

+ 18 - 8
MainPanel.cpp

@@ -813,15 +813,25 @@ void MainPanel::applyModeLayout()
         return;
     }
 
-    // 录制模式(非推流):展示右侧面板并保持聊天嵌入,宽度自适应为总宽的 1/3(300~420 间)
+    // 录制模式(非推流):展示右侧面板,根据聊天当前状态决定布局
     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)