From 6c541cb02aec7ddcf7178ebb3d55f7280d17fcfc Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Fri, 6 Jan 2023 09:35:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=8F=96=E6=B6=88=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E5=9B=BE=E7=89=87=EF=BC=8C=E5=8F=8C=E5=87=BB=E6=89=93=E5=BC=80?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/HGProductionTool/ProductionTool_zh_CN.ts | 40 +++++------ app/HGProductionTool/form_maininterface.cpp | 74 +++++++++++++------- app/HGProductionTool/form_maininterface.h | 2 + 3 files changed, 69 insertions(+), 47 deletions(-) diff --git a/app/HGProductionTool/ProductionTool_zh_CN.ts b/app/HGProductionTool/ProductionTool_zh_CN.ts index 4585953..92afcff 100644 --- a/app/HGProductionTool/ProductionTool_zh_CN.ts +++ b/app/HGProductionTool/ProductionTool_zh_CN.ts @@ -709,49 +709,49 @@ 下一步 - + Device has connected 设备已连接 - + Device hasnot connected 设备未连接 - + Device type: 设备型号: - + SerialNum: 序列号: - - + + connect status: 设备连接状态: - + load last image which uploaded last time 加载上一次上传的图片 - + Device has disconnected 设备已断开 - - + + tips 提示 - + destortion value: 畸变修正值: @@ -764,47 +764,47 @@ 取消 - + ID 序号 - + Test items 测试项 - + status 测试状态 - + not test 未测试 - + not pass 不通过 - + not support 不支持 - + pass 通过 - + image pixel: 图像像素: - + no image 无图 diff --git a/app/HGProductionTool/form_maininterface.cpp b/app/HGProductionTool/form_maininterface.cpp index 24defd4..4e37ef2 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); @@ -66,6 +68,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 +169,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 +195,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(); @@ -246,26 +264,26 @@ void Form_mainInterface::on_pbtn_pass_clicked() QTableWidgetItem *item2 = ui->tableWidget->item(row, 2); item2->setToolTip(""); - HGImage img = nullptr; - m_view->getImage(&img); +// 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(); - } - } +// 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 +417,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); @@ -429,7 +447,7 @@ void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *cur (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,9 +479,13 @@ 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); } } + else + { + updateUiEnabled(false); + } } void Form_mainInterface::on_pbtn_start_clicked() @@ -474,9 +496,6 @@ 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(); @@ -501,6 +520,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 +530,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..22fc8e5 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(); From 37930f6c82bdd63834616e0144bd52ba49a9c26a Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Fri, 6 Jan 2023 09:47:28 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E9=A1=B9=E5=88=A0=E9=99=A4=E6=9C=AC=E5=9C=B0=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/HGProductionTool/form_maininterface.cpp | 77 ++++++++++++--------- 1 file changed, 45 insertions(+), 32 deletions(-) diff --git a/app/HGProductionTool/form_maininterface.cpp b/app/HGProductionTool/form_maininterface.cpp index 4e37ef2..b335806 100644 --- a/app/HGProductionTool/form_maininterface.cpp +++ b/app/HGProductionTool/form_maininterface.cpp @@ -229,22 +229,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); + } } } @@ -252,17 +256,21 @@ 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(), ""); + if (item != nullptr) + { + 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)); + 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(""); + } - QTableWidgetItem *item2 = ui->tableWidget->item(row, 2); - item2->setToolTip(""); // HGImage img = nullptr; // m_view->getImage(&img); @@ -481,10 +489,12 @@ void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *cur { // ui->pbtn_showImg->setVisible(true); } - } - else - { - updateUiEnabled(false); + + m_multiIndex = -1; + m_list_images.clear(); + QDir dir(getCachePath()); + if (dir.exists()) + dir.removeRecursively(); } } @@ -498,14 +508,17 @@ void Form_mainInterface::on_pbtn_start_clicked() 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() From dc4846e9987174734e1f083c3d9bb68c02722b67 Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Fri, 6 Jan 2023 13:39:49 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8F=B7=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/HGProductionTool/ProductionTool_zh_CN.qm | Bin 11418 -> 11773 bytes app/HGProductionTool/ProductionTool_zh_CN.ts | 187 +++++++++++------- .../dialog_inputserialnum.cpp | 41 +++- app/HGProductionTool/dialog_inputserialnum.h | 8 +- app/HGProductionTool/dialog_inputserialnum.ui | 15 +- app/HGProductionTool/form_burnmode.cpp | 82 ++++---- app/HGProductionTool/form_burnmode.h | 2 +- app/HGProductionTool/form_burnmode.ui | 24 --- app/HGProductionTool/form_maininterface.cpp | 39 ++++ app/HGProductionTool/form_maininterface.h | 2 + app/HGProductionTool/form_maininterface.ui | 14 ++ app/HGProductionTool/mainwindow.cpp | 41 ++-- app/HGProductionTool/mainwindow.h | 1 + 13 files changed, 301 insertions(+), 155 deletions(-) diff --git a/app/HGProductionTool/ProductionTool_zh_CN.qm b/app/HGProductionTool/ProductionTool_zh_CN.qm index 6536b2f556af17008d5fd134be192c86054d4dcb..401c2e4388be889c779ad0548a88085739207564 100644 GIT binary patch delta 1876 zcmZXT2~1OW9LImJeMjGWZC?)x2(&yZhp3ydi8|-C7+mI}LV+P37>9@cp3mR3V=rai8vVq?634kV%FnAx(I}-pX7ol+%(7OWX zZG^_t$R2>O`#?7Y>^~D4p8~x*aDGG>G!p1NedyN@^x0}GSoe%x2p>ia@&GW?Rscj; zf%$j}W?BW@Ld;Zt54gGxfY>hJc4IZBIl%3AW4D?KnZF4+7ol)~P(u^yM-rMg5{7yR z<(2@w==dJ+Y$bsB7HC%=0~itq)5mPWOtT4tFG0$*WB^G4X>*?dXiH%BY7Zuu3E6iT zfJh5ecI08Zt&}Ta6`q$-Ws4pH1Z7c6f{y^it)zZQrvZkJrTTB~#}SRD`k$oZxrZ7k z@D}04t%`a*CNRXQXn%DbUhGqxnVEw23yQwW1^}x~nP=GyptdPj`+o(n6e`c1!dZs3 zD9^hK@%?YgYbj{w`{^<5`2dCrx_rP65d9Bb_s;i#KSGKoq^}XO5pb86&h%yXA?4IY#e zHn9x#pRup^V8zi6HtAa@*7-hLSb7^r(99M#-ND_7V#`!luwx1Ao-Q0|$N<|~+6@ph zmhGL8j`|T^j!F%})?ek`Sa=MDz1);}IKv?axa8~0u!1#QVRtT;JkE6=eH-ofxj!G*;?DG_6bDcqcU(2O2K7;r>cRS@0HIU);`7)6>m%N` z0uv9f`lWnB8&c}#f2_crU=Hy&GBVKd5B#kH?1+>oL~5}DlSN2q zYQ_rsg*mB7Sh-FpEy7*UDTO7D0LKc;FQQ|9x=`PNfub^ny_QF4e@tk&EgaPKVTT5U z&cpHe$*Yot(=v~lm_>cxN?fYN;w)z)URWfipT$5@k(gN;IPVZYe>@(y{;pWxqsCSq z78@@qv15D1j*6R@=qj ze)Wj2qrnTICUxoqd=a!uy&xwLphdmjf)~`C>dhxScyXb+--HgshN~auZo<}G*Nkby z3V4lX&fLXVVT&ebYc!s}&=j1+d!gGj>;Iy$Q+G8_mnCB$r`G<=-v&a%A#L^IAS|Fj zqUzeSFu*lQOijnH;JRczRg0szBH8gXhwwwv+JHl4qx7luLo`$qvYmudqtxoEzMJEuFDJ_E@3ov!T7<#CFTx6GfuQLa)7NUTmfpJh__WP~<{C^mR*(Cq~ delta 1704 zcmZvbdr(wW9LImVdmnr6-6ybsAnXdP`AB6-DNWNE#WEY@<=`tDU6&O_U|hgaYZkN= zLBd*e$U&S5(*z$R=47PitR!kdIcScoTE>V{Ih2-Qp5OQU&i8jt z|NQN9w}km>h`3Io@aGt#wh{4TF!C{8Afm;L+F^{`R7M_o>VLU~(K?+-oJAz9Wi+=l zI#&^;@4@#DqB&7SgA0gWt4GeSM7{uq)Wtq5DU3r$5?A{UkzoX*?IYrLB@$^07(?oa z`%s<#!;o{B2Z^F45Vu>6f5jMbpSV5h{2^nglem4|(A`Je#Y!AldQ2ZhEoTAy5#pz> zCyI6xziA38Z6|RlDz(RxSkp@6tR-ry10)G0uyO*ulC%{SW-;0>Q|k0&BIBQwF@FH`(3}m0C~P||yvq~C{6rFH}iYes2$1~M_#2Dh@+O&s>9Di`%O?rw*yOWpp?t)_qA6k7CoXFRD>WCr^@kc(> z!tt5>nWx91V2Ss2D6lBuCVx$K;ztbsAbB+e<}h-3!tlkgG$c-VW>OInT*9+KoH#y7 z824!|?!Yp^lYa-+mkOT7yWnl1NdF^R)GzGoKr179g_HT6(C0)=S{NK0CXQeF1srV@ zlYc3NlbJrzQ(OWETEub>dKg_THdF*~>C(m1;|g)vTEx!dFF|mEc==H^?#2bZ_G2s` zTBV;{h4uEJ{{H4Si6W;-E4pyvA*Ut(dK4NJkZOYkSl1%$J}DDfilyBF(Db$R5;rD2Q(+j>#jjq zKUJ=8#YT<<`9SPL#D8bB{wyD|bi;`w^4X)q@$N^<=N%H9?NzMZZ^402lv%kASieNc zyoh~#CYO?xuLj;%>VpPYwoYmIK?jT0DuGK0c&CSy)-`=_rcF89h+c}{Drb)&F>bta z{pe)$_FV&AEl11x3_>Fcj;}UIogd%;C5DmvkslduNV|`CXq{nmEY>LjLyrylgH{+G zEZ#~!icT~p1yHeGFwUF55+~YdT(kp;`f6i#8xkUS8aMZHaOSr0uhL`)k2kp=3vFVw zHkm3{hM~~c%}QD(p79NHMDEnfApMB=y`MUJh|@wi24r>j`Z)0 oNpx6L1y#3Z^}p&8GSuDGh0Pr?FKYZ2huD1H-mYs7Pw0{U204?y*#H0l diff --git a/app/HGProductionTool/ProductionTool_zh_CN.ts b/app/HGProductionTool/ProductionTool_zh_CN.ts index 92afcff..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,57 +672,67 @@ - + + SpeedMode: + 速度模式: + + + + SleepTime: + 休眠时间: + + + Privious Step 上一步 - + PASS 通过 - + FAIL 不通过 - + START 开始测试 - + PrePage 上一张 - + NextPage 下一张 - + LeftRotate 左旋转 - + RightRotate 右旋转 - + STOP 关闭 - + SHOWIMG 加载图片 - + Next Step 下一步 @@ -730,28 +758,38 @@ - + 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 b335806..8207e31 100644 --- a/app/HGProductionTool/form_maininterface.cpp +++ b/app/HGProductionTool/form_maininterface.cpp @@ -56,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); @@ -450,6 +460,35 @@ 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; diff --git a/app/HGProductionTool/form_maininterface.h b/app/HGProductionTool/form_maininterface.h index 22fc8e5..4a34812 100644 --- a/app/HGProductionTool/form_maininterface.h +++ b/app/HGProductionTool/form_maininterface.h @@ -81,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;