twain增加开始和结束扫描事件,调整获取驱动日志和设备日志

This commit is contained in:
yangjiaxuan 2023-05-20 16:08:55 +08:00
parent 9187da7cb5
commit c3ddc4a1cc
16 changed files with 408 additions and 349 deletions

View File

@ -46,18 +46,18 @@ QString DeviceUser::GetName()
HGResult DeviceUser::ShowSettingDlg() HGResult DeviceUser::ShowSettingDlg()
{ {
return HGTwain_EnableDSUIOnly(m_twainDS, (HWND)m_wnd->winId(), DSCloseReqFunc, this); return HGTwain_EnableDSUIOnly(m_twainDS, (HWND)m_wnd->winId(), DSEventFunc, this);
} }
HGResult DeviceUser::StartScan() HGResult DeviceUser::StartScan()
{ {
return HGTwain_EnableDS(m_twainDS, HGFALSE, nullptr, DSCloseReqFunc, this, DSImageFunc, this); return HGTwain_EnableDS(m_twainDS, HGFALSE, nullptr, DSEventFunc, this, DSImageFunc, this);
} }
void HGAPI DeviceUser::DSCloseReqFunc(HGTwainDS ds, HGPointer param) void HGAPI DeviceUser::DSEventFunc(HGTwainDS ds, HGUInt event, HGPointer param)
{ {
DeviceUser* p = (DeviceUser*)param; DeviceUser* p = (DeviceUser*)param;
HGTwain_DisableDS(p->m_twainDS); emit p->scanEvent(event);
} }
void HGAPI DeviceUser::DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param) void HGAPI DeviceUser::DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param)

View File

@ -40,11 +40,12 @@ public:
HGResult StartScan(); HGResult StartScan();
private: private:
static void HGAPI DSCloseReqFunc(HGTwainDS ds, HGPointer param); static void HGAPI DSEventFunc(HGTwainDS ds, HGUInt event, HGPointer param);
static void HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param); static void HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param);
signals: signals:
void newImage(void *image); void newImage(void *image);
void scanEvent(HGUInt event);
private: private:
QWidget *m_wnd; QWidget *m_wnd;

View File

@ -43,6 +43,11 @@ void MainWindow::on_newImage(void *image)
HGBase_DestroyImage((HGImage)image); HGBase_DestroyImage((HGImage)image);
} }
void MainWindow::on_scanEvent(HGUInt event)
{
}
void MainWindow::on_pushButton_selectDev_clicked() void MainWindow::on_pushButton_selectDev_clicked()
{ {
#if 1 #if 1
@ -59,6 +64,7 @@ void MainWindow::on_pushButton_selectDev_clicked()
{ {
m_devUser = devUser; m_devUser = devUser;
connect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*))); connect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*)));
connect(m_devUser, &DeviceUser::scanEvent, this, &MainWindow::on_scanEvent, Qt::QueuedConnection);
ui->label_currDevName->setText(m_devUser->GetName()); ui->label_currDevName->setText(m_devUser->GetName());
} }
#else #else

View File

@ -19,6 +19,8 @@ public:
private slots: private slots:
void on_newImage(void *image); void on_newImage(void *image);
void on_scanEvent(HGUInt event);
void on_pushButton_selectDev_clicked(); void on_pushButton_selectDev_clicked();
void on_pushButton_setting_clicked(); void on_pushButton_setting_clicked();

Binary file not shown.

View File

@ -8,6 +8,21 @@
<translation type="obsolete">0×0×0 {200?}</translation> <translation type="obsolete">0×0×0 {200?}</translation>
</message> </message>
</context> </context>
<context>
<name>DeviceUser</name>
<message>
<location filename="device_user.cpp" line="94"/>
<location filename="device_user.cpp" line="109"/>
<source>Select log file path</source>
<translation></translation>
</message>
<message>
<location filename="device_user.cpp" line="94"/>
<location filename="device_user.cpp" line="109"/>
<source>text(*.txt)</source>
<translation>(*.txt)</translation>
</message>
</context>
<context> <context>
<name>Dialog_Admin</name> <name>Dialog_Admin</name>
<message> <message>
@ -2065,7 +2080,7 @@ bug description:
</message> </message>
<message> <message>
<location filename="mainwindow.ui" line="302"/> <location filename="mainwindow.ui" line="302"/>
<location filename="mainwindow.cpp" line="153"/> <location filename="mainwindow.cpp" line="152"/>
<source>act_acquireInto</source> <source>act_acquireInto</source>
<translation>...</translation> <translation>...</translation>
</message> </message>
@ -2295,48 +2310,48 @@ bug description:
<translation>...</translation> <translation>...</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="125"/> <location filename="mainwindow.cpp" line="124"/>
<source>HuaGoScan</source> <source>HuaGoScan</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="305"/> <location filename="mainwindow.cpp" line="304"/>
<source>Grid</source> <source>Grid</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="310"/> <location filename="mainwindow.cpp" line="309"/>
<source>Move To...</source> <source>Move To...</source>
<translation>...</translation> <translation>...</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="314"/> <location filename="mainwindow.cpp" line="313"/>
<source>Insert files</source> <source>Insert files</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="333"/> <location filename="mainwindow.cpp" line="331"/>
<location filename="mainwindow.cpp" line="334"/> <location filename="mainwindow.cpp" line="332"/>
<source>nodevice</source> <source>nodevice</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="793"/> <location filename="mainwindow.cpp" line="792"/>
<location filename="mainwindow.cpp" line="1492"/> <location filename="mainwindow.cpp" line="1564"/>
<location filename="mainwindow.cpp" line="1515"/> <location filename="mainwindow.cpp" line="1587"/>
<location filename="mainwindow.cpp" line="2306"/> <location filename="mainwindow.cpp" line="2378"/>
<location filename="mainwindow.cpp" line="2603"/> <location filename="mainwindow.cpp" line="2675"/>
<source>Question</source> <source>Question</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1493"/> <location filename="mainwindow.cpp" line="1565"/>
<source>modified, save it?</source> <source>modified, save it?</source>
<translation> <translation>
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="794"/> <location filename="mainwindow.cpp" line="793"/>
<source>file lost, remove it?</source> <source>file lost, remove it?</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2361,17 +2376,17 @@ bug description:
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1511"/> <location filename="mainwindow.cpp" line="1583"/>
<source>Clear, then start scan</source> <source>Clear, then start scan</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1512"/> <location filename="mainwindow.cpp" line="1584"/>
<source>Do NOT clear, then start scan</source> <source>Do NOT clear, then start scan</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1516"/> <location filename="mainwindow.cpp" line="1588"/>
<source>Already exist images in image list. <source>Already exist images in image list.
Do you want to clear?</source> Do you want to clear?</source>
<translation> <translation>
@ -2386,12 +2401,12 @@ Do you want to clear?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1739"/> <location filename="mainwindow.cpp" line="1811"/>
<source>Open images</source> <source>Open images</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1750"/> <location filename="mainwindow.cpp" line="1822"/>
<source>Insert images</source> <source>Insert images</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2404,17 +2419,17 @@ Do you want to clear?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1107"/> <location filename="mainwindow.cpp" line="1137"/>
<source>binary</source> <source>binary</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1109"/> <location filename="mainwindow.cpp" line="1139"/>
<source>gray</source> <source>gray</source>
<translation>256</translation> <translation>256</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1111"/> <location filename="mainwindow.cpp" line="1141"/>
<source>rgb</source> <source>rgb</source>
<translation>24</translation> <translation>24</translation>
</message> </message>
@ -2423,200 +2438,200 @@ Do you want to clear?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="117"/> <location filename="mainwindow.cpp" line="116"/>
<source>UniScan</source> <source>UniScan</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="121"/> <location filename="mainwindow.cpp" line="120"/>
<source>Scan</source> <source>Scan</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="676"/> <location filename="mainwindow.cpp" line="675"/>
<location filename="mainwindow.cpp" line="3517"/> <location filename="mainwindow.cpp" line="3589"/>
<source>default scheme</source> <source>default scheme</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1242"/> <location filename="mainwindow.cpp" line="1314"/>
<source>thumbnailBar enabled</source> <source>thumbnailBar enabled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1246"/> <location filename="mainwindow.cpp" line="1318"/>
<source>thumbnailBar hidden</source> <source>thumbnailBar hidden</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1514"/> <location filename="mainwindow.cpp" line="1586"/>
<source>cancel</source> <source>cancel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1957"/> <location filename="mainwindow.cpp" line="2029"/>
<location filename="mainwindow.cpp" line="2021"/> <location filename="mainwindow.cpp" line="2093"/>
<location filename="mainwindow.cpp" line="2097"/> <location filename="mainwindow.cpp" line="2169"/>
<source>save succeed</source> <source>save succeed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1968"/> <location filename="mainwindow.cpp" line="2040"/>
<location filename="mainwindow.cpp" line="2108"/> <location filename="mainwindow.cpp" line="2180"/>
<source>find savePath in thumbnail</source> <source>find savePath in thumbnail</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2132"/> <location filename="mainwindow.cpp" line="2204"/>
<source>Please select at least one picture before export</source> <source>Please select at least one picture before export</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>File name</source> <source>File name</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>File path</source> <source>File path</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>File size</source> <source>File size</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>Creation date/time</source> <source>Creation date/time</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>Modified date/time</source> <source>Modified date/time</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>Accessed date/time</source> <source>Accessed date/time</source>
<translation>访</translation> <translation>访</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Format</source> <source>Format</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Width</source> <source>Width</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Height</source> <source>Height</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>depth</source> <source>depth</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Color model</source> <source>Color model</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>DPI</source> <source>DPI</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Print size</source> <source>Print size</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Frame</source> <source>Frame</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2251"/> <location filename="mainwindow.cpp" line="2323"/>
<source>None</source> <source>None</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2251"/> <location filename="mainwindow.cpp" line="2323"/>
<source>Mono</source> <source>Mono</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2251"/> <location filename="mainwindow.cpp" line="2323"/>
<source>Gray</source> <source>Gray</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2251"/> <location filename="mainwindow.cpp" line="2323"/>
<source>Color</source> <source>Color</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2255"/> <location filename="mainwindow.cpp" line="2327"/>
<source>Not supported</source> <source>Not supported</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2283"/> <location filename="mainwindow.cpp" line="2355"/>
<source>Warning</source> <source>Warning</source>
<translation> <translation>
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2283"/> <location filename="mainwindow.cpp" line="2355"/>
<source>Device is Running! <source>Device is Running!
Please finish scanning first.</source> Please finish scanning first.</source>
<translation> <translation>
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2769"/> <location filename="mainwindow.cpp" line="2841"/>
<source>&lt;p&gt;DriverVer: %1&lt;/p&gt;</source> <source>&lt;p&gt;DriverVer: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2770"/> <location filename="mainwindow.cpp" line="2842"/>
<source>&lt;p&gt;Vendor: %1&lt;/p&gt;</source> <source>&lt;p&gt;Vendor: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2771"/> <location filename="mainwindow.cpp" line="2843"/>
<source>&lt;p&gt;Copyright: %1&lt;/p&gt;</source> <source>&lt;p&gt;Copyright: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2772"/> <location filename="mainwindow.cpp" line="2844"/>
<source>&lt;p&gt;Company website: &lt;a href=%1&gt;%1&lt;/p&gt;</source> <source>&lt;p&gt;Company website: &lt;a href=%1&gt;%1&lt;/p&gt;</source>
<translation>&lt;p&gt;: &lt;a href=%1&gt;%1&lt;/p&gt;</translation> <translation>&lt;p&gt;: &lt;a href=%1&gt;%1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2773"/> <location filename="mainwindow.cpp" line="2845"/>
<source>&lt;p&gt;Company address: %1&lt;/p&gt;</source> <source>&lt;p&gt;Company address: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2774"/> <location filename="mainwindow.cpp" line="2846"/>
<source>&lt;p&gt;Company telephone: %1&lt;/p&gt;</source> <source>&lt;p&gt;Company telephone: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2775"/> <location filename="mainwindow.cpp" line="2847"/>
<source>&lt;p&gt;Company GPS: &lt;a href=%1&gt;%2&lt;/p&gt;</source> <source>&lt;p&gt;Company GPS: &lt;a href=%1&gt;%2&lt;/p&gt;</source>
<translation>&lt;p&gt;: &lt;a href=%1&gt;%2&lt;/p&gt;</translation> <translation>&lt;p&gt;: &lt;a href=%1&gt;%2&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2775"/> <location filename="mainwindow.cpp" line="2847"/>
<source>Baidu map access</source> <source>Baidu map access</source>
<translation>访</translation> <translation>访</translation>
</message> </message>
@ -2633,7 +2648,7 @@ Please finish scanning first.</source>
<translation type="vanished">: %1</translation> <translation type="vanished">: %1</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3769"/> <location filename="mainwindow.cpp" line="3842"/>
<source>Device %1 is open</source> <source>Device %1 is open</source>
<translation> %1 </translation> <translation> %1 </translation>
</message> </message>
@ -2642,70 +2657,70 @@ Please finish scanning first.</source>
<translation type="obsolete"></translation> <translation type="obsolete"></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3321"/> <location filename="mainwindow.cpp" line="3393"/>
<source>cache path folder limit:%1</source> <source>cache path folder limit:%1</source>
<translation>访%1 <translation>访%1
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3325"/> <location filename="mainwindow.cpp" line="3397"/>
<source>aquireinto folder limit:%1</source> <source>aquireinto folder limit:%1</source>
<translation>访%1 <translation>访%1
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3409"/> <location filename="mainwindow.cpp" line="3481"/>
<source>Image processing failed</source> <source>Image processing failed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3413"/> <location filename="mainwindow.cpp" line="3485"/>
<source>Ocr init failed</source> <source>Ocr init failed</source>
<translation>OCR初始化错误</translation> <translation>OCR初始化错误</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3417"/> <location filename="mainwindow.cpp" line="3489"/>
<source>Ocr failed</source> <source>Ocr failed</source>
<translation>OCR错误</translation> <translation>OCR错误</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3421"/> <location filename="mainwindow.cpp" line="3493"/>
<source>File does not exist</source> <source>File does not exist</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3425"/> <location filename="mainwindow.cpp" line="3497"/>
<source>Failed to load dynamic library</source> <source>Failed to load dynamic library</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3429"/> <location filename="mainwindow.cpp" line="3501"/>
<source>File data error</source> <source>File data error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3433"/> <location filename="mainwindow.cpp" line="3505"/>
<source>Image format processing error</source> <source>Image format processing error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3437"/> <location filename="mainwindow.cpp" line="3509"/>
<source>Out of memory</source> <source>Out of memory</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3441"/> <location filename="mainwindow.cpp" line="3513"/>
<source>Failed</source> <source>Failed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3690"/> <location filename="mainwindow.cpp" line="3762"/>
<location filename="mainwindow.cpp" line="3709"/> <location filename="mainwindow.cpp" line="3781"/>
<source>The language switch is successful and takes effect the next time the software is started!</source> <source>The language switch is successful and takes effect the next time the software is started!</source>
<translation>!</translation> <translation>!</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3747"/> <location filename="mainwindow.cpp" line="3819"/>
<source>Are you sure to delete selected file?</source> <source>Are you sure to delete selected file?</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2723,7 +2738,7 @@ Please finish scanning first.</source>
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3405"/> <location filename="mainwindow.cpp" line="3477"/>
<source>Insufficient access rights</source> <source>Insufficient access rights</source>
<translation>访</translation> <translation>访</translation>
</message> </message>
@ -2748,18 +2763,18 @@ Please finish scanning first.</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3633"/> <location filename="mainwindow.cpp" line="3705"/>
<source>tip</source> <source>tip</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3633"/> <location filename="mainwindow.cpp" line="3705"/>
<source>Other versions not available</source> <source>Other versions not available</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3655"/> <location filename="mainwindow.cpp" line="3727"/>
<location filename="mainwindow.cpp" line="3671"/> <location filename="mainwindow.cpp" line="3743"/>
<source>The device does not support this operation</source> <source>The device does not support this operation</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2768,8 +2783,8 @@ Please finish scanning first.</source>
<translation type="vanished">IO错误</translation> <translation type="vanished">IO错误</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3290"/> <location filename="mainwindow.cpp" line="3362"/>
<location filename="mainwindow.cpp" line="3328"/> <location filename="mainwindow.cpp" line="3400"/>
<source>error</source> <source>error</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2784,7 +2799,7 @@ Continue to close?</source>
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2604"/> <location filename="mainwindow.cpp" line="2676"/>
<source>Sure to sign out administrator account?</source> <source>Sure to sign out administrator account?</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2850,106 +2865,106 @@ Continue to close?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="659"/>
<location filename="mainwindow.cpp" line="660"/> <location filename="mainwindow.cpp" line="660"/>
<location filename="mainwindow.cpp" line="661"/> <location filename="mainwindow.cpp" line="2898"/>
<location filename="mainwindow.cpp" line="2826"/> <location filename="mainwindow.cpp" line="2899"/>
<location filename="mainwindow.cpp" line="2827"/> <location filename="mainwindow.cpp" line="2943"/>
<location filename="mainwindow.cpp" line="2871"/> <location filename="mainwindow.cpp" line="2944"/>
<location filename="mainwindow.cpp" line="2872"/> <location filename="mainwindow.cpp" line="3008"/>
<location filename="mainwindow.cpp" line="2936"/> <location filename="mainwindow.cpp" line="3009"/>
<location filename="mainwindow.cpp" line="2937"/> <location filename="mainwindow.cpp" line="3069"/>
<location filename="mainwindow.cpp" line="2997"/> <location filename="mainwindow.cpp" line="3070"/>
<location filename="mainwindow.cpp" line="2998"/>
<source>start failed</source> <source>start failed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="101"/> <location filename="mainwindow.cpp" line="100"/>
<source>HanvonScan</source> <source>HanvonScan</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="104"/>
<source>LanxumScan</source> <source>LanxumScan</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="109"/> <location filename="mainwindow.cpp" line="108"/>
<source>CumtennScan</source> <source>CumtennScan</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="113"/> <location filename="mainwindow.cpp" line="112"/>
<source>MicrotekScan</source> <source>MicrotekScan</source>
<translation>Microtek DocWizard EX </translation> <translation>Microtek DocWizard EX </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="179"/> <location filename="mainwindow.cpp" line="178"/>
<source>menu_language</source> <source>menu_language</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="180"/> <location filename="mainwindow.cpp" line="179"/>
<source>act_simpCN</source> <source>act_simpCN</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="181"/> <location filename="mainwindow.cpp" line="180"/>
<source>act_English</source> <source>act_English</source>
<translation>English</translation> <translation>English</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="367"/> <location filename="mainwindow.cpp" line="365"/>
<source>auto save</source> <source>auto save</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="368"/> <location filename="mainwindow.cpp" line="366"/>
<source>when switching pictures, save the edited pictures directly without reminding</source> <source>when switching pictures, save the edited pictures directly without reminding</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="535"/> <location filename="mainwindow.cpp" line="534"/>
<source>statusBar displayed</source> <source>statusBar displayed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="539"/> <location filename="mainwindow.cpp" line="538"/>
<source>statusBar hidden</source> <source>statusBar hidden</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="548"/> <location filename="mainwindow.cpp" line="547"/>
<source>toolBar displayed</source> <source>toolBar displayed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="552"/> <location filename="mainwindow.cpp" line="551"/>
<source>toolBar hidden</source> <source>toolBar hidden</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="561"/> <location filename="mainwindow.cpp" line="560"/>
<source>colorInfo enabled</source> <source>colorInfo enabled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="565"/> <location filename="mainwindow.cpp" line="564"/>
<source>colorInfo disenabled</source> <source>colorInfo disenabled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="598"/> <location filename="mainwindow.cpp" line="597"/>
<source>enabling automatic saving</source> <source>enabling automatic saving</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="602"/> <location filename="mainwindow.cpp" line="601"/>
<source>cancel auto save</source> <source>cancel auto save</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="727"/> <location filename="mainwindow.cpp" line="726"/>
<source>Automatically save the edited the edited iamge when switching pictures. To cancel, uncheck the menu item: image-&gt; automatically save</source> <source>Automatically save the edited the edited iamge when switching pictures. To cancel, uncheck the menu item: image-&gt; automatically save</source>
<translation>-&gt;</translation> <translation>-&gt;</translation>
</message> </message>
@ -2978,32 +2993,28 @@ Continue to close?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1005"/>
<source>save image failed: </source> <source>save image failed: </source>
<translation> </translation> <translation type="vanished"> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1038"/>
<location filename="mainwindow.cpp" line="1119"/>
<source>create savepath failed: </source> <source>create savepath failed: </source>
<translation> </translation> <translation type="vanished"> </translation>
</message> </message>
<message> <message>
<source>%1%2%3.%4</source> <source>%1%2%3.%4</source>
<translation type="vanished">%1%2%3.%4</translation> <translation type="vanished">%1%2%3.%4</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1061"/>
<source>create image doc failed: </source> <source>create image doc failed: </source>
<translation> </translation> <translation type="vanished"> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1962"/> <location filename="mainwindow.cpp" line="2034"/>
<location filename="mainwindow.cpp" line="1963"/> <location filename="mainwindow.cpp" line="2035"/>
<location filename="mainwindow.cpp" line="2026"/> <location filename="mainwindow.cpp" line="2098"/>
<location filename="mainwindow.cpp" line="2027"/> <location filename="mainwindow.cpp" line="2099"/>
<location filename="mainwindow.cpp" line="2102"/> <location filename="mainwindow.cpp" line="2174"/>
<location filename="mainwindow.cpp" line="2103"/> <location filename="mainwindow.cpp" line="2175"/>
<source>save image doc failed: </source> <source>save image doc failed: </source>
<translation> </translation> <translation> </translation>
</message> </message>
@ -3042,17 +3053,17 @@ Continue to close?</source>
<translation type="vanished">: %1</translation> <translation type="vanished">: %1</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3105"/> <location filename="mainwindow.cpp" line="3177"/>
<source>Detected that there is less than 1GB of disk space. Do you want to continue?</source> <source>Detected that there is less than 1GB of disk space. Do you want to continue?</source>
<translation>1GB?</translation> <translation>1GB?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3291"/> <location filename="mainwindow.cpp" line="3363"/>
<source>start failed!</source> <source>start failed!</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2307"/> <location filename="mainwindow.cpp" line="2379"/>
<source>There are pictures that have not been saved. <source>There are pictures that have not been saved.
Are you sure to close?</source> Are you sure to close?</source>
<translation></translation> <translation></translation>
@ -3062,39 +3073,39 @@ Are you sure to close?</source>
<translation type="vanished"> : %1</translation> <translation type="vanished"> : %1</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1957"/> <location filename="mainwindow.cpp" line="2029"/>
<location filename="mainwindow.cpp" line="1962"/> <location filename="mainwindow.cpp" line="2034"/>
<location filename="mainwindow.cpp" line="1968"/> <location filename="mainwindow.cpp" line="2040"/>
<location filename="mainwindow.cpp" line="2021"/> <location filename="mainwindow.cpp" line="2093"/>
<location filename="mainwindow.cpp" line="2026"/> <location filename="mainwindow.cpp" line="2098"/>
<location filename="mainwindow.cpp" line="2097"/> <location filename="mainwindow.cpp" line="2169"/>
<location filename="mainwindow.cpp" line="2102"/> <location filename="mainwindow.cpp" line="2174"/>
<location filename="mainwindow.cpp" line="2108"/> <location filename="mainwindow.cpp" line="2180"/>
<location filename="mainwindow.cpp" line="2132"/> <location filename="mainwindow.cpp" line="2204"/>
<location filename="mainwindow.cpp" line="2318"/> <location filename="mainwindow.cpp" line="2390"/>
<location filename="mainwindow.cpp" line="2667"/> <location filename="mainwindow.cpp" line="2739"/>
<location filename="mainwindow.cpp" line="2671"/> <location filename="mainwindow.cpp" line="2743"/>
<location filename="mainwindow.cpp" line="3105"/> <location filename="mainwindow.cpp" line="3177"/>
<location filename="mainwindow.cpp" line="3655"/> <location filename="mainwindow.cpp" line="3727"/>
<location filename="mainwindow.cpp" line="3671"/> <location filename="mainwindow.cpp" line="3743"/>
<location filename="mainwindow.cpp" line="3689"/> <location filename="mainwindow.cpp" line="3761"/>
<location filename="mainwindow.cpp" line="3708"/> <location filename="mainwindow.cpp" line="3780"/>
<location filename="mainwindow.cpp" line="3747"/> <location filename="mainwindow.cpp" line="3819"/>
<source>tips</source> <source>tips</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2319"/> <location filename="mainwindow.cpp" line="2391"/>
<source>Are you sure to close?</source> <source>Are you sure to close?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2655"/> <location filename="mainwindow.cpp" line="2727"/>
<source>confirm operation</source> <source>confirm operation</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2656"/> <location filename="mainwindow.cpp" line="2728"/>
<source>are you sure to clear the roller count?</source> <source>are you sure to clear the roller count?</source>
<translation></translation> <translation></translation>
</message> </message>
@ -3103,22 +3114,22 @@ Are you sure to close?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2667"/> <location filename="mainwindow.cpp" line="2739"/>
<source>Roller scanned count has been set to 0.</source> <source>Roller scanned count has been set to 0.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2671"/> <location filename="mainwindow.cpp" line="2743"/>
<source>Roller scanned count reset failed.</source> <source>Roller scanned count reset failed.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2747"/> <location filename="mainwindow.cpp" line="2819"/>
<source>Error</source> <source>Error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2747"/> <location filename="mainwindow.cpp" line="2819"/>
<source>Document missing! It would be deleted or renamed.</source> <source>Document missing! It would be deleted or renamed.</source>
<translation></translation> <translation></translation>
</message> </message>
@ -3159,7 +3170,7 @@ Are you sure to close?</source>
<translation type="vanished">&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;: %2&lt;br&gt;: &amp;#169; %3&lt;/p&gt;&lt;p&gt;%4%5%6%7%8%9&lt;/p&gt;</translation> <translation type="vanished">&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;: %2&lt;br&gt;: &amp;#169; %3&lt;/p&gt;&lt;p&gt;%4%5%6%7%8%9&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2767"/> <location filename="mainwindow.cpp" line="2839"/>
<source>about %1</source> <source>about %1</source>
<translation> %1</translation> <translation> %1</translation>
</message> </message>

Binary file not shown.

View File

@ -36,6 +36,21 @@
<translation type="vanished">Initialize selected area</translation> <translation type="vanished">Initialize selected area</translation>
</message> </message>
</context> </context>
<context>
<name>DeviceUser</name>
<message>
<location filename="device_user.cpp" line="94"/>
<location filename="device_user.cpp" line="109"/>
<source>Select log file path</source>
<translation>Select log file path</translation>
</message>
<message>
<location filename="device_user.cpp" line="94"/>
<location filename="device_user.cpp" line="109"/>
<source>text(*.txt)</source>
<translation>Text(*.txt)</translation>
</message>
</context>
<context> <context>
<name>Dialog_Admin</name> <name>Dialog_Admin</name>
<message> <message>
@ -1924,7 +1939,7 @@ Please make sure the two passwords are the same.</source>
</message> </message>
<message> <message>
<location filename="mainwindow.ui" line="302"/> <location filename="mainwindow.ui" line="302"/>
<location filename="mainwindow.cpp" line="153"/> <location filename="mainwindow.cpp" line="152"/>
<source>act_acquireInto</source> <source>act_acquireInto</source>
<translation>Scan to...</translation> <translation>Scan to...</translation>
</message> </message>
@ -2154,132 +2169,132 @@ Please make sure the two passwords are the same.</source>
<translation>Select device source...</translation> <translation>Select device source...</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="101"/> <location filename="mainwindow.cpp" line="100"/>
<source>HanvonScan</source> <source>HanvonScan</source>
<translation>Hanvon scanning software</translation> <translation>Hanvon scanning software</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="104"/>
<source>LanxumScan</source> <source>LanxumScan</source>
<translation>LANXUM scanning software</translation> <translation>LANXUM scanning software</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="109"/> <location filename="mainwindow.cpp" line="108"/>
<source>CumtennScan</source> <source>CumtennScan</source>
<translation>CUMTENN scanning software</translation> <translation>CUMTENN scanning software</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="113"/> <location filename="mainwindow.cpp" line="112"/>
<source>MicrotekScan</source> <source>MicrotekScan</source>
<translation>Microtek DocWizard EX V1.0</translation> <translation>Microtek DocWizard EX V1.0</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="125"/> <location filename="mainwindow.cpp" line="124"/>
<source>HuaGoScan</source> <source>HuaGoScan</source>
<translation>HUAGOSCAN scanning software</translation> <translation>HUAGOSCAN scanning software</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="179"/> <location filename="mainwindow.cpp" line="178"/>
<source>menu_language</source> <source>menu_language</source>
<translation>Language</translation> <translation>Language</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="180"/> <location filename="mainwindow.cpp" line="179"/>
<source>act_simpCN</source> <source>act_simpCN</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="181"/> <location filename="mainwindow.cpp" line="180"/>
<source>act_English</source> <source>act_English</source>
<translation>English</translation> <translation>English</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="305"/> <location filename="mainwindow.cpp" line="304"/>
<source>Grid</source> <source>Grid</source>
<translation>Multi-column display</translation> <translation>Multi-column display</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="310"/> <location filename="mainwindow.cpp" line="309"/>
<source>Move To...</source> <source>Move To...</source>
<translation>Move to...</translation> <translation>Move to...</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="314"/> <location filename="mainwindow.cpp" line="313"/>
<source>Insert files</source> <source>Insert files</source>
<translation>Insert file</translation> <translation>Insert file</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="333"/> <location filename="mainwindow.cpp" line="331"/>
<location filename="mainwindow.cpp" line="334"/> <location filename="mainwindow.cpp" line="332"/>
<source>nodevice</source> <source>nodevice</source>
<translation>No scanner detected</translation> <translation>No scanner detected</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="367"/> <location filename="mainwindow.cpp" line="365"/>
<source>auto save</source> <source>auto save</source>
<translation>Auto save</translation> <translation>Auto save</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="368"/> <location filename="mainwindow.cpp" line="366"/>
<source>when switching pictures, save the edited pictures directly without reminding</source> <source>when switching pictures, save the edited pictures directly without reminding</source>
<translation>Do not show prompt and save the edited images directly when switching images.</translation> <translation>Do not show prompt and save the edited images directly when switching images.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="535"/> <location filename="mainwindow.cpp" line="534"/>
<source>statusBar displayed</source> <source>statusBar displayed</source>
<translation>Show status bar</translation> <translation>Show status bar</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="539"/> <location filename="mainwindow.cpp" line="538"/>
<source>statusBar hidden</source> <source>statusBar hidden</source>
<translation>Hide status bar</translation> <translation>Hide status bar</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="548"/> <location filename="mainwindow.cpp" line="547"/>
<source>toolBar displayed</source> <source>toolBar displayed</source>
<translation>Show toolbar</translation> <translation>Show toolbar</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="552"/> <location filename="mainwindow.cpp" line="551"/>
<source>toolBar hidden</source> <source>toolBar hidden</source>
<translation>Hide toolbar</translation> <translation>Hide toolbar</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="561"/> <location filename="mainwindow.cpp" line="560"/>
<source>colorInfo enabled</source> <source>colorInfo enabled</source>
<translation>Enable image information</translation> <translation>Enable image information</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="565"/> <location filename="mainwindow.cpp" line="564"/>
<source>colorInfo disenabled</source> <source>colorInfo disenabled</source>
<translation>Disable image information</translation> <translation>Disable image information</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="598"/> <location filename="mainwindow.cpp" line="597"/>
<source>enabling automatic saving</source> <source>enabling automatic saving</source>
<translation>Enable auto save</translation> <translation>Enable auto save</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="602"/> <location filename="mainwindow.cpp" line="601"/>
<source>cancel auto save</source> <source>cancel auto save</source>
<translation>Cancel auto save</translation> <translation>Cancel auto save</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="727"/> <location filename="mainwindow.cpp" line="726"/>
<source>Automatically save the edited the edited iamge when switching pictures. To cancel, uncheck the menu item: image-&gt; automatically save</source> <source>Automatically save the edited the edited iamge when switching pictures. To cancel, uncheck the menu item: image-&gt; automatically save</source>
<translation>Save edited images automatically when switching images. If you want to cancel, please deselect the menu item: Auto save images.</translation> <translation>Save edited images automatically when switching images. If you want to cancel, please deselect the menu item: Auto save images.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="793"/> <location filename="mainwindow.cpp" line="792"/>
<location filename="mainwindow.cpp" line="1492"/> <location filename="mainwindow.cpp" line="1564"/>
<location filename="mainwindow.cpp" line="1515"/> <location filename="mainwindow.cpp" line="1587"/>
<location filename="mainwindow.cpp" line="2306"/> <location filename="mainwindow.cpp" line="2378"/>
<location filename="mainwindow.cpp" line="2603"/> <location filename="mainwindow.cpp" line="2675"/>
<source>Question</source> <source>Question</source>
<translation>Ask</translation> <translation>Ask</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1493"/> <location filename="mainwindow.cpp" line="1565"/>
<source>modified, save it?</source> <source>modified, save it?</source>
<translation>Image modified, save changes?</translation> <translation>Image modified, save changes?</translation>
</message> </message>
@ -2296,7 +2311,7 @@ Please make sure the two passwords are the same.</source>
<translation type="vanished">No</translation> <translation type="vanished">No</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="794"/> <location filename="mainwindow.cpp" line="793"/>
<source>file lost, remove it?</source> <source>file lost, remove it?</source>
<translation>File lost; delete?</translation> <translation>File lost; delete?</translation>
</message> </message>
@ -2330,68 +2345,64 @@ Please reselect a path or clear disk space immediately.</translation>
<translation type="vanished">Warning</translation> <translation type="vanished">Warning</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1005"/>
<source>save image failed: </source> <source>save image failed: </source>
<translation>Failed to save image: </translation> <translation type="vanished">Failed to save image: </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1038"/>
<location filename="mainwindow.cpp" line="1119"/>
<source>create savepath failed: </source> <source>create savepath failed: </source>
<translation>Failed to create folder: </translation> <translation type="vanished">Failed to create folder: </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1061"/>
<source>create image doc failed: </source> <source>create image doc failed: </source>
<translation>Failed to create image file: </translation> <translation type="vanished">Failed to create image file: </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1962"/> <location filename="mainwindow.cpp" line="2034"/>
<location filename="mainwindow.cpp" line="1963"/> <location filename="mainwindow.cpp" line="2035"/>
<location filename="mainwindow.cpp" line="2026"/> <location filename="mainwindow.cpp" line="2098"/>
<location filename="mainwindow.cpp" line="2027"/> <location filename="mainwindow.cpp" line="2099"/>
<location filename="mainwindow.cpp" line="2102"/> <location filename="mainwindow.cpp" line="2174"/>
<location filename="mainwindow.cpp" line="2103"/> <location filename="mainwindow.cpp" line="2175"/>
<source>save image doc failed: </source> <source>save image doc failed: </source>
<translation>Failed to save image: </translation> <translation>Failed to save image: </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1107"/> <location filename="mainwindow.cpp" line="1137"/>
<source>binary</source> <source>binary</source>
<translation>Black and white</translation> <translation>Black and white</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1109"/> <location filename="mainwindow.cpp" line="1139"/>
<source>gray</source> <source>gray</source>
<translation>Grayscale</translation> <translation>Grayscale</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1111"/> <location filename="mainwindow.cpp" line="1141"/>
<source>rgb</source> <source>rgb</source>
<translation>Color</translation> <translation>Color</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="659"/>
<location filename="mainwindow.cpp" line="660"/> <location filename="mainwindow.cpp" line="660"/>
<location filename="mainwindow.cpp" line="661"/> <location filename="mainwindow.cpp" line="2898"/>
<location filename="mainwindow.cpp" line="2826"/> <location filename="mainwindow.cpp" line="2899"/>
<location filename="mainwindow.cpp" line="2827"/> <location filename="mainwindow.cpp" line="2943"/>
<location filename="mainwindow.cpp" line="2871"/> <location filename="mainwindow.cpp" line="2944"/>
<location filename="mainwindow.cpp" line="2872"/> <location filename="mainwindow.cpp" line="3008"/>
<location filename="mainwindow.cpp" line="2936"/> <location filename="mainwindow.cpp" line="3009"/>
<location filename="mainwindow.cpp" line="2937"/> <location filename="mainwindow.cpp" line="3069"/>
<location filename="mainwindow.cpp" line="2997"/> <location filename="mainwindow.cpp" line="3070"/>
<location filename="mainwindow.cpp" line="2998"/>
<source>start failed</source> <source>start failed</source>
<translation>Failed to start</translation> <translation>Failed to start</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="117"/> <location filename="mainwindow.cpp" line="116"/>
<source>UniScan</source> <source>UniScan</source>
<translation>UNI scanning software</translation> <translation>UNI scanning software</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="676"/> <location filename="mainwindow.cpp" line="675"/>
<location filename="mainwindow.cpp" line="3517"/> <location filename="mainwindow.cpp" line="3589"/>
<source>default scheme</source> <source>default scheme</source>
<translation>Default scheme</translation> <translation>Default scheme</translation>
</message> </message>
@ -2400,7 +2411,7 @@ Please reselect a path or clear disk space immediately.</translation>
<translation type="vanished">Please wake up the device manually</translation> <translation type="vanished">Please wake up the device manually</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="121"/> <location filename="mainwindow.cpp" line="120"/>
<source>Scan</source> <source>Scan</source>
<translation>Scanning software</translation> <translation>Scanning software</translation>
</message> </message>
@ -2409,247 +2420,247 @@ Please reselect a path or clear disk space immediately.</translation>
<translation type="vanished">Device is awake</translation> <translation type="vanished">Device is awake</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1242"/> <location filename="mainwindow.cpp" line="1314"/>
<source>thumbnailBar enabled</source> <source>thumbnailBar enabled</source>
<translation>Show thumbnail bar</translation> <translation>Show thumbnail bar</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1246"/> <location filename="mainwindow.cpp" line="1318"/>
<source>thumbnailBar hidden</source> <source>thumbnailBar hidden</source>
<translation>Hide thumbnail bar</translation> <translation>Hide thumbnail bar</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1511"/> <location filename="mainwindow.cpp" line="1583"/>
<source>Clear, then start scan</source> <source>Clear, then start scan</source>
<translation>Clear and start scan</translation> <translation>Clear and start scan</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1512"/> <location filename="mainwindow.cpp" line="1584"/>
<source>Do NOT clear, then start scan</source> <source>Do NOT clear, then start scan</source>
<translation>Do not clear and start scan</translation> <translation>Do not clear and start scan</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1514"/> <location filename="mainwindow.cpp" line="1586"/>
<source>cancel</source> <source>cancel</source>
<translation>Cancel</translation> <translation>Cancel</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1516"/> <location filename="mainwindow.cpp" line="1588"/>
<source>Already exist images in image list. <source>Already exist images in image list.
Do you want to clear?</source> Do you want to clear?</source>
<translation>Image already exists in the list of images. <translation>Image already exists in the list of images.
Clear?</translation> Clear?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1739"/> <location filename="mainwindow.cpp" line="1811"/>
<source>Open images</source> <source>Open images</source>
<translation>Open image</translation> <translation>Open image</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1750"/> <location filename="mainwindow.cpp" line="1822"/>
<source>Insert images</source> <source>Insert images</source>
<translation>Insert image</translation> <translation>Insert image</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1957"/> <location filename="mainwindow.cpp" line="2029"/>
<location filename="mainwindow.cpp" line="1962"/> <location filename="mainwindow.cpp" line="2034"/>
<location filename="mainwindow.cpp" line="1968"/> <location filename="mainwindow.cpp" line="2040"/>
<location filename="mainwindow.cpp" line="2021"/> <location filename="mainwindow.cpp" line="2093"/>
<location filename="mainwindow.cpp" line="2026"/> <location filename="mainwindow.cpp" line="2098"/>
<location filename="mainwindow.cpp" line="2097"/> <location filename="mainwindow.cpp" line="2169"/>
<location filename="mainwindow.cpp" line="2102"/> <location filename="mainwindow.cpp" line="2174"/>
<location filename="mainwindow.cpp" line="2108"/> <location filename="mainwindow.cpp" line="2180"/>
<location filename="mainwindow.cpp" line="2132"/> <location filename="mainwindow.cpp" line="2204"/>
<location filename="mainwindow.cpp" line="2318"/> <location filename="mainwindow.cpp" line="2390"/>
<location filename="mainwindow.cpp" line="2667"/> <location filename="mainwindow.cpp" line="2739"/>
<location filename="mainwindow.cpp" line="2671"/> <location filename="mainwindow.cpp" line="2743"/>
<location filename="mainwindow.cpp" line="3105"/> <location filename="mainwindow.cpp" line="3177"/>
<location filename="mainwindow.cpp" line="3655"/> <location filename="mainwindow.cpp" line="3727"/>
<location filename="mainwindow.cpp" line="3671"/> <location filename="mainwindow.cpp" line="3743"/>
<location filename="mainwindow.cpp" line="3689"/> <location filename="mainwindow.cpp" line="3761"/>
<location filename="mainwindow.cpp" line="3708"/> <location filename="mainwindow.cpp" line="3780"/>
<location filename="mainwindow.cpp" line="3747"/> <location filename="mainwindow.cpp" line="3819"/>
<source>tips</source> <source>tips</source>
<translation>prompt</translation> <translation>prompt</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1957"/> <location filename="mainwindow.cpp" line="2029"/>
<location filename="mainwindow.cpp" line="2021"/> <location filename="mainwindow.cpp" line="2093"/>
<location filename="mainwindow.cpp" line="2097"/> <location filename="mainwindow.cpp" line="2169"/>
<source>save succeed</source> <source>save succeed</source>
<translation>Saved successfully</translation> <translation>Saved successfully</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1968"/> <location filename="mainwindow.cpp" line="2040"/>
<location filename="mainwindow.cpp" line="2108"/> <location filename="mainwindow.cpp" line="2180"/>
<source>find savePath in thumbnail</source> <source>find savePath in thumbnail</source>
<translation>Image name already exists in the list</translation> <translation>Image name already exists in the list</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2132"/> <location filename="mainwindow.cpp" line="2204"/>
<source>Please select at least one picture before export</source> <source>Please select at least one picture before export</source>
<translation>Please select at least one image and then export</translation> <translation>Please select at least one image and then export</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>File name</source> <source>File name</source>
<translation>File name</translation> <translation>File name</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>File path</source> <source>File path</source>
<translation>File path</translation> <translation>File path</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>File size</source> <source>File size</source>
<translation>File size</translation> <translation>File size</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>Creation date/time</source> <source>Creation date/time</source>
<translation>Creation time</translation> <translation>Creation time</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>Modified date/time</source> <source>Modified date/time</source>
<translation>Modification time</translation> <translation>Modification time</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2194"/> <location filename="mainwindow.cpp" line="2266"/>
<source>Accessed date/time</source> <source>Accessed date/time</source>
<translation>Access time</translation> <translation>Access time</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Format</source> <source>Format</source>
<translation>Format</translation> <translation>Format</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Width</source> <source>Width</source>
<translation>Width</translation> <translation>Width</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Height</source> <source>Height</source>
<translation>Height</translation> <translation>Height</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>depth</source> <source>depth</source>
<translation>Depth</translation> <translation>Depth</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Color model</source> <source>Color model</source>
<translation>Color mode</translation> <translation>Color mode</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>DPI</source> <source>DPI</source>
<translation>Pixels per inch</translation> <translation>Pixels per inch</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Print size</source> <source>Print size</source>
<translation>Print size</translation> <translation>Print size</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2237"/> <location filename="mainwindow.cpp" line="2309"/>
<source>Frame</source> <source>Frame</source>
<translation>Frame</translation> <translation>Frame</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2251"/> <location filename="mainwindow.cpp" line="2323"/>
<source>None</source> <source>None</source>
<translation>None</translation> <translation>None</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2251"/> <location filename="mainwindow.cpp" line="2323"/>
<source>Mono</source> <source>Mono</source>
<translation>Black and white</translation> <translation>Black and white</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2251"/> <location filename="mainwindow.cpp" line="2323"/>
<source>Gray</source> <source>Gray</source>
<translation>Gray scale</translation> <translation>Gray scale</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2251"/> <location filename="mainwindow.cpp" line="2323"/>
<source>Color</source> <source>Color</source>
<translation>Color</translation> <translation>Color</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2255"/> <location filename="mainwindow.cpp" line="2327"/>
<source>Not supported</source> <source>Not supported</source>
<translation>Not supported</translation> <translation>Not supported</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2283"/> <location filename="mainwindow.cpp" line="2355"/>
<source>Warning</source> <source>Warning</source>
<translation>Warning</translation> <translation>Warning</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2283"/> <location filename="mainwindow.cpp" line="2355"/>
<source>Device is Running! <source>Device is Running!
Please finish scanning first.</source> Please finish scanning first.</source>
<translation>Device is currently running! <translation>Device is currently running!
Please stop scanning first.</translation> Please stop scanning first.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2307"/> <location filename="mainwindow.cpp" line="2379"/>
<source>There are pictures that have not been saved. <source>There are pictures that have not been saved.
Are you sure to close?</source> Are you sure to close?</source>
<translation>There are unsaved images; are you sure you want to close?</translation> <translation>There are unsaved images; are you sure you want to close?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2319"/> <location filename="mainwindow.cpp" line="2391"/>
<source>Are you sure to close?</source> <source>Are you sure to close?</source>
<translation>Are you sure you want to close?</translation> <translation>Are you sure you want to close?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2604"/> <location filename="mainwindow.cpp" line="2676"/>
<source>Sure to sign out administrator account?</source> <source>Sure to sign out administrator account?</source>
<translation>Are you sure you want to log out of the administrator account?</translation> <translation>Are you sure you want to log out of the administrator account?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2769"/> <location filename="mainwindow.cpp" line="2841"/>
<source>&lt;p&gt;DriverVer: %1&lt;/p&gt;</source> <source>&lt;p&gt;DriverVer: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;VerSion: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;VerSion: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2770"/> <location filename="mainwindow.cpp" line="2842"/>
<source>&lt;p&gt;Vendor: %1&lt;/p&gt;</source> <source>&lt;p&gt;Vendor: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;Vendor: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;Vendor: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2771"/> <location filename="mainwindow.cpp" line="2843"/>
<source>&lt;p&gt;Copyright: %1&lt;/p&gt;</source> <source>&lt;p&gt;Copyright: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;Copyright: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;Copyright: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2772"/> <location filename="mainwindow.cpp" line="2844"/>
<source>&lt;p&gt;Company website: &lt;a href=%1&gt;%1&lt;/p&gt;</source> <source>&lt;p&gt;Company website: &lt;a href=%1&gt;%1&lt;/p&gt;</source>
<translation>&lt;p&gt;Company website: &lt;a href=%1&gt;%1&lt;/p&gt;</translation> <translation>&lt;p&gt;Company website: &lt;a href=%1&gt;%1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2773"/> <location filename="mainwindow.cpp" line="2845"/>
<source>&lt;p&gt;Company address: %1&lt;/p&gt;</source> <source>&lt;p&gt;Company address: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;Company address: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;Company address: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2774"/> <location filename="mainwindow.cpp" line="2846"/>
<source>&lt;p&gt;Company telephone: %1&lt;/p&gt;</source> <source>&lt;p&gt;Company telephone: %1&lt;/p&gt;</source>
<translation>&lt;p&gt;Company telephone: %1&lt;/p&gt;</translation> <translation>&lt;p&gt;Company telephone: %1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2775"/> <location filename="mainwindow.cpp" line="2847"/>
<source>&lt;p&gt;Company GPS: &lt;a href=%1&gt;%2&lt;/p&gt;</source> <source>&lt;p&gt;Company GPS: &lt;a href=%1&gt;%2&lt;/p&gt;</source>
<translation>&lt;p&gt;Company GPS: &lt;a href=%1&gt;%2&lt;/p&gt;</translation> <translation>&lt;p&gt;Company GPS: &lt;a href=%1&gt;%2&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2775"/> <location filename="mainwindow.cpp" line="2847"/>
<source>Baidu map access</source> <source>Baidu map access</source>
<translation>Baidu map access</translation> <translation>Baidu map access</translation>
</message> </message>
@ -2700,22 +2711,22 @@ Are you sure to close?</source>
<translation type="vanished">Total count: %1</translation> <translation type="vanished">Total count: %1</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3105"/> <location filename="mainwindow.cpp" line="3177"/>
<source>Detected that there is less than 1GB of disk space. Do you want to continue?</source> <source>Detected that there is less than 1GB of disk space. Do you want to continue?</source>
<translation>Detected that there is less than 1GB of disk space. Do you want to continue?</translation> <translation>Detected that there is less than 1GB of disk space. Do you want to continue?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3769"/> <location filename="mainwindow.cpp" line="3842"/>
<source>Device %1 is open</source> <source>Device %1 is open</source>
<translation>Device %1 is open</translation> <translation>Device %1 is open</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2655"/> <location filename="mainwindow.cpp" line="2727"/>
<source>confirm operation</source> <source>confirm operation</source>
<translation>Confirm operation</translation> <translation>Confirm operation</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2656"/> <location filename="mainwindow.cpp" line="2728"/>
<source>are you sure to clear the roller count?</source> <source>are you sure to clear the roller count?</source>
<translation>Are you sure you want to clear the roller count?</translation> <translation>Are you sure you want to clear the roller count?</translation>
</message> </message>
@ -2724,22 +2735,22 @@ Are you sure to close?</source>
<translation type="vanished">Prompt</translation> <translation type="vanished">Prompt</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2667"/> <location filename="mainwindow.cpp" line="2739"/>
<source>Roller scanned count has been set to 0.</source> <source>Roller scanned count has been set to 0.</source>
<translation>Roller count reset to zero.</translation> <translation>Roller count reset to zero.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2671"/> <location filename="mainwindow.cpp" line="2743"/>
<source>Roller scanned count reset failed.</source> <source>Roller scanned count reset failed.</source>
<translation>Failed to reset roller count.</translation> <translation>Failed to reset roller count.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2747"/> <location filename="mainwindow.cpp" line="2819"/>
<source>Error</source> <source>Error</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2747"/> <location filename="mainwindow.cpp" line="2819"/>
<source>Document missing! It would be deleted or renamed.</source> <source>Document missing! It would be deleted or renamed.</source>
<translation>File lost! File may be deleted or renamed.</translation> <translation>File lost! File may be deleted or renamed.</translation>
</message> </message>
@ -2756,13 +2767,13 @@ Are you sure to close?</source>
<translation type="vanished">About</translation> <translation type="vanished">About</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3321"/> <location filename="mainwindow.cpp" line="3393"/>
<source>cache path folder limit:%1</source> <source>cache path folder limit:%1</source>
<translation>Unable to access the current path:%1 <translation>Unable to access the current path:%1
Please try to log in to the administrator account in the [User] menu and go to the [Cache settings] to change the cache path.</translation> Please try to log in to the administrator account in the [User] menu and go to the [Cache settings] to change the cache path.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3325"/> <location filename="mainwindow.cpp" line="3397"/>
<source>aquireinto folder limit:%1</source> <source>aquireinto folder limit:%1</source>
<translation>Unable to access the current path:%1 <translation>Unable to access the current path:%1
Please try to change the cache path in [Scan to].</translation> Please try to change the cache path in [Scan to].</translation>
@ -2776,7 +2787,7 @@ Please try to change the cache path in [Scan to].</translation>
<translation type="vanished">&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;Version: %2&lt;br&gt;Copyright: &amp;#169; %3&lt;/p&gt;&lt;p&gt;%4%5%6%7%8%9&lt;/p&gt;</translation> <translation type="vanished">&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;Version: %2&lt;br&gt;Copyright: &amp;#169; %3&lt;/p&gt;&lt;p&gt;%4%5%6%7%8%9&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2767"/> <location filename="mainwindow.cpp" line="2839"/>
<source>about %1</source> <source>about %1</source>
<translation>About %1</translation> <translation>About %1</translation>
</message> </message>
@ -2821,13 +2832,13 @@ Please try to change the cache path in [Scan to].</translation>
<translation type="vanished">failed</translation> <translation type="vanished">failed</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3290"/> <location filename="mainwindow.cpp" line="3362"/>
<location filename="mainwindow.cpp" line="3328"/> <location filename="mainwindow.cpp" line="3400"/>
<source>error</source> <source>error</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3291"/> <location filename="mainwindow.cpp" line="3363"/>
<source>start failed!</source> <source>start failed!</source>
<translation>Failed to start!</translation> <translation>Failed to start!</translation>
</message> </message>
@ -2837,52 +2848,52 @@ Please try to change the cache path in [Scan to].</translation>
Please go to Scan to and change the accessible scan folder and then perform the scan.</translation> Please go to Scan to and change the accessible scan folder and then perform the scan.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3405"/> <location filename="mainwindow.cpp" line="3477"/>
<source>Insufficient access rights</source> <source>Insufficient access rights</source>
<translation>Insufficient file access permissions</translation> <translation>Insufficient file access permissions</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3409"/> <location filename="mainwindow.cpp" line="3481"/>
<source>Image processing failed</source> <source>Image processing failed</source>
<translation>Image processing failed</translation> <translation>Image processing failed</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3413"/> <location filename="mainwindow.cpp" line="3485"/>
<source>Ocr init failed</source> <source>Ocr init failed</source>
<translation>OCR initialization error</translation> <translation>OCR initialization error</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3417"/> <location filename="mainwindow.cpp" line="3489"/>
<source>Ocr failed</source> <source>Ocr failed</source>
<translation>OCR failed</translation> <translation>OCR failed</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3421"/> <location filename="mainwindow.cpp" line="3493"/>
<source>File does not exist</source> <source>File does not exist</source>
<translation>File does not exist</translation> <translation>File does not exist</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3425"/> <location filename="mainwindow.cpp" line="3497"/>
<source>Failed to load dynamic library</source> <source>Failed to load dynamic library</source>
<translation>Failed to load dynamic library</translation> <translation>Failed to load dynamic library</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3429"/> <location filename="mainwindow.cpp" line="3501"/>
<source>File data error</source> <source>File data error</source>
<translation>File data error</translation> <translation>File data error</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3433"/> <location filename="mainwindow.cpp" line="3505"/>
<source>Image format processing error</source> <source>Image format processing error</source>
<translation>Image format processing error</translation> <translation>Image format processing error</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3437"/> <location filename="mainwindow.cpp" line="3509"/>
<source>Out of memory</source> <source>Out of memory</source>
<translation>Insufficient memory</translation> <translation>Insufficient memory</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3441"/> <location filename="mainwindow.cpp" line="3513"/>
<source>Failed</source> <source>Failed</source>
<translation>Failed</translation> <translation>Failed</translation>
</message> </message>
@ -2903,18 +2914,18 @@ Please go to “Scan to” and change the accessible scan folder and then perfor
<translation type="vanished">Close </translation> <translation type="vanished">Close </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3633"/> <location filename="mainwindow.cpp" line="3705"/>
<source>tip</source> <source>tip</source>
<translation>Prompt</translation> <translation>Prompt</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3633"/> <location filename="mainwindow.cpp" line="3705"/>
<source>Other versions not available</source> <source>Other versions not available</source>
<translation>No other versions obtained</translation> <translation>No other versions obtained</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3655"/> <location filename="mainwindow.cpp" line="3727"/>
<location filename="mainwindow.cpp" line="3671"/> <location filename="mainwindow.cpp" line="3743"/>
<source>The device does not support this operation</source> <source>The device does not support this operation</source>
<translation>Device does not support this operation</translation> <translation>Device does not support this operation</translation>
</message> </message>
@ -2923,13 +2934,13 @@ Please go to “Scan to” and change the accessible scan folder and then perfor
<translation type="vanished">IO error</translation> <translation type="vanished">IO error</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3690"/> <location filename="mainwindow.cpp" line="3762"/>
<location filename="mainwindow.cpp" line="3709"/> <location filename="mainwindow.cpp" line="3781"/>
<source>The language switch is successful and takes effect the next time the software is started!</source> <source>The language switch is successful and takes effect the next time the software is started!</source>
<translation>The language switch is successful and takes effect the next time the software is started!</translation> <translation>The language switch is successful and takes effect the next time the software is started!</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3747"/> <location filename="mainwindow.cpp" line="3819"/>
<source>Are you sure to delete selected file?</source> <source>Are you sure to delete selected file?</source>
<translation>Are you sure to delete the selected file completely?</translation> <translation>Are you sure to delete the selected file completely?</translation>
</message> </message>

View File

@ -1,5 +1,6 @@
#include "device_user.h" #include "device_user.h"
#include <QMessageBox> #include <QMessageBox>
#include <QFileDialog>
#include "HGUIGlobal.h" #include "HGUIGlobal.h"
#include <thread> #include <thread>
@ -50,17 +51,17 @@ QString DeviceUser::GetName()
HGResult DeviceUser::ShowSettingDlg() HGResult DeviceUser::ShowSettingDlg()
{ {
return HGTwain_EnableDSUIOnly(m_twainDS, (HWND)m_wnd->winId(), DSCloseReqFunc, this); return HGTwain_EnableDSUIOnly(m_twainDS, (HWND)m_wnd->winId(), DSEventFunc, this);
} }
HGResult DeviceUser::StartScan() HGResult DeviceUser::StartScan()
{ {
return HGTwain_EnableDS(m_twainDS, HGFALSE, (HWND)m_wnd->winId(), DSCloseReqFunc, this, DSImageFunc, this); return HGTwain_EnableDS(m_twainDS, HGFALSE, (HWND)m_wnd->winId(), DSEventFunc, this, DSImageFunc, this);
} }
HGResult DeviceUser::StartSingleScan() HGResult DeviceUser::StartSingleScan()
{ {
return HGTwain_EnableDSWithSingleScan(m_twainDS, DSCloseReqFunc, this, DSImageFunc, this); return HGTwain_EnableDSWithSingleScan(m_twainDS, DSEventFunc, this, DSImageFunc, this);
} }
HGResult DeviceUser::StopScan() HGResult DeviceUser::StopScan()
@ -90,12 +91,12 @@ HGResult DeviceUser::ClearRollerCount()
QString DeviceUser::GetDriverLog() QString DeviceUser::GetDriverLog()
{ {
HGChar driverLogPath[256] = { "D:\\123\\driver-log.txt" }; QString fileName = QFileDialog::getSaveFileName(m_wnd, tr("Select log file path"), ".", tr("text(*.txt)"));
HGResult ret = HGTwain_GetDSDriverLog(m_twainDS, driverLogPath); HGResult ret = HGTwain_GetDSDriverLog(m_twainDS, fileName.toStdString().c_str());
if (ret == HGBASE_ERR_OK) if (ret == HGBASE_ERR_OK)
return driverLogPath; return fileName;
return ""; return "Fail";
} }
HGResult DeviceUser::ClearDriverLog() HGResult DeviceUser::ClearDriverLog()
@ -105,12 +106,12 @@ HGResult DeviceUser::ClearDriverLog()
QString DeviceUser::GetDeviceLog() QString DeviceUser::GetDeviceLog()
{ {
HGChar deviceLogPath[256] = { "D:\\123\\device-log.txt" }; QString fileName = QFileDialog::getSaveFileName(m_wnd, tr("Select log file path"), ".", tr("text(*.txt)"));
HGResult ret = HGTwain_GetDSDeviceLog(m_twainDS, deviceLogPath); HGResult ret = HGTwain_GetDSDeviceLog(m_twainDS, fileName.toStdString().c_str());
if (ret == HGBASE_ERR_OK) if (ret == HGBASE_ERR_OK)
return deviceLogPath; return fileName;
return ""; return "Fail";
} }
HGResult DeviceUser::ClearDeviceLog() HGResult DeviceUser::ClearDeviceLog()
@ -118,10 +119,10 @@ HGResult DeviceUser::ClearDeviceLog()
return HGTwain_ClearDSDeviceLog(m_twainDS); return HGTwain_ClearDSDeviceLog(m_twainDS);
} }
void HGAPI DeviceUser::DSCloseReqFunc(HGTwainDS ds, HGPointer param) void HGAPI DeviceUser::DSEventFunc(HGTwainDS ds, HGUInt event, HGPointer param)
{ {
DeviceUser* p = (DeviceUser*)param; DeviceUser* p = (DeviceUser*)param;
HGTwain_DisableDS(p->m_twainDS); emit p->scanEvent(event);
} }
void HGAPI DeviceUser::DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param) void HGAPI DeviceUser::DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param)

View File

@ -51,11 +51,12 @@ public:
HGResult ClearDeviceLog(); HGResult ClearDeviceLog();
private: private:
static void HGAPI DSCloseReqFunc(HGTwainDS ds, HGPointer param); static void HGAPI DSEventFunc(HGTwainDS ds, HGUInt event, HGPointer param);
static void HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param); static void HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param);
signals: signals:
void newImage(void *image); void newImage(void *image);
void scanEvent(HGUInt event);
private: private:
QWidget *m_wnd; QWidget *m_wnd;

View File

@ -392,6 +392,7 @@ MainWindow::~MainWindow()
if (nullptr != m_devUser) if (nullptr != m_devUser)
{ {
disconnect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*))); disconnect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*)));
disconnect(m_devUser, &DeviceUser::scanEvent, this, &MainWindow::on_scanEvent);
delete m_devUser; delete m_devUser;
m_devUser = nullptr; m_devUser = nullptr;
} }
@ -1196,6 +1197,20 @@ void MainWindow::on_newImage(void *image)
HGBase_GetIntervalSeconds(t1, t2, &seconds); HGBase_GetIntervalSeconds(t1, t2, &seconds);
qDebug("on_newImage end, m_currScanCount=%d, seconds=%f", m_currScanCount, seconds); qDebug("on_newImage end, m_currScanCount=%d, seconds=%f", m_currScanCount, seconds);
} }
void MainWindow::on_scanEvent(HGUInt event)
{
if (HGTWAIN_EVENT_TYPE_WORKING == event)
{
m_isScanning = true;
updateActionStatus();
}
else if (HGTWAIN_EVENT_TYPE_SCANFINISHED == event)
{
m_isScanning = false;
updateActionStatus();
}
}
#if 0 #if 0
void MainWindow::on_wrong_image_decide(dialog_wrong_img* dlg, bool save) void MainWindow::on_wrong_image_decide(dialog_wrong_img* dlg, bool save)
{ {
@ -3707,7 +3722,7 @@ void MainWindow::on_act_driver_log_triggered()
{ {
QDesktopServices::openUrl(QUrl::fromLocalFile(driverLogPath)); QDesktopServices::openUrl(QUrl::fromLocalFile(driverLogPath));
} }
else else if(driverLogPath == "Fail")
{ {
QMessageBox::information(this, tr("tips"), tr("The device does not support this operation")); QMessageBox::information(this, tr("tips"), tr("The device does not support this operation"));
} }
@ -3815,6 +3830,7 @@ void MainWindow::on_act_selectDevice_triggered()
if (nullptr != m_devUser) if (nullptr != m_devUser)
{ {
disconnect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*))); disconnect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*)));
disconnect(m_devUser, &DeviceUser::scanEvent, this, &MainWindow::on_scanEvent);
delete m_devUser; delete m_devUser;
m_devUser = nullptr; m_devUser = nullptr;
} }
@ -3825,5 +3841,6 @@ void MainWindow::on_act_selectDevice_triggered()
m_devUser = devUser; m_devUser = devUser;
m_wndStatusBar->setDeviceStatusInfo(tr("Device %1 is open").arg(m_devUser->GetName()), false); m_wndStatusBar->setDeviceStatusInfo(tr("Device %1 is open").arg(m_devUser->GetName()), false);
connect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*)), Qt::DirectConnection); connect(m_devUser, SIGNAL(newImage(void*)), this, SLOT(on_newImage(void*)), Qt::DirectConnection);
connect(m_devUser, &DeviceUser::scanEvent, this, &MainWindow::on_scanEvent, Qt::QueuedConnection);
} }
} }

View File

@ -118,6 +118,7 @@ private slots:
void on_clearCache(); void on_clearCache();
void on_post_new_image(QString fileName); void on_post_new_image(QString fileName);
void on_newImage(void *image); void on_newImage(void *image);
void on_scanEvent(HGUInt event);
//void on_wrong_image_decide(dialog_wrong_img* dlg, bool save); //void on_wrong_image_decide(dialog_wrong_img* dlg, bool save);
void on_m_pbtn_push_clicked(); void on_m_pbtn_push_clicked();
void on_dialog_sideBar_applyToImage(HGImage img, int brightness, int contrast, double gamma, bool enhanceText); void on_dialog_sideBar_applyToImage(HGImage img, int brightness, int contrast, double gamma, bool enhanceText);

View File

@ -257,7 +257,7 @@ HGResult HGAPI HGTwain_ClearDSDeviceLog(HGTwainDS ds)
return twainDSImpl->ClearDeviceLog(); return twainDSImpl->ClearDeviceLog();
} }
HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam) HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam)
{ {
if (NULL == ds) if (NULL == ds)
{ {
@ -268,7 +268,7 @@ HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSCloseReqFun
return twainDSImpl->EnableUIOnly(parent, eventFunc, eventParam); return twainDSImpl->EnableUIOnly(parent, eventFunc, eventParam);
} }
HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam, HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam) HGDSImageFunc imageFunc, HGPointer imageParam)
{ {
if (NULL == ds) if (NULL == ds)
@ -280,7 +280,7 @@ HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSCl
return twainDSImpl->Enable(showUI, parent, eventFunc, eventParam, imageFunc, imageParam); return twainDSImpl->Enable(showUI, parent, eventFunc, eventParam, imageFunc, imageParam);
} }
HGResult HGAPI HGTwain_EnableDSWithSingleScan(HGTwainDS ds, HGDSCloseReqFunc eventFunc, HGPointer eventParam, HGResult HGAPI HGTwain_EnableDSWithSingleScan(HGTwainDS ds, HGDSEventFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam) HGDSImageFunc imageFunc, HGPointer imageParam)
{ {
if (NULL == ds) if (NULL == ds)

View File

@ -35,9 +35,12 @@ typedef struct
#pragma pack(pop) #pragma pack(pop)
#define HGTWAIN_EVENT_TYPE_WORKING 1L
#define HGTWAIN_EVENT_TYPE_SCANFINISHED 2L
/* ds回调 /* ds回调
*/ */
typedef void (HGAPI *HGDSCloseReqFunc)(HGTwainDS ds, HGPointer param); typedef void (HGAPI *HGDSEventFunc)(HGTwainDS ds, HGUInt event, HGPointer param);
typedef void (HGAPI* HGDSImageFunc)(HGTwainDS ds, HGImage image, HGPointer param); typedef void (HGAPI* HGDSImageFunc)(HGTwainDS ds, HGImage image, HGPointer param);
HGEXPORT HGResult HGAPI HGTwain_CreateDSM(HWND hwnd, HGTwainDSM *dsm); HGEXPORT HGResult HGAPI HGTwain_CreateDSM(HWND hwnd, HGTwainDSM *dsm);
@ -78,12 +81,12 @@ HGEXPORT HGResult HGAPI HGTwain_GetDSDeviceLog(HGTwainDS ds, const HGChar *fileN
HGEXPORT HGResult HGAPI HGTwain_ClearDSDeviceLog(HGTwainDS ds); HGEXPORT HGResult HGAPI HGTwain_ClearDSDeviceLog(HGTwainDS ds);
HGEXPORT HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam); HGEXPORT HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam);
HGEXPORT HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam, HGEXPORT HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam); HGDSImageFunc imageFunc, HGPointer imageParam);
HGEXPORT HGResult HGAPI HGTwain_EnableDSWithSingleScan(HGTwainDS ds, HGDSCloseReqFunc eventFunc, HGPointer eventParam, HGEXPORT HGResult HGAPI HGTwain_EnableDSWithSingleScan(HGTwainDS ds, HGDSEventFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam); HGDSImageFunc imageFunc, HGPointer imageParam);
HGEXPORT HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds); HGEXPORT HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds);

View File

@ -311,8 +311,7 @@ LRESULT CALLBACK HGTwainDSMImpl::NewWndProc(HWND hWnd, UINT msg, WPARAM wParam,
} }
else if (MSG_CLOSEDSREQ == twEvent.TWMessage) else if (MSG_CLOSEDSREQ == twEvent.TWMessage)
{ {
if (NULL != p->m_listDSImpl[i]->m_eventFunc) p->m_listDSImpl[i]->Disable();
p->m_listDSImpl[i]->m_eventFunc((HGTwainDS)p->m_listDSImpl[i], p->m_listDSImpl[i]->m_eventParam);
} }
} }
} }
@ -578,7 +577,7 @@ HGResult HGTwainDSImpl::ClearDeviceLog()
return ResetCapStr255(0x9904); return ResetCapStr255(0x9904);
} }
HGResult HGTwainDSImpl::EnableUIOnly(HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam) HGResult HGTwainDSImpl::EnableUIOnly(HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam)
{ {
TW_USERINTERFACE twUI; TW_USERINTERFACE twUI;
twUI.ShowUI = (TW_BOOL)HGTRUE; twUI.ShowUI = (TW_BOOL)HGTRUE;
@ -598,7 +597,7 @@ HGResult HGTwainDSImpl::EnableUIOnly(HWND parent, HGDSCloseReqFunc eventFunc, HG
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
HGResult HGTwainDSImpl::Enable(HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam, HGResult HGTwainDSImpl::Enable(HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam) HGDSImageFunc imageFunc, HGPointer imageParam)
{ {
TW_USERINTERFACE twUI; TW_USERINTERFACE twUI;
@ -619,7 +618,7 @@ HGResult HGTwainDSImpl::Enable(HGBool showUI, HWND parent, HGDSCloseReqFunc even
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
HGResult HGTwainDSImpl::EnableWithSingleScan(HGDSCloseReqFunc eventFunc, HGPointer eventParam, HGResult HGTwainDSImpl::EnableWithSingleScan(HGDSEventFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam) HGDSImageFunc imageFunc, HGPointer imageParam)
{ {
HGInt oldXferCount = -1; HGInt oldXferCount = -1;
@ -969,6 +968,9 @@ void HGAPI HGTwainDSImpl::ThreadFunc(HGThread thread, HGPointer param)
{ {
HGBase_WaitEvent(p->m_event); HGBase_WaitEvent(p->m_event);
if (NULL != p->m_eventFunc)
p->m_eventFunc((HGTwainDS)p, HGTWAIN_EVENT_TYPE_WORKING, p->m_eventParam);
while (1) while (1)
{ {
HGImage image = NULL; HGImage image = NULL;
@ -988,6 +990,9 @@ void HGAPI HGTwainDSImpl::ThreadFunc(HGThread thread, HGPointer param)
} }
} }
if (NULL != p->m_eventFunc)
p->m_eventFunc((HGTwainDS)p, HGTWAIN_EVENT_TYPE_SCANFINISHED, p->m_eventParam);
if (!p->m_showUI) if (!p->m_showUI)
p->Disable(); p->Disable();
} }

View File

@ -62,10 +62,10 @@ public:
HGResult GetDeviceLog(const HGChar *fileName); HGResult GetDeviceLog(const HGChar *fileName);
HGResult ClearDeviceLog(); HGResult ClearDeviceLog();
HGResult EnableUIOnly(HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam); HGResult EnableUIOnly(HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam);
HGResult Enable(HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam, HGResult Enable(HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam); HGDSImageFunc imageFunc, HGPointer imageParam);
HGResult EnableWithSingleScan(HGDSCloseReqFunc eventFunc, HGPointer eventParam, HGResult EnableWithSingleScan(HGDSEventFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam); HGDSImageFunc imageFunc, HGPointer imageParam);
HGResult Disable(); HGResult Disable();
@ -90,7 +90,7 @@ private:
HGInt m_oldXferCount; HGInt m_oldXferCount;
HGBool m_showUI; HGBool m_showUI;
HWND m_parent; HWND m_parent;
HGDSCloseReqFunc m_eventFunc; HGDSEventFunc m_eventFunc;
HGPointer m_eventParam; HGPointer m_eventParam;
HGDSImageFunc m_imageFunc; HGDSImageFunc m_imageFunc;
HGPointer m_imageParam; HGPointer m_imageParam;