增加显示固件号,历史扫描张数

This commit is contained in:
yangjiaxuan 2023-03-06 15:26:24 +08:00
parent 04944e508e
commit 53d1853a08
10 changed files with 152 additions and 98 deletions

View File

@ -683,111 +683,102 @@
<source>Form</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="22"/>
<source>SN:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="29"/>
<source>devStatus</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="36"/>
<source>SpeedMode:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="43"/>
<location filename="form_maininterface.ui" line="36"/>
<source>SleepTime:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="50"/>
<location filename="form_maininterface.ui" line="43"/>
<source>VidPid:</source>
<translation>VIDPID:</translation>
</message>
<message>
<location filename="form_maininterface.ui" line="108"/>
<location filename="form_maininterface.ui" line="101"/>
<source>Privious Step</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="122"/>
<location filename="form_maininterface.ui" line="115"/>
<source>PASS</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="129"/>
<location filename="form_maininterface.ui" line="122"/>
<source>FAIL</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="136"/>
<location filename="form_maininterface.ui" line="129"/>
<source>START</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="150"/>
<location filename="form_maininterface.ui" line="143"/>
<source>PrePage</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="157"/>
<location filename="form_maininterface.ui" line="150"/>
<source>NextPage</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="164"/>
<location filename="form_maininterface.ui" line="157"/>
<source>LeftRotate</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="171"/>
<location filename="form_maininterface.ui" line="164"/>
<source>RightRotate</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="70"/>
<location filename="form_maininterface.ui" line="63"/>
<source>STOP</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="143"/>
<location filename="form_maininterface.ui" line="22"/>
<source>DevInfo:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="136"/>
<source>SHOWIMG</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="115"/>
<location filename="form_maininterface.ui" line="108"/>
<source>Next Step</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="61"/>
<source>Device has connected</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="65"/>
<source>Device hasnot connected</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="66"/>
<location filename="form_maininterface.cpp" line="64"/>
<source>Device type:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="66"/>
<location filename="form_maininterface.cpp" line="64"/>
<source> SerialNum:</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="67"/>
<location filename="form_maininterface.cpp" line="147"/>
<source> connect status:</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<source> speed mode: </source>
@ -798,23 +789,23 @@
<translation type="vanished"> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="85"/>
<location filename="form_maininterface.cpp" line="82"/>
<source>load last image which uploaded last time</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="146"/>
<source>Device has disconnected</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="163"/>
<location filename="form_maininterface.cpp" line="158"/>
<source>tips</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="205"/>
<location filename="form_maininterface.cpp" line="215"/>
<location filename="form_maininterface.cpp" line="201"/>
<location filename="form_maininterface.cpp" line="211"/>
<location filename="form_maininterface.cpp" line="221"/>
<source>destortion value: </source>
<translation> </translation>
</message>
@ -827,85 +818,90 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="69"/>
<location filename="form_maininterface.cpp" line="66"/>
<source> speed mode:</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="70"/>
<location filename="form_maininterface.cpp" line="67"/>
<source> sleep time:</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="246"/>
<location filename="form_maininterface.cpp" line="252"/>
<source>please verify the configuration of the device:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="247"/>
<location filename="form_maininterface.cpp" line="253"/>
<source>vid:%1
</source>
<translation>vid:%1
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="248"/>
<location filename="form_maininterface.cpp" line="254"/>
<source>pid:%1
</source>
<translation>pid:%1
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="249"/>
<location filename="form_maininterface.cpp" line="255"/>
<source>sleep time:%1minute
</source>
<translation>%1
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="250"/>
<location filename="form_maininterface.cpp" line="256"/>
<source>speed mode:%1PPM
</source>
<translation>%1PPM
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="251"/>
<source>device serial number:%1</source>
<translation>%1</translation>
<location filename="form_maininterface.cpp" line="684"/>
<location filename="form_maininterface.cpp" line="744"/>
<source>device history scan count:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="371"/>
<source>device serial number:%1</source>
<translation type="vanished">%1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="390"/>
<source>ID</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="371"/>
<location filename="form_maininterface.cpp" line="390"/>
<source>Test items</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="371"/>
<location filename="form_maininterface.cpp" line="390"/>
<source>status</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="453"/>
<location filename="form_maininterface.cpp" line="472"/>
<source>not test</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="453"/>
<location filename="form_maininterface.cpp" line="472"/>
<source>not pass</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="453"/>
<location filename="form_maininterface.cpp" line="472"/>
<source>not support</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="453"/>
<location filename="form_maininterface.cpp" line="472"/>
<source>pass</source>
<translation></translation>
</message>
@ -931,29 +927,46 @@
<translation type="vanished">Pid</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="648"/>
<location filename="form_maininterface.cpp" line="697"/>
<location filename="form_maininterface.cpp" line="678"/>
<location filename="form_maininterface.cpp" line="738"/>
<source>device roller count:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="201"/>
<location filename="form_maininterface.cpp" line="519"/>
<location filename="form_maininterface.cpp" line="196"/>
<location filename="form_maininterface.cpp" line="538"/>
<source>image pixel: </source>
<translation>标准圆: * : </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="556"/>
<location filename="form_maininterface.cpp" line="64"/>
<source>FirmwareNum:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="257"/>
<source>device serial number:%1
</source>
<translation>%1
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="258"/>
<source>device firmware number:%1</source>
<translation>%1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="575"/>
<source> minute</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="72"/>
<location filename="form_maininterface.cpp" line="69"/>
<source> VID:</source>
<translation> VID</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="72"/>
<location filename="form_maininterface.cpp" line="69"/>
<source> PID:</source>
<translation> PID</translation>
</message>
@ -1169,19 +1182,19 @@
<context>
<name>QObject</name>
<message>
<location filename="hgscanner.cpp" line="120"/>
<location filename="hgscanner.cpp" line="125"/>
<source>success: </source>
<oldsource>success</oldsource>
<translation>: </translation>
</message>
<message>
<location filename="hgscanner.cpp" line="86"/>
<location filename="hgscanner.cpp" line="122"/>
<location filename="hgscanner.cpp" line="91"/>
<location filename="hgscanner.cpp" line="127"/>
<source>failed: </source>
<translation> </translation>
</message>
<message>
<location filename="hgscanner.cpp" line="70"/>
<location filename="hgscanner.cpp" line="75"/>
<source>Not find test item</source>
<translation></translation>
</message>

View File

@ -39,7 +39,8 @@ std::vector<AnalysisJson::json_node> AnalysisJson::GetNode()
obj[key].toObject()["err-level"].toInt(),
obj[key].toObject()["desc"].toString(),
obj[key].toObject()["station"].toString(),
obj[key].toObject()["resolution"].toInt()});
obj[key].toObject()["resolution"].toInt(),
obj[key].toObject()["correct-value"].toInt()});
}
return nodes;
}

View File

@ -15,6 +15,7 @@ public:
QString desc;
QString station;
int resolution;
int correct_value;
};
struct json_global{

View File

@ -54,18 +54,14 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, Dialog_logIn::
connect(this, SIGNAL(testResultImg(void*)), this, SLOT(on_testResultImg(void*)), Qt::QueuedConnection);
connect(this, &Form_mainInterface::testDistortion, this, &Form_mainInterface::on_testDistortion);
connect(this, SIGNAL(testCorrectInfo(QString)), this, SLOT(on_testCorrectInfo(QString)), Qt::QueuedConnection);
connect(this, SIGNAL(testGetDevCfgInfo(int,int,int,int,QString)), this, SLOT(on_testGetDevCfgInfo(int,int,int,int,QString)), Qt::QueuedConnection);
connect(this, SIGNAL(testGetDevCfgInfo(int,int,int,int,QString,QString)), this, SLOT(on_testGetDevCfgInfo(int,int,int,int,QString,QString)), Qt::QueuedConnection);
connect(this, SIGNAL(testOpenCacheFile(QString)), this, SLOT(on_testOpenCacheFile(QString)), Qt::QueuedConnection);
QString str;
if (m_handle)
{
str = tr("Device has connected");
m_hg = new hgscanner(this, nullptr, nullptr, m_handle);
}
else
str = tr("Device hasnot connected");
ui->label_sn->setText(tr("Device type:") + m_devType + tr(" SerialNum:") + m_serialNum);
ui->label_devStatus->setText(tr(" connect status:") + str);
ui->label_devInfo->setText(tr("Device type:") + m_devType + tr(" SerialNum:") + m_serialNum + " " + tr("FirmwareNum:") + m_devFwNum);
ui->label_speedMode->setText(tr(" speed mode:") + getSpeedMode());
ui->label_sleepTime->setText(tr(" sleep time:") + getSleepTime());
@ -144,8 +140,6 @@ hgscanner *Form_mainInterface::getScanner()
void Form_mainInterface::setDevDisconnect()
{
QString str = tr("Device has disconnected");
ui->label_devStatus->setText(tr(" connect status:") + str);
m_disconnect = true;
}
@ -249,7 +243,7 @@ void Form_mainInterface::on_testCorrectInfo(QString info)
m_textTips->addContent(info);
}
void Form_mainInterface::on_testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn)
void Form_mainInterface::on_testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn, QString devFw)
{
char buf[10];
sprintf(buf, "%x", vid);
@ -260,17 +254,30 @@ void Form_mainInterface::on_testGetDevCfgInfo(int vid, int pid, int sleepTime, i
str.append(tr("pid:%1\n\t").arg(QString::fromStdString(buf2)));
str.append(tr("sleep time:%1minute\n\t").arg(QString::number(sleepTime)));
str.append(tr("speed mode:%1PPM\n\t").arg(QString::number(speedMode)));
str.append(tr("device serial number:%1").arg(devSn));
str.append(tr("device serial number:%1\n\t").arg(devSn));
str.append(tr("device firmware number:%1").arg(devFw));
m_textTips->setViewContent(str);
}
void Form_mainInterface::on_testOpenCacheFile(QString name)
{
if (name == HGPDTTOOLDB_NAME_IMAGE_GRAY_QUALITY && m_curDpi == 600)
{
if (m_view != nullptr)
{
m_view->doubleClicked();
}
}
}
void Form_mainInterface::on_viewerDblClick()
{
if (m_multiIndex != -1)
{
QString strFileName = m_list_images[m_multiIndex];
QFileInfo fileInfo(strFileName);
// QString strFileName = m_list_images[m_multiIndex];
QString cacheFilePath = getCachePath();
QFileInfo fileInfo(cacheFilePath);
auto pathDir = fileInfo.path();
QString strFilePath = "file:///" + pathDir;
QDesktopServices::openUrl(QUrl(strFilePath));
@ -607,6 +614,17 @@ int Form_mainInterface::getRollerNum()
return -1;
}
int Form_mainInterface::getHistoryCount()
{
SANE_Int historyCount = 0;
unsigned int historyCountSize = sizeof(SANE_Int);
SANE_Status ret = sane_io_control(m_handle, IO_CTRL_CODE_GET_HISTORY_SCAN_NUM, &historyCount, &historyCountSize);
if (ret == SANE_STATUS_GOOD)
return historyCount >= 0 ? historyCount : -1;
else
return -1;
}
void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
{
(void)previous;
@ -640,9 +658,9 @@ void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *cur
ui->stackedWidget->setCurrentWidget(m_textTips);
m_view->clearImage();
std::string name = m_map_title_name.value(title).name.toStdString();
QString name = m_map_title_name.value(title).name;
HGUInt imageCount = 0;
HGPdtToolDb_GetDeviceEntryImageCount(m_pdtToolDbDevice, name.c_str(), &imageCount);
HGPdtToolDb_GetDeviceEntryImageCount(m_pdtToolDbDevice, name.toStdString().c_str(), &imageCount);
if (imageCount > 0)
{
// ui->pbtn_showImg->setVisible(true);
@ -655,11 +673,17 @@ void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *cur
// if (dir.exists())
// dir.removeRecursively();
if (name == "CLEAR_ROLLER_COUNT")
if (name.toStdWString() == HGPDTTOOLDB_NAME_CLEAR_ROLLER_COUNT)
{
QString str(tr("device roller count:") + QString::number(getRollerNum()));
m_textTips->setViewContent(str);
}
if (name.toStdWString() == HGPDTTOOLDB_NAME_CLEAR_HISTORY_COUNT)
{
QString str(tr("device history scan count:") + QString::number(getHistoryCount()));
m_textTips->setViewContent(str);
}
}
}
@ -684,6 +708,7 @@ void Form_mainInterface::on_pbtn_start_clicked()
{
QString title = item->text();
QString name = m_map_title_name.value(title).name;
int correct_value = m_map_title_name.value(title).correct_value;
int dpi = m_map_title_name.value(title).resolution;
wchar_t buf[5] = {0};
if (dpi > 0)
@ -691,6 +716,10 @@ void Form_mainInterface::on_pbtn_start_clicked()
m_curDpi = dpi;
swprintf(buf, L"%d", dpi);
}
else if (correct_value > -1 && correct_value < 7)
{
swprintf(buf, L"%d", correct_value);
}
if (m_hg != nullptr)
{
@ -698,17 +727,23 @@ void Form_mainInterface::on_pbtn_start_clicked()
m_isTesting = true;
m_mainwnd->addTestingRef();
if (buf != nullptr && dpi > 0)
if (buf != nullptr && (dpi > 0 || (correct_value > -1 && correct_value < 7)))
func_test_go(name.toStdWString().c_str(), (const wchar_t*)buf, m_hg);
else
func_test_go(name.toStdWString().c_str(), L"null", m_hg);
}
if (name == "CLEAR_ROLLER_COUNT")
if (name == HGPDTTOOLDB_NAME_CLEAR_ROLLER_COUNT)
{
QString str(tr("device roller count:") + QString::number(getRollerNum()));
m_textTips->setViewContent(str);
}
if (name == HGPDTTOOLDB_NAME_CLEAR_HISTORY_COUNT)
{
QString str(tr("device history scan count:") + QString::number(getHistoryCount()));
m_textTips->setViewContent(str);
}
}
}

View File

@ -40,14 +40,16 @@ signals:
void testResultImg(void* img);
void testDistortion(SANE_DISTORTION_VAL data);
void testCorrectInfo(QString info);
void testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn);
void testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn, QString devFw);
void testOpenCacheFile(QString name);
private slots:
void on_testResult(QString text);
void on_testResultImg(void* img);
void on_testDistortion(SANE_DISTORTION_VAL data);
void on_testCorrectInfo(QString info);
void on_testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn);
void on_testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn, QString devFw);
void on_testOpenCacheFile(QString name);
void on_viewerDblClick();
@ -89,6 +91,7 @@ private:
QString getDevVid();
QString getDevPid();
int getRollerNum();
int getHistoryCount();
private:
union VIDPID

View File

@ -17,16 +17,9 @@
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_sn">
<widget class="QLabel" name="label_devInfo">
<property name="text">
<string>SN:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_devStatus">
<property name="text">
<string>devStatus</string>
<string>DevInfo:</string>
</property>
</widget>
</item>

View File

@ -15,6 +15,7 @@ hgscanner::hgscanner(Form_mainInterface *form, Form_BurnMode *burnMode, Dialog_I
, m_sleepTime(0)
, m_speedMode(0)
, m_devSn("")
, m_devFw("")
{
cb_ = nullptr;
}
@ -60,6 +61,10 @@ void hgscanner::test_callback(const wchar_t* name, test_event ev, void* data, si
{
m_devSn = QString::fromStdWString((const wchar_t*)data);
}
else if (ev == TEST_EVEB_GET_DEVICE_CONFIG_FW)
{
m_devFw = QString::fromStdWString((const wchar_t*)data);
}
if (ev == TEST_EVENT_TIPS)
{
@ -110,7 +115,7 @@ void hgscanner::test_callback(const wchar_t* name, test_event ev, void* data, si
{
if (m_interface != nullptr)
{
emit m_interface->testGetDevCfgInfo((int)m_vidPid.VID, (int)m_vidPid.PID, m_sleepTime, m_speedMode, m_devSn);
emit m_interface->testGetDevCfgInfo((int)m_vidPid.VID, (int)m_vidPid.PID, m_sleepTime, m_speedMode, m_devSn, m_devFw);
}
}
@ -125,6 +130,7 @@ void hgscanner::test_callback(const wchar_t* name, test_event ev, void* data, si
if (m_interface != nullptr)
{
emit m_interface->testResult(info);
emit m_interface->testOpenCacheFile(QString::fromStdWString(name));
}
else if (m_burnMode != nullptr)
{

View File

@ -45,5 +45,6 @@ private:
int m_sleepTime;
int m_speedMode;
QString m_devSn;
QString m_devFw;
};

View File

@ -550,6 +550,7 @@ public:
test_map_[HGPDTTOOLDB_NAME_PAPER_SEPARATION_STRENGTH] = &test::test_paper_separation_strength;
test_map_[HGPDTTOOLDB_NAME_MECH_PAPER_FEEDING_INCLINATION] = &test::test_mech_paper_feeding_inclination;
test_map_[HGPDTTOOLDB_NAME_CLEAR_ROLLER_COUNT] = &test::test_clear_roller_count;
test_map_[HGPDTTOOLDB_NAME_CLEAR_HISTORY_COUNT] = &test::test_clear_history_count;
test_map_[HGPDTTOOLDB_NAME_COVER_SENSOR] = &test::test_single_page_test;
test_map_[HGPDTTOOLDB_NAME_SINGLE_PAGE_TEST] = &test::test_single_page_test;
@ -1173,7 +1174,7 @@ public:
else
{
type = false;
info = L"清除历史计数成功";
info = L"清除历史计数失败";
}
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT, (void*)info, type);