twain源存在相同设备型号时增添加序列号区分

This commit is contained in:
yangjiaxuan 2023-07-31 18:08:18 +08:00
parent b2d617ff6d
commit 62a4613316
3 changed files with 55 additions and 2 deletions

View File

@ -43,7 +43,7 @@ Dialog_Device_Select::Dialog_Device_Select(const SANEAPI* saneApi, const char **
{
ui->listWidget->setCurrentRow(0);
}
if (ui->listWidget->count() > 1)
processSameDeviceType();
}

View File

@ -19,6 +19,9 @@ Dialog_device_select::Dialog_device_select(const std::vector<DEVQUEUI>& devs, QW
{
ui->listWidget->item(0)->setSelected(true);
}
if (ui->listWidget->count() > 1)
processSameDeviceType();
}
Dialog_device_select::~Dialog_device_select()
@ -31,6 +34,53 @@ int Dialog_device_select::getDevId()
return m_devId;
}
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(" - "))
{
devName.truncate(devName.lastIndexOf(" - "));
if (!devName.contains(" - "))
{
devName = ui->listWidget->item(i)->text();
}
}
QString devName2 = ui->listWidget->item(j)->text();
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 (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 + ")");
}
}
}
}
void Dialog_device_select::on_pbtn_ok_clicked()
{
if (ui->listWidget->count() == 0)

View File

@ -18,6 +18,9 @@ public:
int getDevId();
private:
void processSameDeviceType();
private slots:
void on_pbtn_ok_clicked();