chore: find device frome serial box

This commit is contained in:
Barry 2021-04-17 17:13:11 +08:00
commit 3e4e693c01
2 changed files with 22 additions and 41 deletions

View file

@ -518,24 +518,30 @@ void Dialog::on_usbConnectBtn_clicked()
delayMs(200); delayMs(200);
on_updateDevice_clicked(); on_updateDevice_clicked();
delayMs(200); delayMs(200);
if(ui->serialBox->count() == 0)
{ int firstUsbDevice = findDeviceFromeSerialBox(false);
qWarning() << "No device is found!"; if (-1 == firstUsbDevice) {
qWarning() << "No use device is found!";
return; return;
} }
ui->serialBox->setCurrentIndex(firstUsbDevice);
on_startServerBtn_clicked();
}
int Dialog::findDeviceFromeSerialBox(bool wifi) {
QRegExp regIP("\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\:([0-9]|[1-9]\\d|[1-9]\\d{2}|[1-9]\\d{3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])\\b"); QRegExp regIP("\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\:([0-9]|[1-9]\\d|[1-9]\\d{2}|[1-9]\\d{3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])\\b");
for (int i = 0; i < ui->serialBox->count(); ++i) for (int i = 0; i < ui->serialBox->count(); ++i)
{ {
// 连接第一个usb设备 bool isWifi = regIP.exactMatch(ui->serialBox->itemText(i));
if(!regIP.exactMatch(ui->serialBox->itemText(i))) bool found = wifi ? isWifi : !isWifi;
if(found)
{ {
ui->serialBox->setCurrentIndex(i); return i;
on_startServerBtn_clicked();
break;
} }
} }
return -1;
} }
void Dialog::on_wifiConnectBtn_clicked() void Dialog::on_wifiConnectBtn_clicked()
@ -545,29 +551,13 @@ void Dialog::on_wifiConnectBtn_clicked()
on_updateDevice_clicked(); on_updateDevice_clicked();
delayMs(200); delayMs(200);
if(ui->serialBox->count() == 0)
{
qWarning() << "No device is found!";
return;
}
bool found = false; int firstUsbDevice = findDeviceFromeSerialBox(false);
QRegExp regIP("\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\:([0-9]|[1-9]\\d|[1-9]\\d{2}|[1-9]\\d{3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])\\b"); if (-1 == firstUsbDevice) {
for (int i = 0; i < ui->serialBox->count(); ++i)
{
// 选中第一个usb设备
if(!regIP.exactMatch(ui->serialBox->itemText(i)))
{
ui->serialBox->setCurrentIndex(i);
found = true;
break;
}
}
if (!found) {
qWarning() << "No use device is found!"; qWarning() << "No use device is found!";
return; return;
} }
ui->serialBox->setCurrentIndex(firstUsbDevice);
on_getIPBtn_clicked(); on_getIPBtn_clicked();
delayMs(200); delayMs(200);
@ -581,22 +571,12 @@ void Dialog::on_wifiConnectBtn_clicked()
on_updateDevice_clicked(); on_updateDevice_clicked();
delayMs(200); delayMs(200);
// 找到第一个无线设备 int firstWifiDevice = findDeviceFromeSerialBox(true);
found = false; if (-1 == firstWifiDevice) {
for (int i = 0; i < ui->serialBox->count(); ++i)
{
if(regIP.exactMatch(ui->serialBox->itemText(i)))
{
ui->serialBox->setCurrentIndex(i);
found = true;
break;
}
}
if (!found) {
qWarning() << "No wifi device is found!"; qWarning() << "No wifi device is found!";
return; return;
} }
ui->serialBox->setCurrentIndex(firstWifiDevice);
on_startServerBtn_clicked(); on_startServerBtn_clicked();
} }

View file

@ -82,6 +82,7 @@ private:
QString getGameScript(const QString &fileName); QString getGameScript(const QString &fileName);
void slotShow(); void slotShow();
void slotActivated(QSystemTrayIcon::ActivationReason reason); void slotActivated(QSystemTrayIcon::ActivationReason reason);
int findDeviceFromeSerialBox(bool wifi);
protected: protected:
void closeEvent(QCloseEvent *event); void closeEvent(QCloseEvent *event);