调整界面,增加上传图片流程

This commit is contained in:
yangjiaxuan 2022-12-27 19:46:31 +08:00
parent 24ccdd1458
commit 3c69b3c4f2
11 changed files with 365 additions and 61 deletions

View File

@ -58,6 +58,7 @@ SOURCES += \
analysisjson.cpp \
dialog_accountmanage.cpp \
dialog_changepwd.cpp \
dialog_excepdesc.cpp \
dialog_inputserialnum.cpp \
dialog_login.cpp \
dialog_rootfuntion.cpp \
@ -77,6 +78,7 @@ HEADERS += \
analysisjson.h \
dialog_accountmanage.h \
dialog_changepwd.h \
dialog_excepdesc.h \
dialog_inputserialnum.h \
dialog_login.h \
dialog_rootfuntion.h \
@ -91,6 +93,7 @@ HEADERS += \
FORMS += \
dialog_accountmanage.ui \
dialog_changepwd.ui \
dialog_excepdesc.ui \
dialog_inputserialnum.ui \
dialog_login.ui \
dialog_rootfuntion.ui \

View File

@ -1,6 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>Dialog_ExcepDesc</name>
<message>
<location filename="dialog_excepdesc.ui" line="14"/>
<source>Dialog</source>
<translation></translation>
</message>
<message>
<location filename="dialog_excepdesc.ui" line="22"/>
<source>TextLabel</source>
<translation></translation>
</message>
<message>
<location filename="dialog_excepdesc.ui" line="62"/>
<source>OK</source>
<translation></translation>
</message>
<message>
<location filename="dialog_excepdesc.ui" line="69"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="dialog_excepdesc.cpp" line="9"/>
<source>input excep desc: </source>
<translation> </translation>
</message>
</context>
<context>
<name>Dialog_InputSerialNum</name>
<message>
@ -73,6 +101,39 @@
<translation></translation>
</message>
</context>
<context>
<name>Dialog_UserInput</name>
<message>
<location filename="dialog_userinput.ui" line="14"/>
<source>Dialog</source>
<translation></translation>
</message>
<message>
<location filename="dialog_userinput.ui" line="22"/>
<source>TextLabel</source>
<translation></translation>
</message>
<message>
<location filename="dialog_userinput.ui" line="46"/>
<source>YES</source>
<translation></translation>
</message>
<message>
<location filename="dialog_userinput.ui" line="53"/>
<source>NO</source>
<translation></translation>
</message>
<message>
<location filename="dialog_userinput.ui" line="80"/>
<source>OK</source>
<translation></translation>
</message>
<message>
<location filename="dialog_userinput.ui" line="87"/>
<source>Cancel</source>
<translation></translation>
</message>
</context>
<context>
<name>Dialog_accountManage</name>
<message>
@ -215,32 +276,32 @@
<translation></translation>
</message>
<message>
<location filename="dialog_login.ui" line="227"/>
<location filename="dialog_login.ui" line="233"/>
<source>account:</source>
<translation></translation>
</message>
<message>
<location filename="dialog_login.ui" line="267"/>
<location filename="dialog_login.ui" line="273"/>
<source>password:</source>
<translation></translation>
</message>
<message>
<location filename="dialog_login.ui" line="307"/>
<location filename="dialog_login.ui" line="313"/>
<source>dbHost:</source>
<translation></translation>
</message>
<message>
<location filename="dialog_login.ui" line="347"/>
<location filename="dialog_login.ui" line="353"/>
<source>dbPort:</source>
<translation></translation>
</message>
<message>
<location filename="dialog_login.ui" line="387"/>
<location filename="dialog_login.ui" line="393"/>
<source>ftpHost:</source>
<translation>FTP地址</translation>
</message>
<message>
<location filename="dialog_login.ui" line="427"/>
<location filename="dialog_login.ui" line="433"/>
<source>ftpPort:</source>
<translation>FTP端口</translation>
</message>
@ -258,37 +319,37 @@
<translation></translation>
</message>
<message>
<location filename="dialog_login.ui" line="180"/>
<location filename="dialog_login.ui" line="183"/>
<source>EXIT</source>
<translation>退</translation>
</message>
<message>
<location filename="dialog_login.cpp" line="15"/>
<location filename="dialog_login.cpp" line="19"/>
<source>Set host and port</source>
<translation>IP与端口</translation>
</message>
<message>
<location filename="dialog_login.cpp" line="16"/>
<location filename="dialog_login.cpp" line="20"/>
<source>Minimize</source>
<translation></translation>
</message>
<message>
<location filename="dialog_login.cpp" line="17"/>
<location filename="dialog_login.cpp" line="21"/>
<source>Close</source>
<translation></translation>
</message>
<message>
<location filename="dialog_login.cpp" line="19"/>
<location filename="dialog_login.cpp" line="23"/>
<source>LogIn</source>
<translation></translation>
</message>
<message>
<location filename="dialog_login.cpp" line="92"/>
<location filename="dialog_login.cpp" line="109"/>
<source>tips</source>
<translation></translation>
</message>
<message>
<location filename="dialog_login.cpp" line="92"/>
<location filename="dialog_login.cpp" line="109"/>
<source>Login failed: </source>
<translation> </translation>
</message>
@ -453,71 +514,92 @@
<source>STOP</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="115"/>
<source>SHOWIMG</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.ui" line="80"/>
<source>Next Step</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="76"/>
<location filename="form_maininterface.cpp" line="81"/>
<source>Device has connected</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="78"/>
<location filename="form_maininterface.cpp" line="83"/>
<source>Device hasnot connected</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="79"/>
<location filename="form_maininterface.cpp" line="84"/>
<source>Device type:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="79"/>
<location filename="form_maininterface.cpp" line="84"/>
<source> SerialNum:</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="79"/>
<location filename="form_maininterface.cpp" line="84"/>
<source> connect status:</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="181"/>
<location filename="form_maininterface.cpp" line="93"/>
<source>load last image which uploaded last time</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="150"/>
<location filename="form_maininterface.cpp" line="478"/>
<source>tips</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="251"/>
<source>ID</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="181"/>
<location filename="form_maininterface.cpp" line="251"/>
<source>Test items</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="181"/>
<location filename="form_maininterface.cpp" line="251"/>
<source>status</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="324"/>
<location filename="form_maininterface.cpp" line="399"/>
<source>not test</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="324"/>
<location filename="form_maininterface.cpp" line="399"/>
<source>not pass</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="324"/>
<location filename="form_maininterface.cpp" line="399"/>
<source>not support</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="324"/>
<location filename="form_maininterface.cpp" line="399"/>
<source>pass</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="478"/>
<source>no image</source>
<translation></translation>
</message>
</context>
<context>
<name>Form_textTips</name>
@ -580,7 +662,7 @@
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="330"/>
<location filename="mainwindow.cpp" line="372"/>
<source>Account login elsewhere</source>
<translation></translation>
</message>
@ -589,96 +671,114 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="333"/>
<location filename="mainwindow.cpp" line="375"/>
<source>You have been forced offline by the administrator account</source>
<translation>线</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="336"/>
<location filename="mainwindow.cpp" line="378"/>
<source>Data base error</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="276"/>
<location filename="mainwindow.cpp" line="300"/>
<location filename="mainwindow.cpp" line="316"/>
<location filename="mainwindow.cpp" line="344"/>
<location filename="mainwindow.cpp" line="361"/>
<location filename="mainwindow.cpp" line="321"/>
<location filename="mainwindow.cpp" line="342"/>
<location filename="mainwindow.cpp" line="358"/>
<location filename="mainwindow.cpp" line="386"/>
<location filename="mainwindow.cpp" line="390"/>
<location filename="mainwindow.cpp" line="403"/>
<location filename="mainwindow.cpp" line="428"/>
<location filename="mainwindow.cpp" line="432"/>
<source>tips</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="277"/>
<location filename="mainwindow.cpp" line="322"/>
<source>Are you sure to connect the new device</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="279"/>
<location filename="mainwindow.cpp" line="324"/>
<source>yes</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="280"/>
<location filename="mainwindow.cpp" line="325"/>
<source>no</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="300"/>
<location filename="mainwindow.cpp" line="361"/>
<location filename="mainwindow.cpp" line="342"/>
<location filename="mainwindow.cpp" line="403"/>
<source>cannot create more table</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="316"/>
<location filename="mainwindow.cpp" line="358"/>
<source>The device has disconnected</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="381"/>
<location filename="mainwindow.cpp" line="423"/>
<source>save</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="381"/>
<location filename="mainwindow.cpp" line="423"/>
<source>xls(*.xls)</source>
<translation>xls表格(*.xls)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="386"/>
<location filename="mainwindow.cpp" line="428"/>
<source>export succeed</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="390"/>
<location filename="mainwindow.cpp" line="432"/>
<source>export failed</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="412"/>
<location filename="mainwindow.cpp" line="454"/>
<source>Illegal user</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="416"/>
<location filename="mainwindow.cpp" line="458"/>
<source>Wrong password</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="420"/>
<location filename="mainwindow.cpp" line="462"/>
<source>Database error</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="424"/>
<location filename="mainwindow.cpp" line="466"/>
<source>connect error</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="428"/>
<location filename="mainwindow.cpp" line="470"/>
<source>Failed</source>
<translation></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="hgscanner.cpp" line="41"/>
<source>success</source>
<translation></translation>
</message>
<message>
<location filename="hgscanner.cpp" line="43"/>
<source>failed: </source>
<translation> </translation>
</message>
<message>
<location filename="hgscanner.cpp" line="49"/>
<source>Not find test item</source>
<translation></translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,30 @@
#include "dialog_excepdesc.h"
#include "ui_dialog_excepdesc.h"
Dialog_ExcepDesc::Dialog_ExcepDesc(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog_ExcepDesc)
{
ui->setupUi(this);
ui->label->setText(tr("input excep desc: "));
}
Dialog_ExcepDesc::~Dialog_ExcepDesc()
{
delete ui;
}
QString Dialog_ExcepDesc::getExcepDesc()
{
return ui->textEdit->toPlainText();
}
void Dialog_ExcepDesc::on_pbtn_ok_clicked()
{
accept();
}
void Dialog_ExcepDesc::on_pbtn_cancel_clicked()
{
reject();
}

View File

@ -0,0 +1,29 @@
#ifndef DIALOG_EXCEPDESC_H
#define DIALOG_EXCEPDESC_H
#include <QDialog>
namespace Ui {
class Dialog_ExcepDesc;
}
class Dialog_ExcepDesc : public QDialog
{
Q_OBJECT
public:
explicit Dialog_ExcepDesc(QWidget *parent = nullptr);
~Dialog_ExcepDesc();
QString getExcepDesc();
private slots:
void on_pbtn_ok_clicked();
void on_pbtn_cancel_clicked();
private:
Ui::Dialog_ExcepDesc *ui;
};
#endif // DIALOG_EXCEPDESC_H

View File

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog_ExcepDesc</class>
<widget class="QDialog" name="Dialog_ExcepDesc">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>470</width>
<height>252</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QTextEdit" name="textEdit"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pbtn_ok">
<property name="text">
<string>OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pbtn_cancel">
<property name="text">
<string>Cancel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -11,6 +11,7 @@
#include "test_base.h"
#include "hgscanner.h"
#include "mainwindow.h"
#include "dialog_excepdesc.h"
typedef struct
{
@ -89,12 +90,16 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, SANE_Handle ha
m_view = new HGImgView();
ui->stackedWidget->addWidget(m_textTips);
ui->stackedWidget->addWidget(m_view);
ui->pbtn_showImg->setToolTip(tr("load last image which uploaded last time"));
initTableWidgetUi();
HGPdtToolDb_SetDeviceType(m_pdtToolDbDevice, m_devType.toStdString().c_str());
HGPdtToolDb_SetDeviceVersion(m_pdtToolDbDevice, m_devFwNum.toStdString().c_str());
HGPdtToolDb_SetDeviceName(m_pdtToolDbDevice, m_devName.toStdString().c_str());
if(!m_devType.isEmpty())
HGPdtToolDb_SetDeviceType(m_pdtToolDbDevice, m_devType.toStdString().c_str());
if(!m_devFwNum.isEmpty())
HGPdtToolDb_SetDeviceVersion(m_pdtToolDbDevice, m_devFwNum.toStdString().c_str());
if(!m_devName.isEmpty())
HGPdtToolDb_SetDeviceName(m_pdtToolDbDevice, m_devName.toStdString().c_str());
m_hg = new hgscanner(this, m_handle);
}
@ -162,7 +167,6 @@ void Form_mainInterface::on_testResultImg(void *img)
ret = HGPdtToolDb_UploadDeviceEntryImage(m_pdtToolDbDevice, entryName, m_mainwnd->m_ftpHost.toStdString().c_str(),
m_mainwnd->m_ftpPort, fileName.toStdString().c_str());
qDebug() << ret << m_mainwnd->m_ftpHost << m_mainwnd->m_ftpPort << fileName;
QFile file(fileName);
file.remove();
}
@ -193,12 +197,21 @@ void Form_mainInterface::on_pbtn_fail_clicked()
int row = ui->tableWidget->currentRow();
QTableWidgetItem *item = ui->tableWidget->item(row, 1);
QString title = item->text();
setTestItemStatus(title, HGPDTTOOLDB_ENTRYSTATUS_NOTPASS);
ui->tableWidget->setItem(row, 2, new QTableWidgetItem(getItemStatusStr(HGPDTTOOLDB_ENTRYSTATUS_NOTPASS)));
ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
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));
ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(255,0,0));
QString str = dlg.getExcepDesc();
setTestItemStatus(title, HGPDTTOOLDB_ENTRYSTATUS_NOTPASS);
HGPdtToolDb_SetDeviceEntryExcepDesc(m_pdtToolDbDevice, getTestItem(title), str.toStdString().c_str());
QTableWidgetItem *item2 = ui->tableWidget->item(row, 2);
item2->setToolTip(str);
}
}
void Form_mainInterface::on_pbtn_pass_clicked()
@ -212,6 +225,11 @@ void Form_mainInterface::on_pbtn_pass_clicked()
ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(0,255,0));
HGPdtToolDb_SetDeviceEntryExcepDesc(m_pdtToolDbDevice, getTestItem(title), "");
QTableWidgetItem *item2 = ui->tableWidget->item(row, 2);
item2->setToolTip("");
on_pbtn_nextStep_clicked();
}
@ -309,6 +327,11 @@ void Form_mainInterface::initTableWidgetUi()
break;
}
}
HGChar desc[512] = {0};
HGPdtToolDb_GetDeviceEntryExcepDesc(m_pdtToolDbDevice, getTestItem(node.title), desc, 512);
QTableWidgetItem *item = ui->tableWidget->item(i, 2);
item->setToolTip(desc);
}
std::map<HGUInt, bool>::iterator iter;
@ -400,6 +423,7 @@ QString Form_mainInterface::getCacheFileName()
void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
{
(void)previous;
ui->pbtn_showImg->setVisible(false);
int row = current->row();
int count = ui->tableWidget->rowCount();
ui->pbtn_preStep->setEnabled(row != 0);
@ -413,6 +437,12 @@ void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *cur
m_textTips->setViewContent(m_map_title_name.value(title).desc);
ui->stackedWidget->setCurrentWidget(m_textTips);
HGUInt entryName = getTestItem(title);
if (entryName <= HGPDTTOOLDB_ENTRYNAME_MECH_PAPER_FEEDING_INCLINATION && entryName >= HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE)
{
ui->pbtn_showImg->setVisible(true);
}
}
void Form_mainInterface::on_pbtn_start_clicked()
@ -423,3 +453,27 @@ void Form_mainInterface::on_pbtn_start_clicked()
QString name = m_map_title_name.value(title).name;
int ret = func_test_go(name.toStdWString().c_str(), L"null", m_hg);
}
void Form_mainInterface::on_pbtn_showImg_clicked()
{
QString fileName = getCacheFileName();
int row = ui->tableWidget->currentRow();
QTableWidgetItem *item = ui->tableWidget->item(row, 1);
QString title = item->text();
HGResult ret = HGPdtToolDb_DownloadDeviceEntryImage(m_pdtToolDbDevice, getTestItem(title), m_mainwnd->m_ftpHost.toStdString().c_str(),
m_mainwnd->m_ftpPort, fileName.toStdString().c_str());
if(ret == HGBASE_ERR_OK)
{
ui->stackedWidget->setCurrentWidget(m_view);
HGImage img;
HGImgFmt_LoadImage(fileName.toStdString().c_str(), 0, 0, 0, 0, &img);
m_view->addImage(img);
QFile file(fileName);
file.remove();
}
else
{
QMessageBox::information(this, tr("tips"), tr("no image"));
}
}

View File

@ -55,6 +55,8 @@ private slots:
void on_pbtn_start_clicked();
void on_pbtn_showImg_clicked();
private:
void initTableWidgetUi();
HGUInt getTestItem(const QString &title);

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>607</width>
<height>429</height>
<width>691</width>
<height>401</height>
</rect>
</property>
<property name="windowTitle">
@ -109,6 +109,13 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pbtn_showImg">
<property name="text">
<string>SHOWIMG</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">

View File

@ -7,6 +7,7 @@ hgscanner::hgscanner(Form_mainInterface *form, SANE_Handle h)
: m_interface(form)
, devHandle_(h)
{
cb_ = nullptr;
}
hgscanner::~hgscanner()

View File

@ -242,8 +242,7 @@ int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigne
emit p->sane_dev_remove(sane_dev->name);
}
if (code == SANE_EVENT_STATUS || code == SANE_EVENT_ERROR || code == SANE_EVENT_WORKING
|| code == SANE_EVENT_IMAGE_OK || code == SANE_EVENT_SCAN_FINISHED)
if (code == SANE_EVENT_IMAGE_OK || code == SANE_EVENT_SCAN_FINISHED)
{
HGBase_EnterLock(p->m_lock);
Form_mainInterface* interface = p->FindInterface(hdev);