From 6bfaa5ef0def3dd37c08c75463bb94a7e7956925 Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Wed, 27 Jul 2022 18:41:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=8A=E4=BC=A0=E6=89=93?= =?UTF-8?q?=E5=BC=80=E3=80=81=E5=85=B3=E9=97=AD=E8=AE=BE=E5=A4=87=E5=92=8C?= =?UTF-8?q?=E6=B8=85=E9=99=A4=E6=BB=9A=E8=BD=B4=E8=AE=A1=E6=95=B0=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/scanner/mainwindow.cpp | 22 ++++++++++++++++++++++ app/scanner/mainwindow.h | 2 ++ 2 files changed, 24 insertions(+) diff --git a/app/scanner/mainwindow.cpp b/app/scanner/mainwindow.cpp index 47c1a0da..f6aa9ea6 100644 --- a/app/scanner/mainwindow.cpp +++ b/app/scanner/mainwindow.cpp @@ -69,6 +69,8 @@ MainWindow::MainWindow(QWidget *parent) , auto_save_changes_(false) , save_from_changed_(false) , m_closeTip(true) + , m_devSerialNum("") + , m_devVersionNum("") { ui->setupUi(this); @@ -2585,7 +2587,10 @@ void MainWindow::on_act_clearRoller_triggered() int ret = sane_io_control(cur_dev_.handle(), IO_CTRL_CODE_CLEAR_ROLLER_COUNT, nullptr, &count); if(ret == SANE_STATUS_GOOD) + { QMessageBox::information(this, tr("hint"), tr("Roller scanned count has been set to 0.")); + m_versionDll->PostDeviceClearRollerInfo(HGVERSION_APPNAME_SCANNER, m_devSerialNum.toStdString().c_str(), "", m_devVersionNum.toStdString().c_str()); + } else QMessageBox::information(this, tr("hint"), tr("Roller scanned count reset failed.")); } @@ -3062,6 +3067,22 @@ bool MainWindow::open_scanner(const QString& name, OPTSCHEME* schm) if(ret) { + std::string serialNum; + unsigned int serialNumLen = 0; + sane_io_control(cur_dev_.handle(), IO_CTRL_CODE_GET_SERIAL, &serialNum, &serialNumLen); + serialNum.resize(serialNumLen); + sane_io_control(cur_dev_.handle(), IO_CTRL_CODE_GET_SERIAL, &serialNum[0], &serialNumLen); + m_devSerialNum = QString::fromStdString(serialNum); + + std::string versionNum; + unsigned int versionNumLen = 0; + sane_io_control(cur_dev_.handle(), IO_CTRL_CODE_GET_HARDWARE_VERSION, &versionNum, &versionNumLen); + versionNum.resize(versionNumLen); + sane_io_control(cur_dev_.handle(), IO_CTRL_CODE_GET_HARDWARE_VERSION, &versionNum[0], &versionNumLen); + m_devVersionNum = QString::fromStdString(versionNum); + + m_versionDll->PostDeviceOpenInfo(HGVERSION_APPNAME_SCANNER, m_devSerialNum.toStdString().c_str(), "", m_devVersionNum.toStdString().c_str()); + title = name; info += tr("success"); m_wndStatusBar->setDeviceStatusInfo(info, false); @@ -3307,6 +3328,7 @@ void MainWindow::on_scanOptions_changed(const QString &device, const QString &op if(msg.clickedButton() == msg.button(QMessageBox::Yes)) { cur_dev_.close(); + m_versionDll->PostDeviceCloseInfo(HGVERSION_APPNAME_SCANNER, m_devSerialNum.toStdString().c_str(), "", m_devVersionNum.toStdString().c_str()); m_dialogLog->addLog(tr("close ") + device, false); m_wndStatusBar->setDeviceStatusInfo(tr("close ") + device, false); diff --git a/app/scanner/mainwindow.h b/app/scanner/mainwindow.h index 94b0a55f..6a3a4e10 100644 --- a/app/scanner/mainwindow.h +++ b/app/scanner/mainwindow.h @@ -286,6 +286,8 @@ private: int m_aquireIntoMultiPageCount; bool m_isScanning; bool m_closeTip; + QString m_devSerialNum; + QString m_devVersionNum; class HGLineEdit* m_multiPageLineEdit; class Widget_StatusBar *m_wndStatusBar;