调整界面流程

This commit is contained in:
yangjiaxuan 2022-12-23 18:32:57 +08:00
parent d4433e1d0b
commit cac3f6cabb
8 changed files with 326 additions and 203 deletions

View File

@ -6,61 +6,69 @@
<message>
<location filename="dialog_inputserialnum.ui" line="14"/>
<source>Dialog</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="35"/>
<source>Input SN:</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="82"/>
<source>Select devType:</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="96"/>
<location filename="dialog_inputserialnum.ui" line="59"/>
<source>G100</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="101"/>
<location filename="dialog_inputserialnum.ui" line="64"/>
<source>G200</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="106"/>
<location filename="dialog_inputserialnum.ui" line="69"/>
<source>G300</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="111"/>
<location filename="dialog_inputserialnum.ui" line="74"/>
<source>G400</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="149"/>
<location filename="dialog_inputserialnum.ui" line="88"/>
<source>devType :</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="101"/>
<source>serialNum:</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="26"/>
<source>OK</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.ui" line="156"/>
<location filename="dialog_inputserialnum.ui" line="39"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="43"/>
<location filename="dialog_inputserialnum.cpp" line="49"/>
<location filename="dialog_inputserialnum.cpp" line="47"/>
<location filename="dialog_inputserialnum.cpp" line="53"/>
<source>tips</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="43"/>
<location filename="dialog_inputserialnum.cpp" line="47"/>
<source>Serial num is empty</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="49"/>
<location filename="dialog_inputserialnum.cpp" line="53"/>
<source>The device is testing</source>
<translation></translation>
</message>
@ -428,47 +436,62 @@
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="71"/>
<location filename="form_maininterface.cpp" line="75"/>
<source>Device has connected</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="77"/>
<source>Device hasnot connected</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="78"/>
<source>Device type:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="71"/>
<location filename="form_maininterface.cpp" line="78"/>
<source> SerialNum:</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="185"/>
<location filename="form_maininterface.cpp" line="78"/>
<source> connect status:</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="180"/>
<source>ID</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="185"/>
<location filename="form_maininterface.cpp" line="180"/>
<source>Test items</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="185"/>
<location filename="form_maininterface.cpp" line="180"/>
<source>status</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="272"/>
<location filename="form_maininterface.cpp" line="323"/>
<source>not test</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="272"/>
<location filename="form_maininterface.cpp" line="323"/>
<source>not pass</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="272"/>
<location filename="form_maininterface.cpp" line="323"/>
<source>not support</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="272"/>
<location filename="form_maininterface.cpp" line="323"/>
<source>pass</source>
<translation></translation>
</message>
@ -534,7 +557,7 @@
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="284"/>
<location filename="mainwindow.cpp" line="330"/>
<source>Account login elsewhere</source>
<translation></translation>
</message>
@ -543,76 +566,94 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="287"/>
<location filename="mainwindow.cpp" line="333"/>
<source>You have been forced offline by the administrator account</source>
<translation>线</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="290"/>
<location filename="mainwindow.cpp" line="336"/>
<source>Data base error</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="239"/>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="298"/>
<location filename="mainwindow.cpp" line="279"/>
<location filename="mainwindow.cpp" line="300"/>
<location filename="mainwindow.cpp" line="316"/>
<location filename="mainwindow.cpp" line="344"/>
<location filename="mainwindow.cpp" line="362"/>
<location filename="mainwindow.cpp" line="387"/>
<location filename="mainwindow.cpp" line="391"/>
<source>tips</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="240"/>
<location filename="mainwindow.cpp" line="280"/>
<source>Are you sure to connect the new device</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="242"/>
<location filename="mainwindow.cpp" line="282"/>
<source>yes</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="243"/>
<location filename="mainwindow.cpp" line="283"/>
<source>no</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="316"/>
<location filename="mainwindow.cpp" line="300"/>
<location filename="mainwindow.cpp" line="362"/>
<source>cannot create more table</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="336"/>
<location filename="mainwindow.cpp" line="316"/>
<source>The device has disconnected</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="382"/>
<source>save</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="336"/>
<location filename="mainwindow.cpp" line="382"/>
<source>xls(*.xls)</source>
<translation>xls表格(*.xls)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="360"/>
<location filename="mainwindow.cpp" line="387"/>
<source>export succeed</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="391"/>
<source>export failed</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="413"/>
<source>Illegal user</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="364"/>
<location filename="mainwindow.cpp" line="417"/>
<source>Wrong password</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="368"/>
<location filename="mainwindow.cpp" line="421"/>
<source>Database error</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="372"/>
<location filename="mainwindow.cpp" line="425"/>
<source>connect error</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="376"/>
<location filename="mainwindow.cpp" line="429"/>
<source>Failed</source>
<translation></translation>
</message>

View File

@ -14,11 +14,15 @@ Dialog_InputSerialNum::Dialog_InputSerialNum(class MainWindow *mainWnd, const QS
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
ui->lineEdit_sn->setValidator(new QRegExpValidator(QRegExp("[a-zA-Z0-9]+$")));
ui->lineEdit_sn->setText(serialNum);
if (devType.isEmpty())
ui->lineEdit_sn->setText(m_serialNum);
if (m_devType.isEmpty() || m_serialNum.isEmpty())
ui->cbox_devType->setCurrentIndex(0);
else
{
ui->cbox_devType->setCurrentText(devType);
ui->lineEdit_sn->setEnabled(false);
ui->cbox_devType->setEnabled(false);
}
}
Dialog_InputSerialNum::~Dialog_InputSerialNum()

View File

@ -6,160 +6,117 @@
<rect>
<x>0</x>
<y>0</y>
<width>413</width>
<height>175</height>
<width>474</width>
<height>206</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<widget class="QPushButton" name="pbtn_ok">
<property name="geometry">
<rect>
<x>210</x>
<y>150</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>OK</string>
</property>
</widget>
<widget class="QPushButton" name="pbtn_cancel">
<property name="geometry">
<rect>
<x>330</x>
<y>150</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Cancel</string>
</property>
</widget>
<widget class="QComboBox" name="cbox_devType">
<property name="geometry">
<rect>
<x>190</x>
<y>80</y>
<width>150</width>
<height>20</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>130</width>
<height>0</height>
</size>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<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>
<item>
<widget class="QLabel" name="label_sn">
<property name="text">
<string>Input SN:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_sn">
<property name="minimumSize">
<size>
<width>130</width>
<height>0</height>
</size>
</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>
<property name="text">
<string>G100</string>
</property>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<spacer name="horizontalSpacer_4">
<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="QLabel" name="label_type">
<property name="text">
<string>Select devType:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cbox_devType">
<property name="minimumSize">
<size>
<width>130</width>
<height>0</height>
</size>
</property>
<item>
<property name="text">
<string>G100</string>
</property>
</item>
<item>
<property name="text">
<string>G200</string>
</property>
</item>
<item>
<property name="text">
<string>G300</string>
</property>
</item>
<item>
<property name="text">
<string>G400</string>
</property>
</item>
</widget>
</item>
<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>
</layout>
<property name="text">
<string>G200</string>
</property>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<spacer name="horizontalSpacer_5">
<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>
<property name="text">
<string>G300</string>
</property>
</item>
</layout>
<item>
<property name="text">
<string>G400</string>
</property>
</item>
</widget>
<widget class="QLabel" name="label_type">
<property name="geometry">
<rect>
<x>120</x>
<y>80</y>
<width>61</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>devType :</string>
</property>
</widget>
<widget class="QLabel" name="label_sn">
<property name="geometry">
<rect>
<x>123</x>
<y>30</y>
<width>61</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>serialNum:</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit_sn">
<property name="geometry">
<rect>
<x>190</x>
<y>30</y>
<width>150</width>
<height>20</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>130</width>
<height>0</height>
</size>
</property>
</widget>
</widget>
<resources/>
<connections/>

View File

@ -56,7 +56,7 @@ static const RELA Rela[] = {
};
Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, SANE_Handle handle, HGPdtToolDbUserMgr pdtToolDbuserMgr, HGPdtToolDbDevice pdtToolDbDevice,
const QString &serialNum, const QString &devType)
const QString &serialNum, const QString &devType, const QString &devName, const QString &devFwNum)
: QWidget(mainwnd)
, ui(new Ui::Form_mainInterface)
, m_mainwnd(mainwnd)
@ -65,22 +65,36 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, SANE_Handle ha
, m_pdtToolDbDevice(pdtToolDbDevice)
, m_serialNum(serialNum)
, m_devType(devType)
, m_devName(devName)
, m_devFwNum(devFwNum)
{
ui->setupUi(this);
ui->label_sn->setText(tr("Device type:") + m_devType + tr(" SerialNum:") + m_serialNum);
this->setMinimumWidth(400);
QString str;
if (m_handle)
str = tr("Device has connected");
else
str = tr("Device hasnot connected");
ui->label_sn->setText(tr("Device type:") + m_devType + tr(" SerialNum:") + m_serialNum + tr(" connect status:") + str);
setMinimumWidth(500);
ui->tableWidget->setMinimumWidth(300);
ui->tableWidget->setMaximumWidth(300);
m_textTips = new Form_textTips();
m_view = new HGImgView();
ui->stackedWidget->addWidget(m_textTips);
ui->stackedWidget->addWidget(m_view);
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());
}
Form_mainInterface::~Form_mainInterface()
{
//sane_close(m_handle);
sane_close(m_handle);
HGPdtToolDb_CloseDevice(m_pdtToolDbDevice);
delete ui;
@ -91,6 +105,11 @@ QString Form_mainInterface::getSn()
return m_serialNum;
}
QString Form_mainInterface::getDevName()
{
return m_devName;
}
void Form_mainInterface::paintEvent(QPaintEvent *event)
{
(void)event;
@ -189,6 +208,14 @@ void Form_mainInterface::initTableWidgetUi()
{
AnalysisJson analysisJson(QString::fromStdString(cfgPath));
std::map<HGUInt, bool> dbEntryItems;
for (int i = HGPDTTOOLDB_ENTRYNAME_DIAL_SWITCH; i <= HGPDTTOOLDB_ENTRYNAME_SCANNING_SENSOR; ++i)
dbEntryItems[i] = false;
for (int i = HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE; i <= HGPDTTOOLDB_ENTRYNAME_MECH_PAPER_FEEDING_INCLINATION; ++i)
dbEntryItems[i] = false;
for (int i = HGPDTTOOLDB_ENTRYNAME_SINGLE_PAGE_TEST_1; i <= HGPDTTOOLDB_ENTRYNAME_CLEAR_ROLLER_COUNT; ++i)
dbEntryItems[i] = false;
std::vector<AnalysisJson::json_node> list_jsonNode = analysisJson.GetNode();
int count = list_jsonNode.size();
ui->tableWidget->setRowCount(count);
@ -219,12 +246,47 @@ void Form_mainInterface::initTableWidgetUi()
{
ui->tableWidget->item(i, 2)->setBackgroundColor(QColor(0,255,0));
}
HGUInt entry = getTestItem(node.title);
std::map<HGUInt, bool>::iterator iter;
for (iter = dbEntryItems.begin(); iter != dbEntryItems.end(); ++iter)
{
if (entry == iter->first)
{
iter->second = true;
break;
}
}
}
std::map<HGUInt, bool>::iterator iter;
for (iter = dbEntryItems.begin(); iter != dbEntryItems.end(); ++iter)
{
if (!iter->second)
{
HGPdtToolDb_SetDeviceEntryStatus(m_pdtToolDbDevice, iter->first, HGPDTTOOLDB_ENTRYSTATUS_NOTSUPP);
}
}
ui->tableWidget->selectRow(0);
}
}
HGUInt Form_mainInterface::getTestItem(const QString &title)
{
HGUInt entry = 0;
for (int i = 0; i < sizeof(Rela) / sizeof(RELA); ++i)
{
if (0 == wcscmp(title.toStdWString().c_str(), Rela[i].title))
{
entry = Rela[i].entryName;
break;
}
}
return entry;
}
HGUInt Form_mainInterface::getTestItemStatus(const QString &title)
{
HGUInt status = 0;

View File

@ -20,10 +20,11 @@ class Form_mainInterface : public QWidget
public:
explicit Form_mainInterface(class MainWindow *mainwnd, SANE_Handle handle, HGPdtToolDbUserMgr pdtToolDbuserMgr, HGPdtToolDbDevice pdtToolDbDevice,
const QString &serialNum, const QString &devType);
const QString &serialNum, const QString &devType, const QString &devName, const QString &devFwNum);
~Form_mainInterface();
QString getSn();
QString getDevName();
protected:
void paintEvent(QPaintEvent *event) override;
@ -43,6 +44,7 @@ private slots:
private:
void initTableWidgetUi();
HGUInt getTestItem(const QString &title);
HGUInt getTestItemStatus(const QString &title);
bool setTestItemStatus(const QString &title, HGUInt status);
QString getItemStatusStr(HGUInt status);
@ -60,6 +62,8 @@ private:
HGPdtToolDbDevice m_pdtToolDbDevice;
QString m_serialNum;
QString m_devType;
QString m_devName;
QString m_devFwNum;
QMap<QString, AnalysisJson::json_node> m_map_title_name;
};

View File

@ -27,6 +27,10 @@ MainWindow::MainWindow(HGPdtToolDbUserMgr pdtToolDbuserMgr, QWidget *parent)
m_top_splitter = new QSplitter(Qt::Horizontal);
m_bot_splitter = new QSplitter(Qt::Horizontal);
m_top_splitter->setMinimumWidth(600);
m_bot_splitter->setMinimumWidth(600);
m_top_splitter->setChildrenCollapsible(false);
m_bot_splitter->setChildrenCollapsible(false);
QVBoxLayout *vLayout = new QVBoxLayout;
vLayout->addWidget(m_top_splitter);
@ -72,7 +76,7 @@ MainWindow::~MainWindow()
delete interface;
}
//sane_exit();
sane_exit();
HGPdtToolDb_DestroyUserMgr(m_pdtToolDbuserMgr);
m_pdtToolDbuserMgr = NULL;
@ -132,6 +136,29 @@ Form_mainInterface* MainWindow::FindInterface(const QString &sn)
return nullptr;
}
Form_mainInterface *MainWindow::FindInterfaceByDevName(const QString &devName)
{
for (int i = 0; i < m_top_splitter->count(); ++i)
{
Form_mainInterface *interface = (Form_mainInterface *)m_top_splitter->widget(i);
if (devName == interface->getDevName())
{
return interface;
}
}
for (int i = 0; i < m_bot_splitter->count(); ++i)
{
Form_mainInterface *interface = (Form_mainInterface *)m_bot_splitter->widget(i);
if (devName == interface->getDevName())
{
return interface;
}
}
return nullptr;
}
bool MainWindow::AddInterface(Form_mainInterface *interface)
{
assert(nullptr != interface);
@ -181,11 +208,11 @@ int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigne
break;
}
if (!hdev)
{
return -1;
}
p->hg->cb_(hdev, code, data, len, NULL);
// if (!hdev)
// {
// return -1;
// }
// p->hg->cb_(hdev, code, data, len, NULL);
return 0;
}
@ -234,6 +261,19 @@ QString MainWindow::getDevType(SANE_Handle handle)
return str.left(2) + "00";
}
QString MainWindow::getDevFwNum(SANE_Handle handle)
{
std::string firmWareNum;
unsigned int firmWareNumLen = 0;
if(SANE_STATUS_NO_MEM == sane_io_control(handle, IO_CTRL_CODE_GET_HARDWARE_VERSION, nullptr, &firmWareNumLen) && firmWareNumLen)
{
firmWareNum.resize(firmWareNumLen);
sane_io_control(handle, IO_CTRL_CODE_GET_HARDWARE_VERSION, &firmWareNum[0], &firmWareNumLen);
}
return QString::fromStdString(firmWareNum.c_str());
}
void MainWindow::on_sane_dev_arrive(QString devName)
{
QMessageBox msg(QMessageBox::Question, tr("tips"),
@ -253,7 +293,8 @@ void MainWindow::on_sane_dev_arrive(QString devName)
HGPdtToolDbDevice pdtToolDbDevice = nullptr;
HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, dlg.GetSn().toStdString().c_str(), &pdtToolDbDevice);
Form_mainInterface *mainInterface = new Form_mainInterface(this, devHandle, m_pdtToolDbuserMgr, pdtToolDbDevice, dlg.GetSn(), dlg.GetDevType());
Form_mainInterface *mainInterface = new Form_mainInterface(this, devHandle, m_pdtToolDbuserMgr, pdtToolDbDevice,
dlg.GetSn(), dlg.GetDevType(), devName, getDevFwNum(devHandle));
if (!AddInterface(mainInterface))
{
QMessageBox::information(this, tr("tips"), tr("cannot create more table"));
@ -262,14 +303,19 @@ void MainWindow::on_sane_dev_arrive(QString devName)
}
else
{
// sane_close(devHandle);
sane_close(devHandle);
}
}
}
void MainWindow::on_sane_dev_remove(QString devName)
{
Form_mainInterface *interface = FindInterfaceByDevName(devName);
if (interface != nullptr)
{
QMessageBox::information(this, tr("tips"), tr("The device has disconnected"));
RemoveInterface(interface);
}
}
void MainWindow::on_update_userStatus()
@ -310,7 +356,7 @@ void MainWindow::on_act_newDevice_triggered()
HGPdtToolDbDevice pdtToolDbDevice = nullptr;
HGPdtToolDb_OpenDevice(m_pdtToolDbuserMgr, dlg.GetSn().toStdString().c_str(), &pdtToolDbDevice);
Form_mainInterface *mainInterface = new Form_mainInterface(this, nullptr, m_pdtToolDbuserMgr, pdtToolDbDevice, dlg.GetSn(), dlg.GetDevType());
Form_mainInterface *mainInterface = new Form_mainInterface(this, nullptr, m_pdtToolDbuserMgr, pdtToolDbDevice, dlg.GetSn(), dlg.GetDevType(), nullptr, nullptr);
if (!AddInterface(mainInterface))
{
QMessageBox::information(this, tr("tips"), tr("cannot create more table"));
@ -336,7 +382,14 @@ void MainWindow::on_act_export_triggered()
QString filename = QFileDialog::getSaveFileName(this, tr("save"), "test.xls", tr("xls(*.xls)"));
if (!filename.isEmpty())
{
HGPdtToolDb_Export(m_pdtToolDbuserMgr, getStdString(filename).c_str());
if (HGBASE_ERR_OK == HGPdtToolDb_Export(m_pdtToolDbuserMgr, getStdString(filename).c_str()))
{
QMessageBox::information(this, tr("tips"), tr("export succeed"));
}
else
{
QMessageBox::information(this, tr("tips"), tr("export failed"));
}
}
}

View File

@ -25,6 +25,7 @@ public:
void updateSplitter();
Form_mainInterface* FindInterface(const QString &sn);
Form_mainInterface* FindInterfaceByDevName(const QString &devName);
bool AddInterface(Form_mainInterface *interface);
bool RemoveInterface(Form_mainInterface *interface);
@ -34,6 +35,7 @@ private:
std::vector<std::string> getDevices();
QString getDevSn(SANE_Handle handle);
QString getDevType(SANE_Handle handle);
QString getDevFwNum(SANE_Handle handle);
signals:
void sane_dev_arrive(QString devName);