自动监测设备到达改为手动刷新

This commit is contained in:
yangjiaxuan 2023-02-08 18:49:41 +08:00
parent 6f692b5e37
commit 40c66d7a21
1 changed files with 64 additions and 51 deletions

View File

@ -46,7 +46,6 @@ MainWindow::MainWindow(HGPdtToolDbUserMgr pdtToolDbuserMgr, Dialog_logIn::LogInT
setWindowTitle(tr("production tool-burn station"));
// ui->act_newDevice->setVisible(false);
ui->act_refreshDevice->setVisible(false);
m_formBurnMode = new Form_BurnMode(this, this);
@ -408,66 +407,64 @@ QString MainWindow::getDevFwNum(SANE_Handle handle)
void MainWindow::on_sane_dev_arrive(QString devName)
{
ui->act_refreshDevice->setEnabled(false);
// QTime curTimer = QTime::currentTime().addMSecs(5000);
// while (QTime::currentTime() < curTimer)
//// QTime curTimer = QTime::currentTime().addMSecs(5000);
//// while (QTime::currentTime() < curTimer)
//// {
//// QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
//// }
// if (m_loginType == Dialog_logIn::LogInType_Burn)
// {
// QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
// SANE_Handle devHandle = nullptr;
// sane_open(devName.toStdString().c_str(), &devHandle);
// if (nullptr != devHandle)
// {
// DeviceManager *devManager = new DeviceManager(this, m_formBurnMode, devHandle, devName);
// m_formBurnMode->addDevice(devManager);
// }
ui->act_refreshDevice->setEnabled(true);
if (m_loginType == Dialog_logIn::LogInType_Burn)
{
SANE_Handle devHandle = nullptr;
sane_open(devName.toStdString().c_str(), &devHandle);
if (nullptr != devHandle)
{
DeviceManager *devManager = new DeviceManager(this, m_formBurnMode, devHandle, devName);
m_formBurnMode->addDevice(devManager);
}
return;
}
// QString str = tr("Confirm whether the device is reset");
// Dialog_HGMessageBox dlg(str, this);
// if (!dlg.exec())
// {
// return;
// }
SANE_Handle devHandle = nullptr;
sane_open(devName.toStdString().c_str(), &devHandle);
// // QString str = tr("Confirm whether the device is reset");
// // Dialog_HGMessageBox dlg(str, this);
// // if (!dlg.exec())
// // {
// // return;
// // }
if (nullptr == devHandle)
{
QMessageBox::information(this, tr("tips"), tr("Open device failed"));
return;
}
// SANE_Handle devHandle = nullptr;
// sane_open(devName.toStdString().c_str(), &devHandle);
m_inputSnDlg = new Dialog_InputSerialNum(this, devName, m_pdtToolDbuserMgr, devHandle, getDevSn(devHandle), getDevType(devHandle));
if (!m_inputSnDlg->exec())
{
sane_close(devHandle);
return ;
}
// if (nullptr == devHandle)
// {
// QMessageBox::information(this, tr("tips"), tr("Open device failed"));
// return;
// }
HGPdtToolDbDevice pdtToolDbDevice = nullptr;
HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, m_inputSnDlg->GetSn().toStdString().c_str(), &pdtToolDbDevice);
// m_inputSnDlg = new Dialog_InputSerialNum(this, devName, m_pdtToolDbuserMgr, devHandle, getDevSn(devHandle), getDevType(devHandle));
// if (!m_inputSnDlg->exec())
// {
// sane_close(devHandle);
// return ;
// }
Form_mainInterface *mainInterface = new Form_mainInterface(this, m_loginType, devHandle, m_pdtToolDbuserMgr, pdtToolDbDevice,
m_inputSnDlg->GetSn(), m_inputSnDlg->GetDevType(), devName, getDevFwNum(devHandle));
if (!AddInterface(mainInterface))
{
QMessageBox::information(this, tr("tips"), tr("cannot create more table"));
delete mainInterface;
}
// HGPdtToolDbDevice pdtToolDbDevice = nullptr;
// HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, m_inputSnDlg->GetSn().toStdString().c_str(), &pdtToolDbDevice);
if (m_inputSnDlg != nullptr)
{
delete m_inputSnDlg;
m_inputSnDlg = nullptr;
}
// Form_mainInterface *mainInterface = new Form_mainInterface(this, m_loginType, devHandle, m_pdtToolDbuserMgr, pdtToolDbDevice,
// m_inputSnDlg->GetSn(), m_inputSnDlg->GetDevType(), devName, getDevFwNum(devHandle));
// if (!AddInterface(mainInterface))
// {
// QMessageBox::information(this, tr("tips"), tr("cannot create more table"));
// delete mainInterface;
// }
// if (m_inputSnDlg != nullptr)
// {
// delete m_inputSnDlg;
// m_inputSnDlg = nullptr;
// }
}
void MainWindow::on_sane_dev_remove(QString devName)
@ -635,6 +632,22 @@ void MainWindow::on_act_refreshDevice_triggered()
{
std::vector<std::string> name;
name = getDevices();
if (m_loginType == Dialog_logIn::LogInType_Burn)
{
for (int i = 0; i < name.size(); ++i)
{
SANE_Handle devHandle = nullptr;
sane_open(name[i].c_str(), &devHandle);
if (nullptr != devHandle)
{
DeviceManager *devManager = new DeviceManager(this, m_formBurnMode, devHandle, name[i].c_str());
m_formBurnMode->addDevice(devManager);
}
}
return;
}
for (int i = 0; i < name.size(); ++i)
{
SANE_Handle devHandle = nullptr;