HGGitLab

Commit 8474e80e authored by luoliangyi's avatar luoliangyi

在扫描前提示改动的图像是否需要保存

parent a44d5979
...@@ -857,6 +857,8 @@ void MainWindow::on_continueScan() ...@@ -857,6 +857,8 @@ void MainWindow::on_continueScan()
return; return;
} }
startSaveMessageBox(m_dialogLog);
SANE_Status ret; SANE_Status ret;
if (m_singleScan) if (m_singleScan)
ret = sane_io_control(cur_dev_.handle(), IO_CTRL_CODE_TEST_SINGLE, nullptr, nullptr); ret = sane_io_control(cur_dev_.handle(), IO_CTRL_CODE_TEST_SINGLE, nullptr, nullptr);
...@@ -1115,6 +1117,30 @@ void MainWindow::updateActionStatus() ...@@ -1115,6 +1117,30 @@ void MainWindow::updateActionStatus()
m_moveToAction->setEnabled(!selectIndexs.empty() && (!cur_dev_.is_online() || !m_isScanning)); m_moveToAction->setEnabled(!selectIndexs.empty() && (!cur_dev_.is_online() || !m_isScanning));
} }
void MainWindow::startSaveMessageBox(QWidget* parent)
{
HGImage img = nullptr;
m_view->getImage(&img);
if (nullptr != img && m_relation && m_modify && -1 != m_currIndex && m_multiPageCount == 1)
{
QMessageBox msg(QMessageBox::Question, tr("Question"),
tr("modified, save it?"),
QMessageBox::Yes | QMessageBox::No, parent);
msg.setButtonText(QMessageBox::Yes, tr("yes"));
msg.setButtonText(QMessageBox::No, tr("no"));
msg.exec();
if (msg.clickedButton() != msg.button(QMessageBox::Yes))
{
m_modify = false;
updateActionStatus();
}
else
{
on_act_save_triggered();
}
}
}
askIfClear MainWindow::startScanMessageBox(QWidget *parent) askIfClear MainWindow::startScanMessageBox(QWidget *parent)
{ {
QMessageBox box(parent); QMessageBox box(parent);
...@@ -1398,26 +1424,7 @@ void MainWindow::on_act_closeFile_triggered() ...@@ -1398,26 +1424,7 @@ void MainWindow::on_act_closeFile_triggered()
m_thumb->itemIsSelect(m_currIndex, &select); m_thumb->itemIsSelect(m_currIndex, &select);
if (select) if (select)
{ {
HGImage img = nullptr; startSaveMessageBox(this);
m_view->getImage(&img);
if (nullptr != img && m_relation && m_modify && -1 != m_currIndex && m_multiPageCount == 1)
{
QMessageBox msg(QMessageBox::Question, tr("Question"),
tr("modified, save it?"),
QMessageBox::Yes | QMessageBox::No, this);
msg.setButtonText(QMessageBox::Yes, tr("yes"));
msg.setButtonText(QMessageBox::No, tr("no"));
msg.exec();
if (msg.clickedButton() != msg.button(QMessageBox::Yes))
{
m_modify = false;
updateActionStatus();
}
else
{
on_act_save_triggered();
}
}
} }
} }
...@@ -1438,26 +1445,7 @@ void MainWindow::on_act_closeAll_triggered() ...@@ -1438,26 +1445,7 @@ void MainWindow::on_act_closeAll_triggered()
return; return;
} }
HGImage img = nullptr; startSaveMessageBox(this);
m_view->getImage(&img);
if (nullptr != img && m_relation && m_modify && -1 != m_currIndex && m_multiPageCount == 1)
{
QMessageBox msg(QMessageBox::Question, tr("Question"),
tr("modified, save it?"),
QMessageBox::Yes | QMessageBox::No, this);
msg.setButtonText(QMessageBox::Yes, tr("yes"));
msg.setButtonText(QMessageBox::No, tr("no"));
msg.exec();
if (msg.clickedButton() != msg.button(QMessageBox::Yes))
{
m_modify = false;
updateActionStatus();
}
else
{
on_act_save_triggered();
}
}
m_thumb->removeAllItems(HGImgThumb::ThumbRemoveFlag_NULL); m_thumb->removeAllItems(HGImgThumb::ThumbRemoveFlag_NULL);
} }
...@@ -2130,6 +2118,8 @@ void MainWindow::on_act_acquire_triggered() ...@@ -2130,6 +2118,8 @@ void MainWindow::on_act_acquire_triggered()
return; return;
} }
startSaveMessageBox(this);
SANE_Status ret = sane_start(cur_dev_.handle()); SANE_Status ret = sane_start(cur_dev_.handle());
if (ret != SANE_STATUS_GOOD) if (ret != SANE_STATUS_GOOD)
{ {
...@@ -2174,6 +2164,8 @@ void MainWindow::on_act_acquireSingle_triggered() ...@@ -2174,6 +2164,8 @@ void MainWindow::on_act_acquireSingle_triggered()
return; return;
} }
startSaveMessageBox(this);
SANE_Status ret = sane_io_control(cur_dev_.handle(), IO_CTRL_CODE_TEST_SINGLE, nullptr, nullptr); SANE_Status ret = sane_io_control(cur_dev_.handle(), IO_CTRL_CODE_TEST_SINGLE, nullptr, nullptr);
if (ret != SANE_STATUS_GOOD) if (ret != SANE_STATUS_GOOD)
{ {
...@@ -2228,6 +2220,8 @@ void MainWindow::on_act_acquireInto_triggered() ...@@ -2228,6 +2220,8 @@ void MainWindow::on_act_acquireInto_triggered()
return; return;
} }
startSaveMessageBox(this);
SANE_Status ret = sane_start(cur_dev_.handle()); SANE_Status ret = sane_start(cur_dev_.handle());
if (ret != SANE_STATUS_GOOD) if (ret != SANE_STATUS_GOOD)
{ {
...@@ -2287,6 +2281,8 @@ void MainWindow::on_act_insertFromScanner_triggered() ...@@ -2287,6 +2281,8 @@ void MainWindow::on_act_insertFromScanner_triggered()
return; return;
} }
startSaveMessageBox(this);
SANE_Status ret = sane_start(cur_dev_.handle()); SANE_Status ret = sane_start(cur_dev_.handle());
if (ret != SANE_STATUS_GOOD) if (ret != SANE_STATUS_GOOD)
{ {
......
...@@ -203,6 +203,7 @@ private: ...@@ -203,6 +203,7 @@ private:
int getMultiPageCount(); int getMultiPageCount();
void updateStatusBarPixelInfo(); void updateStatusBarPixelInfo();
void updateActionStatus(); void updateActionStatus();
void startSaveMessageBox(QWidget* parent);
askIfClear startScanMessageBox(QWidget* parent); askIfClear startScanMessageBox(QWidget* parent);
bool startSpaceCheck(QWidget* parent); bool startSpaceCheck(QWidget* parent);
QString passwordEncrypt(const QString& password); QString passwordEncrypt(const QString& password);
......
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