解决多台同型号设备连接时连接失败的问题
This commit is contained in:
parent
0eff99b378
commit
b5a4dd7fa9
|
@ -37,45 +37,45 @@ int Dialog_device_select::getDevId()
|
|||
void Dialog_device_select::processSameDeviceType()
|
||||
{
|
||||
int len = ui->listWidget->count();
|
||||
|
||||
for (int i = 0; i < len - 1; ++i)
|
||||
{
|
||||
for (int j = i + 1; j < len; ++j)
|
||||
QString devName = ui->listWidget->item(i)->text();
|
||||
if (devName.contains(" - "))
|
||||
{
|
||||
QString devName = ui->listWidget->item(i)->text();
|
||||
devName.truncate(devName.lastIndexOf(" - "));
|
||||
if (devName.contains(" - "))
|
||||
{
|
||||
devName.truncate(devName.lastIndexOf(" - "));
|
||||
if (!devName.contains(" - "))
|
||||
{
|
||||
devName = ui->listWidget->item(i)->text();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QString devName2 = ui->listWidget->item(j)->text();
|
||||
QString devName2;
|
||||
for (int j = 0; j < len - 1; ++j)
|
||||
{
|
||||
if (i == j)
|
||||
j++;
|
||||
|
||||
devName2 = ui->listWidget->item(j)->text();
|
||||
devName2.truncate(devName2.lastIndexOf(" - "));
|
||||
if (devName2.contains(" - "))
|
||||
{
|
||||
devName2.truncate(devName2.lastIndexOf(" - "));
|
||||
if (!devName2.contains(" - "))
|
||||
{
|
||||
devName2 = ui->listWidget->item(j)->text();
|
||||
}
|
||||
}
|
||||
|
||||
if (devName == devName2)
|
||||
{
|
||||
QString serialNum;
|
||||
QString serialNum2;
|
||||
for (int i = 0; i < m_devs.size(); ++i)
|
||||
{
|
||||
if (devName == QString::fromStdString(m_devs[i].name))
|
||||
serialNum = QString::fromStdString(m_devs[i].name);
|
||||
if (ui->listWidget->item(i)->text() == QString::fromStdString(m_devs[i].name))
|
||||
serialNum = QString::fromStdString(m_devs[i].sn);
|
||||
if (ui->listWidget->item(j)->text() == QString::fromStdString(m_devs[j].name))
|
||||
serialNum2 = QString::fromStdString(m_devs[j].sn);
|
||||
|
||||
if (devName2 == QString::fromStdString(m_devs[i].name))
|
||||
serialNum2 = QString::fromStdString(m_devs[i].name);
|
||||
}
|
||||
|
||||
ui->listWidget->item(i)->setText(ui->listWidget->item(i)->text() + "(" + serialNum + ")");
|
||||
ui->listWidget->item(j)->setText(ui->listWidget->item(j)->text() + "(" + serialNum2 + ")");
|
||||
if (!ui->listWidget->item(i)->text().contains(QString::fromStdString(m_devs[i].sn)))
|
||||
ui->listWidget->item(i)->setText(ui->listWidget->item(i)->text() + "(" + serialNum + ")");
|
||||
if (!ui->listWidget->item(j)->text().contains(QString::fromStdString(m_devs[j].sn)))
|
||||
ui->listWidget->item(j)->setText(ui->listWidget->item(j)->text() + "(" + serialNum2 + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -89,11 +89,13 @@ void Dialog_device_select::on_pbtn_ok_clicked()
|
|||
}
|
||||
else
|
||||
{
|
||||
std::string selectDev = ui->listWidget->currentItem()->text().toStdString();
|
||||
|
||||
QString selectDev = ui->listWidget->currentItem()->text();
|
||||
for (int i = 0; i < m_devs.size(); ++i)
|
||||
{
|
||||
if (m_devs[i].name == selectDev)
|
||||
if (selectDev.contains(QString::fromStdString(m_devs[i].sn)))
|
||||
selectDev.truncate(selectDev.lastIndexOf("("));
|
||||
|
||||
if (m_devs[i].name == selectDev.toStdString())
|
||||
{
|
||||
m_devId = m_devs[i].id;
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue