Merge branch 'master' of http://192.168.100.140:8099/sane/code_production
This commit is contained in:
commit
ef876fd539
|
@ -62,6 +62,7 @@ SOURCES += \
|
||||||
dialog_login.cpp \
|
dialog_login.cpp \
|
||||||
dialog_rootfuntion.cpp \
|
dialog_rootfuntion.cpp \
|
||||||
dialog_uploadcfgfile.cpp \
|
dialog_uploadcfgfile.cpp \
|
||||||
|
dialog_userinput.cpp \
|
||||||
form_maininterface.cpp \
|
form_maininterface.cpp \
|
||||||
form_texttips.cpp \
|
form_texttips.cpp \
|
||||||
hgscanner.cpp \
|
hgscanner.cpp \
|
||||||
|
@ -80,6 +81,7 @@ HEADERS += \
|
||||||
dialog_login.h \
|
dialog_login.h \
|
||||||
dialog_rootfuntion.h \
|
dialog_rootfuntion.h \
|
||||||
dialog_uploadcfgfile.h \
|
dialog_uploadcfgfile.h \
|
||||||
|
dialog_userinput.h \
|
||||||
form_maininterface.h \
|
form_maininterface.h \
|
||||||
form_texttips.h \
|
form_texttips.h \
|
||||||
hgscanner.h \
|
hgscanner.h \
|
||||||
|
@ -93,6 +95,7 @@ FORMS += \
|
||||||
dialog_login.ui \
|
dialog_login.ui \
|
||||||
dialog_rootfuntion.ui \
|
dialog_rootfuntion.ui \
|
||||||
dialog_uploadcfgfile.ui \
|
dialog_uploadcfgfile.ui \
|
||||||
|
dialog_userinput.ui \
|
||||||
form_maininterface.ui \
|
form_maininterface.ui \
|
||||||
form_texttips.ui \
|
form_texttips.ui \
|
||||||
mainwindow.ui
|
mainwindow.ui
|
||||||
|
|
|
@ -29,7 +29,7 @@ Dialog_logIn::Dialog_logIn(QWidget *parent) :
|
||||||
ui->lineEdit_dbHost->setText("192.168.1.70");
|
ui->lineEdit_dbHost->setText("192.168.1.70");
|
||||||
ui->lineEdit_dbPort->setText("3306");
|
ui->lineEdit_dbPort->setText("3306");
|
||||||
ui->lineEdit_ftpHost->setText("192.168.1.70");
|
ui->lineEdit_ftpHost->setText("192.168.1.70");
|
||||||
ui->lineEdit_ftpPort->setText("3306");
|
ui->lineEdit_ftpPort->setText("21");
|
||||||
|
|
||||||
ui->label_dbHost->setVisible(false);
|
ui->label_dbHost->setVisible(false);
|
||||||
ui->label_dbPort->setVisible(false);
|
ui->label_dbPort->setVisible(false);
|
||||||
|
@ -52,6 +52,16 @@ HGPdtToolDbUserMgr Dialog_logIn::GetUserMgr()
|
||||||
return m_pdtToolDbuserMgr;
|
return m_pdtToolDbuserMgr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Dialog_logIn::GetFtpHost()
|
||||||
|
{
|
||||||
|
return ui->lineEdit_ftpHost->text();
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned short Dialog_logIn::GetFtpPort()
|
||||||
|
{
|
||||||
|
return ui->lineEdit_ftpPort->text().toUShort();
|
||||||
|
}
|
||||||
|
|
||||||
void Dialog_logIn::mousePressEvent(QMouseEvent *event)
|
void Dialog_logIn::mousePressEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
if(event->button()==Qt::LeftButton)
|
if(event->button()==Qt::LeftButton)
|
||||||
|
|
|
@ -17,6 +17,8 @@ public:
|
||||||
~Dialog_logIn();
|
~Dialog_logIn();
|
||||||
|
|
||||||
HGPdtToolDbUserMgr GetUserMgr();
|
HGPdtToolDbUserMgr GetUserMgr();
|
||||||
|
QString GetFtpHost();
|
||||||
|
unsigned short GetFtpPort();
|
||||||
|
|
||||||
void mousePressEvent(QMouseEvent *event);
|
void mousePressEvent(QMouseEvent *event);
|
||||||
void mouseMoveEvent(QMouseEvent *event);
|
void mouseMoveEvent(QMouseEvent *event);
|
||||||
|
|
|
@ -169,6 +169,9 @@ QPushButton#pbtn_close::hover
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>LOG IN</string>
|
<string>LOG IN</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="autoDefault">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
<property name="default">
|
<property name="default">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
#include "dialog_userinput.h"
|
||||||
|
#include "ui_dialog_userinput.h"
|
||||||
|
|
||||||
|
Dialog_UserInput::Dialog_UserInput(ui_helper::value_type type, const QString &title, const QString &desc, QWidget *parent) :
|
||||||
|
QDialog(parent),
|
||||||
|
ui(new Ui::Dialog_UserInput),
|
||||||
|
m_type(type),
|
||||||
|
m_title(title),
|
||||||
|
m_desc(desc)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
if (type == ui_helper::VAL_TYPE_BOOL)
|
||||||
|
{
|
||||||
|
ui->radioButton_yes->setVisible(true);
|
||||||
|
ui->radioButton_no->setVisible(true);
|
||||||
|
ui->lineEdit->setVisible(false);
|
||||||
|
}
|
||||||
|
else if (type == ui_helper::VAL_TYPE_INT || type == ui_helper::VAL_TYPE_FLOAT || type == ui_helper::VAL_TYPE_STRING)
|
||||||
|
{
|
||||||
|
ui->radioButton_yes->setVisible(false);
|
||||||
|
ui->radioButton_no->setVisible(false);
|
||||||
|
ui->lineEdit->setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
setWindowTitle(m_title);
|
||||||
|
ui->label->setText(m_desc);
|
||||||
|
}
|
||||||
|
|
||||||
|
Dialog_UserInput::~Dialog_UserInput()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
parameter *Dialog_UserInput::getParam()
|
||||||
|
{
|
||||||
|
UserInputParams *param = new UserInputParams(m_type);
|
||||||
|
if (m_type == ui_helper::VAL_TYPE_BOOL)
|
||||||
|
{
|
||||||
|
if (ui->radioButton_yes->isChecked())
|
||||||
|
param->m_bData = true;
|
||||||
|
else if (ui->radioButton_no->isChecked())
|
||||||
|
param->m_bData = false;
|
||||||
|
}
|
||||||
|
else if (m_type == ui_helper::VAL_TYPE_INT)
|
||||||
|
{
|
||||||
|
param->m_iData = ui->lineEdit->text().toInt();
|
||||||
|
}
|
||||||
|
else if (m_type == ui_helper::VAL_TYPE_FLOAT)
|
||||||
|
{
|
||||||
|
param->m_fData = ui->lineEdit->text().toDouble();
|
||||||
|
}
|
||||||
|
else if (m_type == ui_helper::VAL_TYPE_STRING)
|
||||||
|
{
|
||||||
|
param->m_sData = ui->lineEdit->text().toStdWString();
|
||||||
|
}
|
||||||
|
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Dialog_UserInput::on_pbtn_yes_clicked()
|
||||||
|
{
|
||||||
|
getParam();
|
||||||
|
accept();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Dialog_UserInput::on_pbtn_no_clicked()
|
||||||
|
{
|
||||||
|
reject();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
UserInputParams::UserInputParams(ui_helper::value_type type)
|
||||||
|
{
|
||||||
|
m_type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
UserInputParams::~UserInputParams()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t UserInputParams::get_size()
|
||||||
|
{
|
||||||
|
if (m_type == ui_helper::VAL_TYPE_BOOL)
|
||||||
|
return sizeof(bool);
|
||||||
|
if (m_type == ui_helper::VAL_TYPE_INT)
|
||||||
|
return sizeof(int);
|
||||||
|
if (m_type == ui_helper::VAL_TYPE_FLOAT)
|
||||||
|
return sizeof(double);
|
||||||
|
if (m_type == ui_helper::VAL_TYPE_STRING)
|
||||||
|
return m_sData.size() + 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void *UserInputParams::get_data()
|
||||||
|
{
|
||||||
|
if (m_type == ui_helper::VAL_TYPE_BOOL)
|
||||||
|
return &m_bData;
|
||||||
|
if (m_type == ui_helper::VAL_TYPE_INT)
|
||||||
|
return &m_iData;
|
||||||
|
if (m_type == ui_helper::VAL_TYPE_FLOAT)
|
||||||
|
return &m_fData;
|
||||||
|
if (m_type == ui_helper::VAL_TYPE_STRING)
|
||||||
|
return (void*)m_sData.c_str();
|
||||||
|
return nullptr;
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
#ifndef DIALOG_USERINPUT_H
|
||||||
|
#define DIALOG_USERINPUT_H
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
#include "ui_helper.h"
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class Dialog_UserInput;
|
||||||
|
}
|
||||||
|
|
||||||
|
class UserInputParams : public parameter
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
UserInputParams(ui_helper::value_type type);
|
||||||
|
~UserInputParams();
|
||||||
|
|
||||||
|
size_t get_size();
|
||||||
|
void* get_data();
|
||||||
|
|
||||||
|
ui_helper::value_type m_type;
|
||||||
|
bool m_bData;
|
||||||
|
int m_iData;
|
||||||
|
double m_fData;
|
||||||
|
std::wstring m_sData;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Dialog_UserInput : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit Dialog_UserInput(ui_helper::value_type type, const QString &title, const QString &desc, QWidget *parent = nullptr);
|
||||||
|
~Dialog_UserInput();
|
||||||
|
|
||||||
|
parameter *getParam();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_pbtn_yes_clicked();
|
||||||
|
|
||||||
|
void on_pbtn_no_clicked();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::Dialog_UserInput *ui;
|
||||||
|
|
||||||
|
ui_helper::value_type m_type;
|
||||||
|
QString m_title;
|
||||||
|
QString m_desc;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DIALOG_USERINPUT_H
|
|
@ -0,0 +1,97 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>Dialog_UserInput</class>
|
||||||
|
<widget class="QDialog" name="Dialog_UserInput">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>408</width>
|
||||||
|
<height>164</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Dialog</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<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>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="radioButton_yes">
|
||||||
|
<property name="text">
|
||||||
|
<string>YES</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="radioButton_no">
|
||||||
|
<property name="text">
|
||||||
|
<string>NO</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_3">
|
||||||
|
<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_yes">
|
||||||
|
<property name="text">
|
||||||
|
<string>OK</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pbtn_no">
|
||||||
|
<property name="text">
|
||||||
|
<string>Cancel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -6,6 +6,7 @@
|
||||||
#include "base/HGBase.h"
|
#include "base/HGBase.h"
|
||||||
#include "imgfmt/HGImgFmt.h"
|
#include "imgfmt/HGImgFmt.h"
|
||||||
#include "HGUIGlobal.h"
|
#include "HGUIGlobal.h"
|
||||||
|
#include "HGString.h"
|
||||||
#include "form_texttips.h"
|
#include "form_texttips.h"
|
||||||
#include "test_base.h"
|
#include "test_base.h"
|
||||||
#include "hgscanner.h"
|
#include "hgscanner.h"
|
||||||
|
@ -71,6 +72,9 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, SANE_Handle ha
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
connect(this, SIGNAL(testResult(QString)), this, SLOT(on_testResult(QString)), Qt::QueuedConnection);
|
||||||
|
connect(this, SIGNAL(testResultImg(void*)), this, SLOT(on_testResultImg(void*)), Qt::QueuedConnection);
|
||||||
|
|
||||||
QString str;
|
QString str;
|
||||||
if (m_handle)
|
if (m_handle)
|
||||||
str = tr("Device has connected");
|
str = tr("Device has connected");
|
||||||
|
@ -136,6 +140,36 @@ void Form_mainInterface::paintEvent(QPaintEvent *event)
|
||||||
p.drawRect(0, 0, width() -1, height() -1);
|
p.drawRect(0, 0, width() -1, height() -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Form_mainInterface::on_testResult(QString text)
|
||||||
|
{
|
||||||
|
QMessageBox::information(this, tr("tips"), text);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Form_mainInterface::on_testResultImg(void *img)
|
||||||
|
{
|
||||||
|
HGImage image = (HGImage)img;
|
||||||
|
ui->stackedWidget->setCurrentWidget(m_view);
|
||||||
|
m_view->addImage(image);
|
||||||
|
|
||||||
|
QString fileName = getCacheFileName();
|
||||||
|
HGResult ret = HGImgFmt_SaveImage(image, 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();
|
||||||
|
HGUInt entryName = getTestItem(title);
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
HGBase_DestroyImage(image);
|
||||||
|
}
|
||||||
|
|
||||||
void Form_mainInterface::on_pbtn_preStep_clicked()
|
void Form_mainInterface::on_pbtn_preStep_clicked()
|
||||||
{
|
{
|
||||||
int row = ui->tableWidget->currentRow();
|
int row = ui->tableWidget->currentRow();
|
||||||
|
@ -342,6 +376,27 @@ QString Form_mainInterface::getItemStatusStr(HGUInt status)
|
||||||
return statusStr[status];
|
return statusStr[status];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Form_mainInterface::getCachePath()
|
||||||
|
{
|
||||||
|
HGChar cachePath[512];
|
||||||
|
HGBase_GetTmpPath(cachePath, 512);
|
||||||
|
strcat(cachePath, "/Cache/");
|
||||||
|
|
||||||
|
return getStdFileName(StdStringToUtf8(cachePath).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Form_mainInterface::getCacheFileName()
|
||||||
|
{
|
||||||
|
QString cachePath = getCachePath();
|
||||||
|
HGBase_CreateDir(getStdString(cachePath).c_str());
|
||||||
|
|
||||||
|
char uuid[256] = {0};
|
||||||
|
HGBase_GetUuid(uuid, 256);
|
||||||
|
QString suffix = ".jpg";
|
||||||
|
QString fileName = getStdFileName(cachePath + uuid + suffix);
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
|
void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
|
||||||
{
|
{
|
||||||
(void)previous;
|
(void)previous;
|
||||||
|
@ -356,19 +411,8 @@ void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *cur
|
||||||
bool man = m_map_title_name.value(title).is_man;
|
bool man = m_map_title_name.value(title).is_man;
|
||||||
ui->pbtn_start->setEnabled(!man);
|
ui->pbtn_start->setEnabled(!man);
|
||||||
|
|
||||||
QString testName;
|
m_textTips->setViewContent(m_map_title_name.value(title).desc);
|
||||||
if (title == HGPDTTOOLDB_TITLE_DIAL_SWITCH)
|
ui->stackedWidget->setCurrentWidget(m_textTips);
|
||||||
{
|
|
||||||
m_textTips->setViewContent(m_map_title_name.value(title).desc);
|
|
||||||
testName = m_map_title_name.value(title).name;
|
|
||||||
ui->stackedWidget->setCurrentWidget(m_textTips);
|
|
||||||
}
|
|
||||||
else if (title == HGPDTTOOLDB_TITLE_SINGLE_PAGE_TEST_1)
|
|
||||||
{
|
|
||||||
//addImg
|
|
||||||
testName = m_map_title_name.value(title).name;
|
|
||||||
ui->stackedWidget->setCurrentWidget(m_view);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Form_mainInterface::on_pbtn_start_clicked()
|
void Form_mainInterface::on_pbtn_start_clicked()
|
||||||
|
@ -376,5 +420,6 @@ void Form_mainInterface::on_pbtn_start_clicked()
|
||||||
int row = ui->tableWidget->currentRow();
|
int row = ui->tableWidget->currentRow();
|
||||||
QTableWidgetItem *item = ui->tableWidget->item(row, 1);
|
QTableWidgetItem *item = ui->tableWidget->item(row, 1);
|
||||||
QString title = item->text();
|
QString title = item->text();
|
||||||
func_test_go(title.toStdWString().c_str(), L"null", m_hg);
|
QString name = m_map_title_name.value(title).name;
|
||||||
|
int ret = func_test_go(name.toStdWString().c_str(), L"null", m_hg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,14 @@ public:
|
||||||
protected:
|
protected:
|
||||||
void paintEvent(QPaintEvent *event) override;
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void testResult(QString text);
|
||||||
|
void testResultImg(void* img);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_testResult(QString text);
|
||||||
|
void on_testResultImg(void* img);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_pbtn_preStep_clicked();
|
void on_pbtn_preStep_clicked();
|
||||||
|
|
||||||
|
@ -53,6 +61,8 @@ private:
|
||||||
HGUInt getTestItemStatus(const QString &title);
|
HGUInt getTestItemStatus(const QString &title);
|
||||||
bool setTestItemStatus(const QString &title, HGUInt status);
|
bool setTestItemStatus(const QString &title, HGUInt status);
|
||||||
QString getItemStatusStr(HGUInt status);
|
QString getItemStatusStr(HGUInt status);
|
||||||
|
QString getCachePath();
|
||||||
|
QString getCacheFileName();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::Form_mainInterface *ui;
|
Ui::Form_mainInterface *ui;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#include "hgscanner.h"
|
#include "hgscanner.h"
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include "form_maininterface.h"
|
#include "form_maininterface.h"
|
||||||
|
#include "dialog_userinput.h"
|
||||||
|
|
||||||
hgscanner::hgscanner(Form_mainInterface *form, SANE_Handle h)
|
hgscanner::hgscanner(Form_mainInterface *form, SANE_Handle h)
|
||||||
: m_interface(form)
|
: m_interface(form)
|
||||||
|
@ -14,22 +15,68 @@ hgscanner::~hgscanner()
|
||||||
|
|
||||||
parameter* hgscanner::get_user_input(data_from from, value_type type, const wchar_t* title, const wchar_t* desc)
|
parameter* hgscanner::get_user_input(data_from from, value_type type, const wchar_t* title, const wchar_t* desc)
|
||||||
{
|
{
|
||||||
|
if (from == DATA_FROM_USER)
|
||||||
|
{
|
||||||
|
Dialog_UserInput dlg(type, QString::fromStdWString(title), QString::fromStdWString(desc), m_interface);
|
||||||
|
if (dlg.exec())
|
||||||
|
{
|
||||||
|
return dlg.getParam();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void hgscanner::test_callback(const wchar_t* name, test_event ev, void* data, size_t flag)
|
void hgscanner::test_callback(const wchar_t* name, test_event ev, void* data, size_t flag)
|
||||||
{
|
{
|
||||||
QString testName = QString::fromStdWString(name);
|
if (ev == TEST_EVENT_TIPS)
|
||||||
QString info = QString::fromStdWString((const wchar_t*)data);
|
{
|
||||||
if (ev == ui_helper::TEST_EVENT_TIPS)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(ev == ui_helper::TEST_EVENT_RESULT)
|
else if (ev == TEST_EVENT_RESULT)
|
||||||
{
|
{
|
||||||
|
QString ret;
|
||||||
|
QString info = QString::fromStdWString((const wchar_t*)data);
|
||||||
|
if (flag)
|
||||||
|
ret = QObject::tr("success");
|
||||||
|
else
|
||||||
|
ret = QObject::tr("failed: ") + info;
|
||||||
|
|
||||||
}
|
emit m_interface->testResult(ret);
|
||||||
|
}
|
||||||
|
else if (ev == TEST_EVENT_NOT_FIND_TEST)
|
||||||
|
{
|
||||||
|
QString info = QObject::tr("Not find test item");
|
||||||
|
emit m_interface->testResult(info);
|
||||||
|
}
|
||||||
|
else if (ev == TEST_EVENT_HAVE_IMAGE)
|
||||||
|
{
|
||||||
|
SANE_Image *sane_img = (SANE_Image *)data;
|
||||||
|
|
||||||
|
HGUInt imgType = 0;
|
||||||
|
if (sane_img->header.format == SANE_FRAME_GRAY)
|
||||||
|
{
|
||||||
|
if (1 == sane_img->header.depth)
|
||||||
|
imgType = HGBASE_IMGTYPE_BINARY;
|
||||||
|
else if (8 == sane_img->header.depth)
|
||||||
|
imgType = HGBASE_IMGTYPE_GRAY;
|
||||||
|
}
|
||||||
|
else if (sane_img->header.format == SANE_FRAME_RGB)
|
||||||
|
{
|
||||||
|
imgType = HGBASE_IMGTYPE_RGB;
|
||||||
|
}
|
||||||
|
|
||||||
|
HGByte *imgData = sane_img->data;
|
||||||
|
HGImageInfo imgInfo = {(HGUInt)sane_img->header.pixels_per_line, (HGUInt)sane_img->header.lines,
|
||||||
|
imgType, (HGUInt)sane_img->header.bytes_per_line, HGBASE_IMGORIGIN_TOP};
|
||||||
|
|
||||||
|
HGImage img = nullptr;
|
||||||
|
HGBase_CreateImageFromData(imgData, &imgInfo, nullptr, imgType, HGBASE_IMGORIGIN_TOP, &img);
|
||||||
|
if (nullptr != img)
|
||||||
|
{
|
||||||
|
emit m_interface->testResultImg(img);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int hgscanner::register_sane_callback(sane_callback cb, void* param)
|
int hgscanner::register_sane_callback(sane_callback cb, void* param)
|
||||||
|
|
|
@ -18,7 +18,7 @@ int main(int argc, char *argv[])
|
||||||
Dialog_logIn login;
|
Dialog_logIn login;
|
||||||
if (login.exec())
|
if (login.exec())
|
||||||
{
|
{
|
||||||
MainWindow w(login.GetUserMgr());
|
MainWindow w(login.GetUserMgr(), login.GetFtpHost(), login.GetFtpPort());
|
||||||
a.exec();
|
a.exec();
|
||||||
if (w.isExitApp())
|
if (w.isExitApp())
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,10 +10,12 @@
|
||||||
#include "dialog_uploadcfgfile.h"
|
#include "dialog_uploadcfgfile.h"
|
||||||
#include "dialog_inputserialnum.h"
|
#include "dialog_inputserialnum.h"
|
||||||
|
|
||||||
MainWindow::MainWindow(HGPdtToolDbUserMgr pdtToolDbuserMgr, QWidget *parent)
|
MainWindow::MainWindow(HGPdtToolDbUserMgr pdtToolDbuserMgr, const QString &ftpHost, unsigned short ftpPort, QWidget *parent)
|
||||||
: QMainWindow(parent)
|
: QMainWindow(parent)
|
||||||
, ui(new Ui::MainWindow)
|
, ui(new Ui::MainWindow)
|
||||||
, m_pdtToolDbuserMgr(pdtToolDbuserMgr)
|
, m_pdtToolDbuserMgr(pdtToolDbuserMgr)
|
||||||
|
, m_ftpHost(ftpHost)
|
||||||
|
, m_ftpPort(ftpPort)
|
||||||
, m_lock(nullptr)
|
, m_lock(nullptr)
|
||||||
, m_top_splitter(nullptr)
|
, m_top_splitter(nullptr)
|
||||||
, m_bot_splitter(nullptr)
|
, m_bot_splitter(nullptr)
|
||||||
|
|
|
@ -19,7 +19,7 @@ class MainWindow : public QMainWindow
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MainWindow(HGPdtToolDbUserMgr pdtToolDbuserMgr, QWidget *parent = nullptr);
|
MainWindow(HGPdtToolDbUserMgr pdtToolDbuserMgr, const QString &ftpHost, unsigned short ftpPort, QWidget *parent = nullptr);
|
||||||
~MainWindow();
|
~MainWindow();
|
||||||
static QString getLogInfo(HGResult ret);
|
static QString getLogInfo(HGResult ret);
|
||||||
bool isExitApp();
|
bool isExitApp();
|
||||||
|
@ -73,5 +73,9 @@ private:
|
||||||
Ui::MainWindow *ui;
|
Ui::MainWindow *ui;
|
||||||
HGPdtToolDbUserMgr m_pdtToolDbuserMgr;
|
HGPdtToolDbUserMgr m_pdtToolDbuserMgr;
|
||||||
HGLock m_lock;
|
HGLock m_lock;
|
||||||
|
|
||||||
|
public:
|
||||||
|
QString m_ftpHost;
|
||||||
|
unsigned short m_ftpPort;
|
||||||
};
|
};
|
||||||
#endif // MAINWINDOW_H
|
#endif // MAINWINDOW_H
|
||||||
|
|
|
@ -86,6 +86,7 @@ public:
|
||||||
TEST_EVENT_IO_FAIL, // IO. err flag is SCANNER_ERR_DEVICE_NOT_SUPPORT or io err,data is null
|
TEST_EVENT_IO_FAIL, // IO. err flag is SCANNER_ERR_DEVICE_NOT_SUPPORT or io err,data is null
|
||||||
TEST_EVENT_MANUAL_CONFIRMATION, // After send cmd ,need manual confirmation.
|
TEST_EVENT_MANUAL_CONFIRMATION, // After send cmd ,need manual confirmation.
|
||||||
TEST_EVENT_RESULT, // test result, data is (wchar_t*)description, flag is (bool)result, true - test pass
|
TEST_EVENT_RESULT, // test result, data is (wchar_t*)description, flag is (bool)result, true - test pass
|
||||||
|
TEST_EVENT_HAVE_IMAGE // have image.
|
||||||
};
|
};
|
||||||
virtual void test_callback(const wchar_t* name/*test name*/, test_event ev, void* data, size_t flag)=0 ;
|
virtual void test_callback(const wchar_t* name/*test name*/, test_event ev, void* data, size_t flag)=0 ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue