HGGitLab

Commit 5ac244a4 authored by yangjiaxuan's avatar yangjiaxuan

增加判断清空扫描

parent bd92a624
This diff is collapsed.
...@@ -88,7 +88,8 @@ void dialog_log::closeEvent(QCloseEvent *event) ...@@ -88,7 +88,8 @@ void dialog_log::closeEvent(QCloseEvent *event)
void dialog_log::on_pbtn_continuScan_cliked() void dialog_log::on_pbtn_continuScan_cliked()
{ {
emit continuScan(); bool isContinuScan = true;
emit continuScan(isContinuScan);
} }
void dialog_log::on_pbtn_finishScan_cliked() void dialog_log::on_pbtn_finishScan_cliked()
......
...@@ -40,7 +40,7 @@ private slots: ...@@ -40,7 +40,7 @@ private slots:
signals: signals:
void invoke_stop(void); void invoke_stop(void);
void continuScan(void); void continuScan(bool isContinuScan);
private: private:
Ui::dialog_log *ui; Ui::dialog_log *ui;
......
...@@ -49,6 +49,7 @@ MainWindow::MainWindow(QWidget *parent) ...@@ -49,6 +49,7 @@ MainWindow::MainWindow(QWidget *parent)
, m_scanType(1) , m_scanType(1)
, m_scanInsertPos(-1) , m_scanInsertPos(-1)
, m_isScanning(false) , m_isScanning(false)
, m_isContinuScan(false)
, m_scanFileName("") , m_scanFileName("")
, m_scanImgFmtWriter(nullptr) , m_scanImgFmtWriter(nullptr)
{ {
...@@ -214,6 +215,7 @@ MainWindow::MainWindow(QWidget *parent) ...@@ -214,6 +215,7 @@ MainWindow::MainWindow(QWidget *parent)
connect(this, SIGNAL(scan_working()), this, SLOT(on_scan_working()), Qt::QueuedConnection); connect(this, SIGNAL(scan_working()), this, SLOT(on_scan_working()), Qt::QueuedConnection);
connect(this, SIGNAL(scan_finish()), this, SLOT(on_scan_finish()), Qt::QueuedConnection); connect(this, SIGNAL(scan_finish()), this, SLOT(on_scan_finish()), Qt::QueuedConnection);
connect(this, SIGNAL(sane_dev_error(QString)), this, SLOT(on_sane_dev_error(QString)), Qt::QueuedConnection); connect(this, SIGNAL(sane_dev_error(QString)), this, SLOT(on_sane_dev_error(QString)), Qt::QueuedConnection);
connect(m_dialog_log, SIGNAL(continuScan(bool)), this, SLOT(on_continuScan(bool)), Qt::QueuedConnection);
connect(m_dialog_log, SIGNAL(continuScan(void)), this, SLOT(on_act_acquire_triggered(void)), Qt::QueuedConnection); connect(m_dialog_log, SIGNAL(continuScan(void)), this, SLOT(on_act_acquire_triggered(void)), Qt::QueuedConnection);
connect(m_dialog_log, SIGNAL(invoke_stop(void)), this, SLOT(on_act_acquireStop_triggered(void)), Qt::QueuedConnection); connect(m_dialog_log, SIGNAL(invoke_stop(void)), this, SLOT(on_act_acquireStop_triggered(void)), Qt::QueuedConnection);
...@@ -848,6 +850,12 @@ void MainWindow::on_scan_finish() ...@@ -848,6 +850,12 @@ void MainWindow::on_scan_finish()
set_actions_enabled(!m_isScanning); set_actions_enabled(!m_isScanning);
} }
void MainWindow::on_continuScan(bool isContinuScan)
{
m_isContinuScan = isContinuScan;
on_act_acquire_triggered();
}
void MainWindow::on_act_thumbnailBar_triggered(bool checked) void MainWindow::on_act_thumbnailBar_triggered(bool checked)
{ {
ui->dockWidget->setVisible(checked); ui->dockWidget->setVisible(checked);
...@@ -1065,6 +1073,25 @@ void MainWindow::set_actions_enabled(bool enable) ...@@ -1065,6 +1073,25 @@ void MainWindow::set_actions_enabled(bool enable)
ui->menu_device->setEnabled(enable); ui->menu_device->setEnabled(enable);
} }
askIfClear MainWindow::startScanMessageBox(QWidget *parent)
{
QMessageBox box(parent);
QPushButton* clearBtn = box.addButton(tr("Clear, then start scan"), QMessageBox::ActionRole);
box.addButton(tr("Do NOT clear, then start scan"), QMessageBox::ActionRole);
QPushButton* cancelBtn = box.addButton(QMessageBox::Cancel);
box.setWindowTitle(tr("Question"));
box.setText(tr("Already exist images in image list.\nDo you want to clear?"));
box.exec();
if (box.clickedButton() == cancelBtn)
return cancel;
else if (box.clickedButton() == clearBtn)
{
on_act_closeAll_triggered();
return clearAndScan;
}
return notClearAndScan;
}
void MainWindow::on_act_openPageNum_triggered() void MainWindow::on_act_openPageNum_triggered()
{ {
int count = 0; int count = 0;
...@@ -2042,6 +2069,18 @@ void MainWindow::on_act_acquire_triggered() ...@@ -2042,6 +2069,18 @@ void MainWindow::on_act_acquire_triggered()
{ {
m_scanType = 1; m_scanType = 1;
m_scanInsertPos = -1; m_scanInsertPos = -1;
int result = 0;
int count = 0;
m_thumb->getItemCount(&count);
if(!m_isContinuScan)
{
if (count != 0)
result = startScanMessageBox(this);
else
result = notClearAndScan;
if(cancel == result)
return;
}
#if defined(HG_CMP_MSC) && defined(APP_USE_TWAIN) #if defined(HG_CMP_MSC) && defined(APP_USE_TWAIN)
if (HGBASE_ERR_OK == HGTwain_OpenDS(m_twainDS)) if (HGBASE_ERR_OK == HGTwain_OpenDS(m_twainDS))
{ {
......
...@@ -43,6 +43,13 @@ protected: ...@@ -43,6 +43,13 @@ protected:
} }
}; };
enum askIfClear
{
cancel = 0,
clearAndScan,
notClearAndScan
};
class MainWindow : public QMainWindow class MainWindow : public QMainWindow
{ {
Q_OBJECT Q_OBJECT
...@@ -112,6 +119,7 @@ private slots: ...@@ -112,6 +119,7 @@ private slots:
void on_new_image(void *img); void on_new_image(void *img);
void on_scan_working(); void on_scan_working();
void on_scan_finish(); void on_scan_finish();
void on_continuScan(bool isContinuScan);
void on_act_thumbnailBar_triggered(bool checked); void on_act_thumbnailBar_triggered(bool checked);
...@@ -203,6 +211,7 @@ private: ...@@ -203,6 +211,7 @@ private:
void updateStatusBarPixelInfo(); void updateStatusBarPixelInfo();
void updateActionStatus(); void updateActionStatus();
void set_actions_enabled(bool enable); void set_actions_enabled(bool enable);
askIfClear startScanMessageBox(QWidget* parent);
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
...@@ -233,6 +242,7 @@ private: ...@@ -233,6 +242,7 @@ private:
int m_scanType; // 1-扫描到缓存目录,2-扫描到本地目录 int m_scanType; // 1-扫描到缓存目录,2-扫描到本地目录
int m_scanInsertPos; // 扫描插入位置,-1表示插入到最后 int m_scanInsertPos; // 扫描插入位置,-1表示插入到最后
bool m_isScanning; bool m_isScanning;
bool m_isContinuScan;
QString m_scanFileName; QString m_scanFileName;
HGImgFmtWriter m_scanImgFmtWriter; HGImgFmtWriter m_scanImgFmtWriter;
AquireIntoSaveParam m_aquireIntoSaveParam; AquireIntoSaveParam m_aquireIntoSaveParam;
......
...@@ -100,8 +100,8 @@ HEADERS += \ ...@@ -100,8 +100,8 @@ HEADERS += \
../../../app/scanner/dialog_admin.h \ ../../../app/scanner/dialog_admin.h \
../../../app/scanner/dialog_log.h \ ../../../app/scanner/dialog_log.h \
../../../app/scanner/config.h \ ../../../app/scanner/config.h \
../../../third_party/json/json.h \ ../../../app/scanner/json/json.h \
../../../third_party/json/cJSON.h \ ../../../app/scanner/json/cJSON.h \
../../../ui/HGImgThumb.h \ ../../../ui/HGImgThumb.h \
../../../ui/HGImgView.h \ ../../../ui/HGImgView.h \
../../../ui/HGUIGlobal.h ../../../ui/HGUIGlobal.h
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment