feat(投屏模块): 演示需求,临时取消用户验证逻辑

This commit is contained in:
huheng@kylinos.cn 2022-11-06 15:25:48 +08:00
parent 1362ec86f4
commit c18830ac3e
3 changed files with 19 additions and 4 deletions

View File

@ -64,9 +64,10 @@ void PcScreenManage::disconnected()
}
}
void PcScreenManage::connectService(const QString host)
void PcScreenManage::connectService(const QString host, PcScreenManage::DeviceType deviceType)
{
m_isService = false;
m_deviceType = deviceType;
if (m_messageTcpSocket == nullptr) {
m_messageTcpSocket = new QTcpSocket;
connect(m_messageTcpSocket, &QTcpSocket::stateChanged, this, &PcScreenManage::handleStateChange);
@ -300,7 +301,11 @@ void PcScreenManage::onMessageReadyRead()
case ScreenManageMsg::CURTAINREADY: {
qInfo() << "Remote consent to screen projection request.";
Q_EMIT sigRequestReceived(ScreenMsg::Successfully);
startControl();
if (m_deviceType == PcScreenManage::DeviceType::PC) {
startControl();
} else {
startPcService();
}
} break;
case ScreenManageMsg::SCREENREADY: {
qInfo() << "Receive remote screen projection information.";

View File

@ -37,6 +37,11 @@ public:
Exit = 11, // 主动退出
};
Q_ENUM(ScreenMsg)
enum DeviceType {
PC = 0, // PC
Android = 1, // Android
};
Q_ENUM(ScreenMsg)
void setTheme(PublicAttributes::Theme theme);
@ -45,7 +50,7 @@ public:
// 断开通信通道
void disconnected();
// 连接服务端
void connectService(const QString host);
void connectService(const QString host, PcScreenManage::DeviceType deviceType = PcScreenManage::DeviceType::PC);
// 设置验证结果
void setConnectionRespond(bool isAgree);
// 通知对端进入反控
@ -89,6 +94,7 @@ private:
QThread *m_pcScreenThread = nullptr; //投屏服务线程
Curtain *m_curtain = nullptr; // 投屏幕布
Control *m_control = nullptr; // 反控
PcScreenManage::DeviceType m_deviceType = PcScreenManage::DeviceType::PC;
// QDBusInterface *m_dbusInterface = nullptr; // 反控dbus
QString m_address = ""; // 客服端ip

View File

@ -1247,7 +1247,11 @@ bool MainWindow::setScreenOption()
m_messageBox->show();
return false;
}
m_pcScreen->connectService(m_connectInfo.address);
if (m_connectInfo.deviceType == ConnectionService::DeviceType::ANDROID) {
m_pcScreen->connectService(m_connectInfo.address, PcScreenManage::DeviceType::Android);
} else {
m_pcScreen->connectService(m_connectInfo.address, PcScreenManage::DeviceType::PC);
}
} else {
if (m_connectInfo.deviceType == ConnectionService::DeviceType::ANDROID) {
if (m_deviceManage == nullptr) {