勾选自动保存,不提示保存,直接操作缓存目录文件

This commit is contained in:
yangjiaxuan 2022-10-26 14:20:41 +08:00
parent 625d4bdd03
commit 998149c43f
1 changed files with 40 additions and 17 deletions

View File

@ -1867,7 +1867,7 @@ void MainWindow::on_act_save_triggered()
int count = 0; int count = 0;
if(!auto_save_changes_ || auto_save_info_.path.isEmpty() || !judgeDiskSpace(savePath)) if(!auto_save_changes_ || auto_save_info_.path.isEmpty() || !judgeDiskSpace(savePath))
{ {
Dialog_SaveAs dlg(this); Dialog_SaveAs dlg(this);
if(savePath.length()) if(savePath.length())
{ {
@ -1875,31 +1875,44 @@ void MainWindow::on_act_save_triggered()
if(pos > 0) if(pos > 0)
dlg.set_current_directory(savePath.left(pos)); dlg.set_current_directory(savePath.left(pos));
} }
if (dlg.exec())
if (!auto_save_changes_)
{ {
if(!judgeDiskSpace(savePath)) if (!dlg.exec())
{ {
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
return; return;
} }
savePath = auto_save_info_.path = dlg.getSavePath();
isOcr = auto_save_info_.isOcr = dlg.isOcr();
jpegQuality = auto_save_info_.jpegQuality = dlg.getJpegQuality();
tiffQuality = auto_save_info_.tiffQuality = dlg.getTiffQuality();
tiffCompression = auto_save_info_.tiffCompression = dlg.getTiffCompression();
tiffCompressionBW = auto_save_info_.tiffCompressionBW = dlg.getTiffCompressionBW();
} }
else { else
savePath = m_currFilePath;
if (!judgeDiskSpace(savePath))
{
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
return; return;
} }
if (!auto_save_changes_)
{
savePath = auto_save_info_.path = dlg.getSavePath();
}
isOcr = auto_save_info_.isOcr = dlg.isOcr();
jpegQuality = auto_save_info_.jpegQuality = dlg.getJpegQuality();
tiffQuality = auto_save_info_.tiffQuality = dlg.getTiffQuality();
tiffCompression = auto_save_info_.tiffCompression = dlg.getTiffCompression();
tiffCompressionBW = auto_save_info_.tiffCompressionBW = dlg.getTiffCompressionBW();
} }
if(auto_save_changes_ && save_from_changed_) if(auto_save_changes_ && save_from_changed_)
{ {
// appendix ... // appendix ...
int pos = savePath.lastIndexOf('.'); int pos = savePath.lastIndexOf('.');
char index[20] = {0}; char index[20] = {0};
sprintf(index, "_%03u", ++auto_save_info_.index); if (!auto_save_changes_)
{
sprintf(index, "_%03u", ++auto_save_info_.index);
}
savePath.insert(pos, QString::fromStdString(index)); savePath.insert(pos, QString::fromStdString(index));
m_thumb->notify_mouse_leave(); m_thumb->notify_mouse_leave();
} }
@ -1911,11 +1924,15 @@ void MainWindow::on_act_save_triggered()
m_thumb->getItemFileName(i, fileName); m_thumb->getItemFileName(i, fileName);
assert(!fileName.isEmpty()); assert(!fileName.isEmpty());
if (fileName == savePath) if (!auto_save_changes_)
{ {
find = true; if (fileName == savePath)
break; {
find = true;
break;
}
} }
} }
if (!find) if (!find)
@ -1944,7 +1961,13 @@ void MainWindow::on_act_save_triggered()
if (HGBASE_ERR_OK == saveImage(img, &saveInfo, isOcr, getStdString(savePath).c_str())) if (HGBASE_ERR_OK == saveImage(img, &saveInfo, isOcr, getStdString(savePath).c_str()))
{ {
m_thumb->updateItem(m_currIndex, savePath); if (auto_save_changes_)
{
m_thumb->refreshItem(m_currIndex);
}
else
m_thumb->updateItem(m_currIndex, savePath);
m_currFilePath = savePath; m_currFilePath = savePath;
m_modify = false; m_modify = false;
if(!auto_save_changes_) if(!auto_save_changes_)