diff --git a/app/HGProductionTool/ProductionTool_zh_CN.qm b/app/HGProductionTool/ProductionTool_zh_CN.qm index 6536b2f..401c2e4 100644 Binary files a/app/HGProductionTool/ProductionTool_zh_CN.qm and b/app/HGProductionTool/ProductionTool_zh_CN.qm differ diff --git a/app/HGProductionTool/ProductionTool_zh_CN.ts b/app/HGProductionTool/ProductionTool_zh_CN.ts index 4585953..a0e903b 100644 --- a/app/HGProductionTool/ProductionTool_zh_CN.ts +++ b/app/HGProductionTool/ProductionTool_zh_CN.ts @@ -74,6 +74,11 @@ serialNum: 序列号: + + + Set Sn + 设置序列号 + OK @@ -85,27 +90,45 @@ 取消 - - - + + + + + + tips 提示 - + + device is lost + 设备已丢失 + + + Serial num is empty 序列号为空 - + sn is illegal 序列号不合法 - + The device is testing 该设备正在进行测试 + + + set sn failed + 设置序列号失败 + + + + set sn succeed + 设置序列号成功 + Dialog_SetBurnSn @@ -582,12 +605,11 @@ 进入烧录模式 - Set sn - 设置勾选项序列号 + 设置勾选项序列号 - + Close 关闭设备 @@ -613,8 +635,6 @@ - - tips 提示 @@ -626,14 +646,12 @@ 请至少勾选一台设备 - Please check single devices to set sn - 请只勾选一台设备再进行设置序列号 + 请只勾选一台设备再进行设置序列号 - Please check a devices to set sn at least - 请至少勾选一台设备再设置序列号 + 请至少勾选一台设备再设置序列号 @@ -654,104 +672,124 @@ - + + SpeedMode: + 速度模式: + + + + SleepTime: + 休眠时间: + + + Privious Step 上一步 - + PASS 通过 - + FAIL 不通过 - + START 开始测试 - + PrePage 上一张 - + NextPage 下一张 - + LeftRotate 左旋转 - + RightRotate 右旋转 - + STOP 关闭 - + SHOWIMG 加载图片 - + Next Step 下一步 - + Device has connected 设备已连接 - + Device hasnot connected 设备未连接 - + Device type: 设备型号: - + SerialNum: 序列号: - - + + connect status: 设备连接状态: + + + speed mode: + 速度模式: + + sleep time: + 休眠时间: + + + load last image which uploaded last time 加载上一次上传的图片 - + Device has disconnected 设备已断开 - - + + tips 提示 - + destortion value: 畸变修正值: @@ -764,47 +802,52 @@ 取消 - + ID 序号 - + Test items 测试项 - + status 测试状态 - + not test 未测试 - + not pass 不通过 - + not support 不支持 - + pass 通过 - + image pixel: 图像像素: - + + minute + 分钟 + + + no image 无图 @@ -875,7 +918,7 @@ 刷新设备列表 - + Account login elsewhere 账户在其他地方登录 @@ -884,56 +927,56 @@ 网络连接断开 - + You have been forced offline by the administrator account 你已被管理员账户强制下线 - + Data base error 数据库错误 - - - - - - - - - + + + + + + + + - + + tips 提示 - - + + Is testing, do not close! 测试中,请勿关闭! - + Are you sure to connect the new device 检测到设备连接,是否启动测试? - + yes 确定 - + no 取消 - - - + + + cannot create more table 不能创建更多项目 @@ -942,52 +985,52 @@ 设备已断开连接 - + Open device failed 打开设备失败 - + save 保存 - + xls(*.xls) xls表格(*.xls) - + export succeed 导出成功 - + export failed 导出失败 - + Illegal user 非法的用户 - + Wrong password 密码错误 - + Database error 数据库错误 - + connect error 连接错误 - + Failed 错误 diff --git a/app/HGProductionTool/dialog_inputserialnum.cpp b/app/HGProductionTool/dialog_inputserialnum.cpp index a84d04b..64f6c1d 100644 --- a/app/HGProductionTool/dialog_inputserialnum.cpp +++ b/app/HGProductionTool/dialog_inputserialnum.cpp @@ -2,12 +2,15 @@ #include "ui_dialog_inputserialnum.h" #include "mainwindow.h" -Dialog_InputSerialNum::Dialog_InputSerialNum(class MainWindow *mainWnd, SANE_Handle handle, const QString &serialNum, const QString &devType) : +Dialog_InputSerialNum::Dialog_InputSerialNum(class MainWindow *mainWnd, const QString &devName, SANE_Handle handle, const QString &serialNum, const QString &devType) : QDialog(mainWnd), ui(new Ui::Dialog_InputSerialNum), m_mainWnd(mainWnd), + m_handle(handle), + m_valid(true), m_serialNum(serialNum), m_devType(devType) + , m_devName(devName) { ui->setupUi(this); @@ -21,15 +24,16 @@ Dialog_InputSerialNum::Dialog_InputSerialNum(class MainWindow *mainWnd, SANE_Han if (handle != nullptr) { - ui->lineEdit_sn->setEnabled(false); ui->cbox_devType->setEnabled(false); ui->cbox_devType->setCurrentText(devType); ui->lineEdit_sn->setText(serialNum); + ui->lineEdit_sn->selectAll(); } else { ui->cbox_devType->setCurrentIndex(0); ui->lineEdit_sn->setText(""); + ui->pbtn_setSn->setEnabled(false); } } @@ -48,8 +52,26 @@ QString Dialog_InputSerialNum::GetDevType() return ui->cbox_devType->currentText(); } +void Dialog_InputSerialNum::Invalid(const QString &devName) +{ + if (devName == m_devName) + { + sane_close(m_handle); + m_handle = nullptr; + m_valid = false; + reject(); + } +} + void Dialog_InputSerialNum::on_pbtn_ok_clicked() { + if (!m_valid) + { + QMessageBox::information(this, tr("tips"), tr("device is lost")); + reject(); + return; + } + if (ui->lineEdit_sn->text().isEmpty()) { QMessageBox::information(this, tr("tips"), tr("Serial num is empty")); @@ -78,3 +100,18 @@ void Dialog_InputSerialNum::on_pbtn_cancel_clicked() { reject(); } + +void Dialog_InputSerialNum::on_pbtn_setSn_clicked() +{ + QString sn = ui->lineEdit_sn->text(); + std::string serialNum = sn.toStdString(); + if(SANE_STATUS_GOOD != sane_io_control(m_handle, IO_CTRL_CODE_SET_SERIAL, &serialNum[0], nullptr)) + { + QMessageBox::information(this, tr("tips"), tr("set sn failed")); + } + else + { + ui->lineEdit_sn->setText(m_mainWnd->getDevSn(m_handle)); + QMessageBox::information(this, tr("tips"), tr("set sn succeed")); + } +} diff --git a/app/HGProductionTool/dialog_inputserialnum.h b/app/HGProductionTool/dialog_inputserialnum.h index 23e9ff7..b1ce6d8 100644 --- a/app/HGProductionTool/dialog_inputserialnum.h +++ b/app/HGProductionTool/dialog_inputserialnum.h @@ -13,23 +13,29 @@ class Dialog_InputSerialNum : public QDialog Q_OBJECT public: - explicit Dialog_InputSerialNum(class MainWindow *mainWnd, SANE_Handle handle, const QString &serialNum, const QString &devType); + explicit Dialog_InputSerialNum(class MainWindow *mainWnd, const QString &devName, SANE_Handle handle, const QString &serialNum, const QString &devType); ~Dialog_InputSerialNum(); QString GetSn(); QString GetDevType(); + void Invalid(const QString &devName); private slots: void on_pbtn_ok_clicked(); void on_pbtn_cancel_clicked(); + void on_pbtn_setSn_clicked(); + private: Ui::Dialog_InputSerialNum *ui; class MainWindow *m_mainWnd; + SANE_Handle m_handle; + bool m_valid; QString m_serialNum; QString m_devType; + QString m_devName; }; #endif // DIALOG_INPUTSERIALNUM_H diff --git a/app/HGProductionTool/dialog_inputserialnum.ui b/app/HGProductionTool/dialog_inputserialnum.ui index 42e4332..1a85ecc 100644 --- a/app/HGProductionTool/dialog_inputserialnum.ui +++ b/app/HGProductionTool/dialog_inputserialnum.ui @@ -6,7 +6,7 @@ 0 0 - 511 + 536 206 @@ -117,6 +117,19 @@ + + + + 400 + 30 + 75 + 23 + + + + Set Sn + + diff --git a/app/HGProductionTool/form_burnmode.cpp b/app/HGProductionTool/form_burnmode.cpp index 7967ddd..3614e38 100644 --- a/app/HGProductionTool/form_burnmode.cpp +++ b/app/HGProductionTool/form_burnmode.cpp @@ -167,49 +167,49 @@ void Form_BurnMode::on_pbtn_burn_clicked() } } -void Form_BurnMode::on_pbtn_setSn_clicked() -{ - int select = 0; - for(int i = 0; i < ui->tableWidget->rowCount(); i++) - { - QTableWidgetItem *item = ui->tableWidget->item(i, 1); - if (item != nullptr && Qt::Checked == item->checkState()) - { - select++; - } - } +//void Form_BurnMode::on_pbtn_setSn_clicked() +//{ +// int select = 0; +// for(int i = 0; i < ui->tableWidget->rowCount(); i++) +// { +// QTableWidgetItem *item = ui->tableWidget->item(i, 1); +// if (item != nullptr && Qt::Checked == item->checkState()) +// { +// select++; +// } +// } - if (select == 0) - { - QMessageBox::information(this, tr("tips"), tr("Please check a devices to set sn at least")); - return; - } - else if (select > 1) - { - QMessageBox::information(this, tr("tips"), tr("Please check single devices to set sn")); - return; - } - else if (select == 1) - { - for(int i = 0; i < ui->tableWidget->rowCount(); i++) - { - QTableWidgetItem *item = ui->tableWidget->item(i, 1); - QTableWidgetItem *item2 = ui->tableWidget->item(i, 3); - if (item != nullptr && Qt::Checked == item->checkState()) - { - Dialog_SetBurnSn dlg(item2->text(), this); - if (dlg.exec()) - { - DeviceManager *devManager = (DeviceManager*)item->data(Qt::UserRole).value(); - devManager->setSn(dlg.getSn()); +// if (select == 0) +// { +// QMessageBox::information(this, tr("tips"), tr("Please check a devices to set sn at least")); +// return; +// } +// else if (select > 1) +// { +// QMessageBox::information(this, tr("tips"), tr("Please check single devices to set sn")); +// return; +// } +// else if (select == 1) +// { +// for(int i = 0; i < ui->tableWidget->rowCount(); i++) +// { +// QTableWidgetItem *item = ui->tableWidget->item(i, 1); +// QTableWidgetItem *item2 = ui->tableWidget->item(i, 3); +// if (item != nullptr && Qt::Checked == item->checkState()) +// { +// Dialog_SetBurnSn dlg(item2->text(), this); +// if (dlg.exec()) +// { +// DeviceManager *devManager = (DeviceManager*)item->data(Qt::UserRole).value(); +// devManager->setSn(dlg.getSn()); - item2->setText(devManager->getUpdatedSn()); - break; - } - } - } - } -} +// item2->setText(devManager->getUpdatedSn()); +// break; +// } +// } +// } +// } +//} DeviceManager::DeviceManager(class MainWindow *mainwnd, HGPdtToolDbUserMgr pdtToolDbuserMgr, class Form_BurnMode *burnMode, SANE_Handle handle, const QString & devName, const QString & sn, const QString &devType) diff --git a/app/HGProductionTool/form_burnmode.h b/app/HGProductionTool/form_burnmode.h index c458ba9..6a6fb57 100644 --- a/app/HGProductionTool/form_burnmode.h +++ b/app/HGProductionTool/form_burnmode.h @@ -70,7 +70,7 @@ private slots: void on_pbtn_burn_clicked(); - void on_pbtn_setSn_clicked(); +// void on_pbtn_setSn_clicked(); void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item); diff --git a/app/HGProductionTool/form_burnmode.ui b/app/HGProductionTool/form_burnmode.ui index 608b634..13045db 100644 --- a/app/HGProductionTool/form_burnmode.ui +++ b/app/HGProductionTool/form_burnmode.ui @@ -39,19 +39,6 @@ - - - - - 91 - 31 - - - - Set sn - - - @@ -86,17 +73,6 @@ - - - - - - - - - - - diff --git a/app/HGProductionTool/form_maininterface.cpp b/app/HGProductionTool/form_maininterface.cpp index 24defd4..8207e31 100644 --- a/app/HGProductionTool/form_maininterface.cpp +++ b/app/HGProductionTool/form_maininterface.cpp @@ -34,6 +34,8 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, Dialog_logIn:: { ui->setupUi(this); + ui->pbtn_showImg->setVisible(false); + QFont ft; ft.setPointSize(15); this->setFont(ft); @@ -54,6 +56,16 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, Dialog_logIn:: ui->label_sn->setText(tr("Device type:") + m_devType + tr(" SerialNum:") + m_serialNum); ui->label_devStatus->setText(tr(" connect status:") + str); + SANE_Int speedMode = 0; + unsigned int len = sizeof(SANE_Int); + sane_io_control(m_handle, IO_CTRL_CODE_GET_SPEED_MODE, &speedMode, &len); + ui->label_speedMode->setText(tr(" speed mode: ") + getSpeedMode(speedMode)); + + int sleepTime = SANE_POWER_FIRST; + unsigned int len2 = sizeof(int); + sane_io_control(m_handle, IO_CTRL_CODE_GET_POWER_LEVEL, &sleepTime, &len2); + ui->label_sleepTime->setText(tr(" sleep time: ") + getSleepTime(sleepTime)); + ui->label_imgInfo->setVisible(false); ui->label_destortionInfo->setVisible(false); @@ -66,6 +78,8 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, Dialog_logIn:: ui->stackedWidget->addWidget(m_view); ui->pbtn_showImg->setToolTip(tr("load last image which uploaded last time")); + connect(m_view, SIGNAL(doubleClicked()), this, SLOT(on_viewerDblClick())); + initTableWidgetUi(); if(!m_devType.isEmpty()) @@ -165,6 +179,8 @@ void Form_mainInterface::on_testResultImg(void *img) m_view->addImage(image); ui->pbtn_leftRotate->setVisible(true); ui->pbtn_rightRotate->setVisible(true); + ui->pbtn_prePage->setVisible(true); + ui->pbtn_nextPage->setVisible(true); HGBase_DestroyImage(image); } @@ -189,6 +205,18 @@ void Form_mainInterface::on_testCorrectInfo(QString info) m_textTips->addContent(info); } +void Form_mainInterface::on_viewerDblClick() +{ + if (m_multiIndex != -1) + { + QString strFileName = m_list_images[m_multiIndex]; + QFileInfo fileInfo(strFileName); + auto pathDir = fileInfo.path(); + QString strFilePath = "file:///" + pathDir; + QDesktopServices::openUrl(QUrl(strFilePath)); + } +} + void Form_mainInterface::on_pbtn_preStep_clicked() { int row = ui->tableWidget->currentRow(); @@ -211,22 +239,26 @@ void Form_mainInterface::on_pbtn_fail_clicked() { int row = ui->tableWidget->currentRow(); QTableWidgetItem *item = ui->tableWidget->item(row, 1); - QString title = item->text(); - Dialog_ExcepDesc dlg(this); - if (dlg.exec()) + if (item != nullptr) { - ui->tableWidget->setItem(row, 2, new QTableWidgetItem(getItemStatusStr(HGPDTTOOLDB_ENTRYSTATUS_NOTPASS))); - ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(255,0,0)); + QString title = item->text(); - QString str = dlg.getExcepDesc(); - std::string name = m_map_title_name.value(title).name.toStdString(); - HGPdtToolDb_SetDeviceEntryStatus(m_pdtToolDbDevice, name.c_str(), HGPDTTOOLDB_ENTRYSTATUS_NOTPASS); - HGPdtToolDb_SetDeviceEntryExcepDesc(m_pdtToolDbDevice, name.c_str(), str.toStdString().c_str()); + Dialog_ExcepDesc dlg(this); + if (dlg.exec()) + { + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(getItemStatusStr(HGPDTTOOLDB_ENTRYSTATUS_NOTPASS))); + ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(255,0,0)); - QTableWidgetItem *item2 = ui->tableWidget->item(row, 2); - item2->setToolTip(str); + QString str = dlg.getExcepDesc(); + std::string name = m_map_title_name.value(title).name.toStdString(); + HGPdtToolDb_SetDeviceEntryStatus(m_pdtToolDbDevice, name.c_str(), HGPDTTOOLDB_ENTRYSTATUS_NOTPASS); + HGPdtToolDb_SetDeviceEntryExcepDesc(m_pdtToolDbDevice, name.c_str(), str.toStdString().c_str()); + + QTableWidgetItem *item2 = ui->tableWidget->item(row, 2); + item2->setToolTip(str); + } } } @@ -234,39 +266,43 @@ void Form_mainInterface::on_pbtn_pass_clicked() { int row = ui->tableWidget->currentRow(); QTableWidgetItem *item = ui->tableWidget->item(row, 1); - QString title = item->text(); - std::string name = m_map_title_name.value(title).name.toStdString(); - HGPdtToolDb_SetDeviceEntryStatus(m_pdtToolDbDevice, name.c_str(), HGPDTTOOLDB_ENTRYSTATUS_PASS); - HGPdtToolDb_SetDeviceEntryExcepDesc(m_pdtToolDbDevice, name.c_str(), ""); - - ui->tableWidget->setItem(row, 2, new QTableWidgetItem(getItemStatusStr(HGPDTTOOLDB_ENTRYSTATUS_PASS))); - ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(0,255,0)); - - QTableWidgetItem *item2 = ui->tableWidget->item(row, 2); - item2->setToolTip(""); - - HGImage img = nullptr; - m_view->getImage(&img); - - if (img != nullptr) + if (item != nullptr) { - QString fileName = getCacheFileName(); - HGResult ret = HGImgFmt_SaveImage(img, 0, 0, getStdString(fileName).c_str()); - if(ret == HGBASE_ERR_OK) - { - int row = ui->tableWidget->currentRow(); - QTableWidgetItem *item = ui->tableWidget->item(row, 1); - QString title = item->text(); - std::string name = m_map_title_name.value(title).name.toStdString(); - HGPdtToolDb_ClearDeviceEntryImage(m_pdtToolDbDevice, name.c_str()); - HGPdtToolDb_UploadDeviceEntryImage(m_pdtToolDbDevice, name.c_str(), m_mainwnd->m_ftpHost.toStdString().c_str(), - m_mainwnd->m_ftpPort, fileName.toStdString().c_str()); - QFile file(fileName); - file.remove(); - } + QString title = item->text(); + std::string name = m_map_title_name.value(title).name.toStdString(); + HGPdtToolDb_SetDeviceEntryStatus(m_pdtToolDbDevice, name.c_str(), HGPDTTOOLDB_ENTRYSTATUS_PASS); + HGPdtToolDb_SetDeviceEntryExcepDesc(m_pdtToolDbDevice, name.c_str(), ""); + + ui->tableWidget->setItem(row, 2, new QTableWidgetItem(getItemStatusStr(HGPDTTOOLDB_ENTRYSTATUS_PASS))); + ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(0,255,0)); + + QTableWidgetItem *item2 = ui->tableWidget->item(row, 2); + item2->setToolTip(""); } + +// HGImage img = nullptr; +// m_view->getImage(&img); + +// if (img != nullptr) +// { +// QString fileName = getCacheFileName(); +// HGResult ret = HGImgFmt_SaveImage(img, 0, 0, getStdString(fileName).c_str()); +// if(ret == HGBASE_ERR_OK) +// { +// int row = ui->tableWidget->currentRow(); +// QTableWidgetItem *item = ui->tableWidget->item(row, 1); +// QString title = item->text(); +// std::string name = m_map_title_name.value(title).name.toStdString(); +// HGPdtToolDb_ClearDeviceEntryImage(m_pdtToolDbDevice, name.c_str()); +// HGPdtToolDb_UploadDeviceEntryImage(m_pdtToolDbDevice, name.c_str(), m_mainwnd->m_ftpHost.toStdString().c_str(), +// m_mainwnd->m_ftpPort, fileName.toStdString().c_str()); +// QFile file(fileName); +// file.remove(); +// } +// } + on_pbtn_nextStep_clicked(); } @@ -399,7 +435,7 @@ void Form_mainInterface::updateUiEnabled(bool enable) ui->pbtn_pass->setEnabled(enable); ui->pbtn_fail->setEnabled(enable); ui->pbtn_start->setEnabled(enable); - ui->pbtn_showImg->setEnabled(enable); +// ui->pbtn_showImg->setEnabled(enable); ui->pbtn_leftRotate->setEnabled(enable); ui->pbtn_rightRotate->setEnabled(enable); ui->pbtn_stop->setEnabled(enable); @@ -424,12 +460,41 @@ void Form_mainInterface::updateImgPixelInfo() ui->label_imgInfo->setText(tr("image pixel: ") + QString::number(imgWidth) + " * " + QString::number(imgHeight) + " "); } +QString Form_mainInterface::getSpeedMode(SANE_Int speedMode) +{ + const wchar_t G100[6] = { 70,80,90,110 }; + const wchar_t G200[6] = { 100,110,120,130 }; + const wchar_t G300[6] = { 40,50,60,70 }; + const wchar_t G400[6] = { 40,50,60,70,80 }; + + int speed = 0; + + if (m_devType == "G100") + speed = G100[(int)speedMode]; + else if (m_devType == "G200") + speed = G200[(int)speedMode]; + else if (m_devType == "G300") + speed = G300[(int)speedMode]; + else if (m_devType == "G400") + speed = G400[(int)speedMode]; + + return QString::number(speed) + "PPM"; +} + +QString Form_mainInterface::getSleepTime(int sleepTime) +{ + if (sleepTime > 99999 || sleepTime == -1) + return QString::number(0); + + return QString::number(sleepTime / 60) + tr(" minute"); +} + void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous) { (void)previous; if (current != nullptr) { - ui->pbtn_showImg->setVisible(false); +// ui->pbtn_showImg->setVisible(false); ui->pbtn_leftRotate->setVisible(false); ui->pbtn_rightRotate->setVisible(false); ui->pbtn_prePage->setVisible(false); @@ -461,8 +526,14 @@ void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *cur HGPdtToolDb_GetDeviceEntryImageCount(m_pdtToolDbDevice, name.c_str(), &imageCount); if (imageCount > 0) { - ui->pbtn_showImg->setVisible(true); +// ui->pbtn_showImg->setVisible(true); } + + m_multiIndex = -1; + m_list_images.clear(); + QDir dir(getCachePath()); + if (dir.exists()) + dir.removeRecursively(); } } @@ -474,19 +545,19 @@ void Form_mainInterface::on_pbtn_start_clicked() if (dir.exists()) dir.removeRecursively(); - ui->label_imgInfo->setVisible(false); - ui->label_destortionInfo->setVisible(false); - int row = ui->tableWidget->currentRow(); QTableWidgetItem *item = ui->tableWidget->item(row, 1); - QString title = item->text(); - QString name = m_map_title_name.value(title).name; - if (m_hg != nullptr) - func_test_go(name.toStdWString().c_str(), L"null", m_hg); + if (item != nullptr) + { + QString title = item->text(); + QString name = m_map_title_name.value(title).name; + if (m_hg != nullptr) + func_test_go(name.toStdWString().c_str(), L"null", m_hg); - updateUiEnabled(false); - m_isTesting = true; - m_mainwnd->addTestingRef(); + updateUiEnabled(false); + m_isTesting = true; + m_mainwnd->addTestingRef(); + } } void Form_mainInterface::on_pbtn_showImg_clicked() @@ -501,6 +572,8 @@ void Form_mainInterface::on_pbtn_showImg_clicked() m_mainwnd->m_ftpPort, 0, fileName.toStdString().c_str()); if(ret == HGBASE_ERR_OK) { + m_list_images.push_back(fileName); + ui->pbtn_leftRotate->setVisible(true); ui->pbtn_rightRotate->setVisible(true); ui->pbtn_prePage->setVisible(true); @@ -509,8 +582,7 @@ void Form_mainInterface::on_pbtn_showImg_clicked() HGImage img = nullptr; HGImgFmt_LoadImage(fileName.toStdString().c_str(), 0, 0, 0, 0, &img); m_view->addImage(img); - QFile file(fileName); - file.remove(); + m_multiIndex++; } else { diff --git a/app/HGProductionTool/form_maininterface.h b/app/HGProductionTool/form_maininterface.h index 3776c9e..4a34812 100644 --- a/app/HGProductionTool/form_maininterface.h +++ b/app/HGProductionTool/form_maininterface.h @@ -47,6 +47,8 @@ private slots: void on_testDistortion(float value); void on_testCorrectInfo(QString info); + void on_viewerDblClick(); + private slots: void on_pbtn_preStep_clicked(); @@ -79,6 +81,8 @@ private: QString getCacheFileName(); void updateUiEnabled(bool enable); void updateImgPixelInfo(); + QString getSpeedMode(SANE_Int speedMode); + QString getSleepTime(int sleepTime); private: Ui::Form_mainInterface *ui; diff --git a/app/HGProductionTool/form_maininterface.ui b/app/HGProductionTool/form_maininterface.ui index b743c46..99a030a 100644 --- a/app/HGProductionTool/form_maininterface.ui +++ b/app/HGProductionTool/form_maininterface.ui @@ -30,6 +30,20 @@ + + + + SpeedMode: + + + + + + + SleepTime: + + + diff --git a/app/HGProductionTool/mainwindow.cpp b/app/HGProductionTool/mainwindow.cpp index 05c41a7..f57ff0f 100644 --- a/app/HGProductionTool/mainwindow.cpp +++ b/app/HGProductionTool/mainwindow.cpp @@ -23,6 +23,7 @@ MainWindow::MainWindow(HGPdtToolDbUserMgr pdtToolDbuserMgr, Dialog_logIn::LogInT , m_top_splitter(nullptr) , m_bot_splitter(nullptr) , m_isLogOut(false) + , m_inputSnDlg(nullptr) { ui->setupUi(this); @@ -417,14 +418,14 @@ void MainWindow::on_sane_dev_arrive(QString devName) sane_open(devName.toStdString().c_str(), &devHandle); if (nullptr != devHandle) { - Dialog_InputSerialNum dlg(this, devHandle, getDevSn(devHandle), getDevType(devHandle)); - if (dlg.exec()) + m_inputSnDlg = new Dialog_InputSerialNum(this, devName, devHandle, getDevSn(devHandle), getDevType(devHandle)); + if (m_inputSnDlg->exec()) { HGPdtToolDbDevice pdtToolDbDevice = nullptr; - HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, dlg.GetSn().toStdString().c_str(), &pdtToolDbDevice); + HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, m_inputSnDlg->GetSn().toStdString().c_str(), &pdtToolDbDevice); Form_mainInterface *mainInterface = new Form_mainInterface(this, m_loginType, devHandle, m_pdtToolDbuserMgr, pdtToolDbDevice, - dlg.GetSn(), dlg.GetDevType(), devName, getDevFwNum(devHandle)); + m_inputSnDlg->GetSn(), m_inputSnDlg->GetDevType(), devName, getDevFwNum(devHandle)); if (!AddInterface(mainInterface)) { QMessageBox::information(this, tr("tips"), tr("cannot create more table")); @@ -435,6 +436,9 @@ void MainWindow::on_sane_dev_arrive(QString devName) { sane_close(devHandle); } + + delete m_inputSnDlg; + m_inputSnDlg = nullptr; } else { @@ -452,6 +456,11 @@ void MainWindow::on_sane_dev_remove(QString devName) } else { + if (nullptr != m_inputSnDlg) + { + m_inputSnDlg->Invalid(devName); + } + Form_mainInterface * mainInterface = FindInterfaceByDevName(devName); if (mainInterface != nullptr) { @@ -498,21 +507,24 @@ void MainWindow::on_update_userStatus() void MainWindow::on_act_newDevice_triggered() { - Dialog_InputSerialNum dlg(this, nullptr, "", ""); - if (dlg.exec()) + m_inputSnDlg = new Dialog_InputSerialNum(this, "", nullptr, "", ""); + if (m_inputSnDlg->exec()) { HGPdtToolDbDevice pdtToolDbDevice = nullptr; - HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, dlg.GetSn().toStdString().c_str(), &pdtToolDbDevice); + HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, m_inputSnDlg->GetSn().toStdString().c_str(), &pdtToolDbDevice); - Form_mainInterface *mainInterface = new Form_mainInterface(this, m_loginType, nullptr, m_pdtToolDbuserMgr, pdtToolDbDevice, dlg.GetSn(), dlg.GetDevType(), nullptr, nullptr); + Form_mainInterface *mainInterface = new Form_mainInterface(this, m_loginType, nullptr, m_pdtToolDbuserMgr, pdtToolDbDevice, + m_inputSnDlg->GetSn(), m_inputSnDlg->GetDevType(), nullptr, nullptr); if (!AddInterface(mainInterface)) { QMessageBox::information(this, tr("tips"), tr("cannot create more table")); delete mainInterface; } } -} + delete m_inputSnDlg; + m_inputSnDlg = nullptr; +} void MainWindow::on_act_manage_triggered() { Dialog_accountManage dlg(m_pdtToolDbuserMgr, this); @@ -607,14 +619,14 @@ void MainWindow::on_act_refreshDevice_triggered() sane_open(name[i].c_str(), &devHandle); if (nullptr != devHandle) { - Dialog_InputSerialNum dlg(this, devHandle, getDevSn(devHandle), getDevType(devHandle)); - if (dlg.exec()) + m_inputSnDlg = new Dialog_InputSerialNum(this, name[i].c_str(), devHandle, getDevSn(devHandle), getDevType(devHandle)); + if (m_inputSnDlg->exec()) { HGPdtToolDbDevice pdtToolDbDevice = nullptr; - HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, dlg.GetSn().toStdString().c_str(), &pdtToolDbDevice); + HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, m_inputSnDlg->GetSn().toStdString().c_str(), &pdtToolDbDevice); Form_mainInterface *mainInterface = new Form_mainInterface(this, m_loginType, devHandle, m_pdtToolDbuserMgr, pdtToolDbDevice, - dlg.GetSn(), dlg.GetDevType(), name[i].c_str(), getDevFwNum(devHandle)); + m_inputSnDlg->GetSn(), m_inputSnDlg->GetDevType(), name[i].c_str(), getDevFwNum(devHandle)); if (!AddInterface(mainInterface)) { QMessageBox::information(this, tr("tips"), tr("cannot create more table")); @@ -625,6 +637,9 @@ void MainWindow::on_act_refreshDevice_triggered() { sane_close(devHandle); } + + delete m_inputSnDlg; + m_inputSnDlg = nullptr; } } } diff --git a/app/HGProductionTool/mainwindow.h b/app/HGProductionTool/mainwindow.h index 0da4b33..fb673cf 100644 --- a/app/HGProductionTool/mainwindow.h +++ b/app/HGProductionTool/mainwindow.h @@ -84,6 +84,7 @@ private: HGLock m_lock; int m_testingRef; Dialog_logIn::LogInType m_loginType; + class Dialog_InputSerialNum *m_inputSnDlg; Form_BurnMode *m_formBurnMode;