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)
void dialog_log::on_pbtn_continuScan_cliked()
{
emit continuScan();
bool isContinuScan = true;
emit continuScan(isContinuScan);
}
void dialog_log::on_pbtn_finishScan_cliked()
......
......@@ -40,7 +40,7 @@ private slots:
signals:
void invoke_stop(void);
void continuScan(void);
void continuScan(bool isContinuScan);
private:
Ui::dialog_log *ui;
......
......@@ -49,6 +49,7 @@ MainWindow::MainWindow(QWidget *parent)
, m_scanType(1)
, m_scanInsertPos(-1)
, m_isScanning(false)
, m_isContinuScan(false)
, m_scanFileName("")
, m_scanImgFmtWriter(nullptr)
{
......@@ -214,6 +215,7 @@ MainWindow::MainWindow(QWidget *parent)
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(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(invoke_stop(void)), this, SLOT(on_act_acquireStop_triggered(void)), Qt::QueuedConnection);
......@@ -848,6 +850,12 @@ void MainWindow::on_scan_finish()
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)
{
ui->dockWidget->setVisible(checked);
......@@ -1065,6 +1073,25 @@ void MainWindow::set_actions_enabled(bool 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()
{
int count = 0;
......@@ -2042,6 +2069,18 @@ void MainWindow::on_act_acquire_triggered()
{
m_scanType = 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 (HGBASE_ERR_OK == HGTwain_OpenDS(m_twainDS))
{
......
......@@ -43,6 +43,13 @@ protected:
}
};
enum askIfClear
{
cancel = 0,
clearAndScan,
notClearAndScan
};
class MainWindow : public QMainWindow
{
Q_OBJECT
......@@ -112,6 +119,7 @@ private slots:
void on_new_image(void *img);
void on_scan_working();
void on_scan_finish();
void on_continuScan(bool isContinuScan);
void on_act_thumbnailBar_triggered(bool checked);
......@@ -203,6 +211,7 @@ private:
void updateStatusBarPixelInfo();
void updateActionStatus();
void set_actions_enabled(bool enable);
askIfClear startScanMessageBox(QWidget* parent);
private:
Ui::MainWindow *ui;
......@@ -233,6 +242,7 @@ private:
int m_scanType; // 1-扫描到缓存目录,2-扫描到本地目录
int m_scanInsertPos; // 扫描插入位置,-1表示插入到最后
bool m_isScanning;
bool m_isContinuScan;
QString m_scanFileName;
HGImgFmtWriter m_scanImgFmtWriter;
AquireIntoSaveParam m_aquireIntoSaveParam;
......
......@@ -100,8 +100,8 @@ HEADERS += \
../../../app/scanner/dialog_admin.h \
../../../app/scanner/dialog_log.h \
../../../app/scanner/config.h \
../../../third_party/json/json.h \
../../../third_party/json/cJSON.h \
../../../app/scanner/json/json.h \
../../../app/scanner/json/cJSON.h \
../../../ui/HGImgThumb.h \
../../../ui/HGImgView.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