调整进度指示器扫描张数异常,国产系统不显示开始扫描和完成扫描

This commit is contained in:
yangjiaxuan 2023-08-25 14:26:39 +08:00
parent b2991b2f85
commit 9ef7cdac15
2 changed files with 12 additions and 9 deletions

View File

@ -8,12 +8,12 @@
#include <thread>
extern Manager* g_manager;
static int imageRecivedCount = 0;
Dialog_progress_ui::Dialog_progress_ui(class Manager *mgr, std::function<void (ui_result)> callback, std::function<void (int, void *, int)> *notify, QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog_progress_ui)
, m_isScanning(false)
, m_imageRecivedCount(0)
, m_isScanning(false)
, m_thread(nullptr)
{
ui->setupUi(this);
@ -31,7 +31,7 @@ Dialog_progress_ui::Dialog_progress_ui(class Manager *mgr, std::function<void (u
ui->label_imgRecived->setVisible(false);
ui->lineEdit_imgRecived->setVisible(false);
ui->label_totalImgRecived->setVisible(false);
ui->lineEdit_imgRecived->setText(QString::number(imageRecivedCount));
ui->lineEdit_imgRecived->setText(QString::number(m_imageRecivedCount));
m_mgr = mgr;
m_callback = callback;
@ -50,8 +50,6 @@ Dialog_progress_ui::~Dialog_progress_ui()
m_thread = nullptr;
m_mgr->m_progressUi = nullptr;
imageRecivedCount = 0;
delete ui;
}
@ -108,7 +106,9 @@ void Dialog_progress_ui::on_scan_finish(int flag, QString finishInfo)
on_scan_status(finishInfo, false);
ui->label_totalImgRecived->setVisible(true);
ui->label_totalImgRecived->setText(tr("Total scanned images: %1").arg(QString::number(imageRecivedCount)));
ui->label_totalImgRecived->setText(tr("Total scanned images: %1").arg(QString::number(m_imageRecivedCount)));
m_imageRecivedCount = 0;
if (SCANNER_ERR_OK == flag || SCANNER_ERR_USER_CANCELED == flag)
{
@ -119,7 +119,8 @@ void Dialog_progress_ui::on_scan_finish(int flag, QString finishInfo)
void Dialog_progress_ui::on_image_recived()
{
ui->lineEdit_imgRecived->setText(QString::number(++imageRecivedCount));
m_imageRecivedCount++;
ui->lineEdit_imgRecived->setText(QString::number(m_imageRecivedCount));
}
void HGAPI Dialog_progress_ui::ThreadFunc(HGThread thread, HGPointer param)
@ -147,14 +148,14 @@ void Dialog_progress_ui::FuncNotify(int event, void *msg, int flag)
{
case SANE_EVENT_WORKING:
{
QString finishInfo((char*)msg);
QString finishInfo(tr("Start scan..."));
emit p->scan_status(finishInfo, true);
}
break;
case SANE_EVENT_SCAN_FINISHED:
{
QString finishInfo((char*)msg);
QString finishInfo(tr("Scan completed"));
emit p->scan_finish(flag, finishInfo);
}
break;

View File

@ -49,6 +49,8 @@ public:
private:
Ui::Dialog_progress_ui *ui;
int m_imageRecivedCount;
class Manager *m_mgr;
std::function<void (ui_result)> m_callback;
QTimer *m_timer;