twain源存在相同设备型号时增添加序列号区分
This commit is contained in:
parent
b2d617ff6d
commit
62a4613316
|
@ -43,8 +43,8 @@ Dialog_Device_Select::Dialog_Device_Select(const SANEAPI* saneApi, const char **
|
|||
{
|
||||
ui->listWidget->setCurrentRow(0);
|
||||
}
|
||||
|
||||
processSameDeviceType();
|
||||
if (ui->listWidget->count() > 1)
|
||||
processSameDeviceType();
|
||||
}
|
||||
|
||||
Dialog_Device_Select::~Dialog_Device_Select()
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -18,6 +18,9 @@ public:
|
|||
|
||||
int getDevId();
|
||||
|
||||
private:
|
||||
void processSameDeviceType();
|
||||
|
||||
private slots:
|
||||
void on_pbtn_ok_clicked();
|
||||
|
||||
|
|
Loading…
Reference in New Issue