补充调整:设备离线时扫描单张,状态栏增加提示
This commit is contained in:
parent
6c900e451c
commit
20ab0c7f80
|
@ -679,8 +679,27 @@ void MainWindow::on_AcquireInto2()
|
|||
HGResult ret = HGBASE_ERR_FAIL;
|
||||
if (nullptr != m_devUser)
|
||||
{
|
||||
bool deviceIsOnline = true;
|
||||
ret = m_devUser->StartScan();
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
#if defined(HG_CMP_MSC)
|
||||
|
||||
if (HGTWAIN_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#else
|
||||
if (HGSANE_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!deviceIsOnline)
|
||||
{
|
||||
deleteDevUser();
|
||||
}
|
||||
|
||||
if (HGBASE_ERR_OK != ret && deviceIsOnline)
|
||||
{
|
||||
on_scanFinishEvent();
|
||||
}
|
||||
|
@ -1391,7 +1410,32 @@ void MainWindow::on_scanFinishEvent()
|
|||
else
|
||||
ret = m_devUser->StartScan();
|
||||
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
bool deviceIsOnline = true;
|
||||
ret = m_devUser->StartScan();
|
||||
#if defined(HG_CMP_MSC)
|
||||
|
||||
if (HGTWAIN_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#else
|
||||
if (HGSANE_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!deviceIsOnline)
|
||||
{
|
||||
if (ScanType_SingleScanToCache == m_scanType)
|
||||
{
|
||||
QMessageBox::information(this, tr("Prompt"), tr("Device is offline"));
|
||||
}
|
||||
|
||||
deleteDevUser();
|
||||
}
|
||||
|
||||
if (HGBASE_ERR_OK != ret && deviceIsOnline)
|
||||
{
|
||||
on_scanFinishEvent();
|
||||
}
|
||||
|
@ -3458,9 +3502,29 @@ void MainWindow::on_act_acquireSingle_triggered()
|
|||
HGResult ret = HGBASE_ERR_FAIL;
|
||||
if (nullptr != m_devUser)
|
||||
{
|
||||
bool deviceIsOnline = true;
|
||||
ret = m_devUser->StartSingleScan();
|
||||
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
#if defined(HG_CMP_MSC)
|
||||
|
||||
if (HGTWAIN_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#else
|
||||
if (HGSANE_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!deviceIsOnline)
|
||||
{
|
||||
QMessageBox::information(this, tr("Prompt"), tr("Device is offline"));
|
||||
deleteDevUser();
|
||||
}
|
||||
|
||||
if (HGBASE_ERR_OK != ret && deviceIsOnline)
|
||||
{
|
||||
on_scanFinishEvent();
|
||||
}
|
||||
|
@ -3513,8 +3577,27 @@ void MainWindow::on_act_acquireInto_triggered()
|
|||
HGResult ret = HGBASE_ERR_FAIL;
|
||||
if (nullptr != m_devUser)
|
||||
{
|
||||
bool deviceIsOnline = true;
|
||||
ret = m_devUser->StartScan();
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
#if defined(HG_CMP_MSC)
|
||||
|
||||
if (HGTWAIN_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#else
|
||||
if (HGSANE_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!deviceIsOnline)
|
||||
{
|
||||
deleteDevUser();
|
||||
}
|
||||
|
||||
if (HGBASE_ERR_OK != ret && deviceIsOnline)
|
||||
{
|
||||
on_scanFinishEvent();
|
||||
}
|
||||
|
@ -3582,8 +3665,27 @@ void MainWindow::on_act_insertFromScanner_triggered()
|
|||
HGResult ret = HGBASE_ERR_FAIL;
|
||||
if (nullptr != m_devUser)
|
||||
{
|
||||
bool deviceIsOnline = true;
|
||||
ret = m_devUser->StartScan();
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
#if defined(HG_CMP_MSC)
|
||||
|
||||
if (HGTWAIN_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#else
|
||||
if (HGSANE_ERR_DEVICEOFFLINE == ret)
|
||||
{
|
||||
deviceIsOnline = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!deviceIsOnline)
|
||||
{
|
||||
deleteDevUser();
|
||||
}
|
||||
|
||||
if (HGBASE_ERR_OK != ret && deviceIsOnline)
|
||||
{
|
||||
on_scanFinishEvent();
|
||||
}
|
||||
|
|
|
@ -664,12 +664,22 @@ HGResult HGTwainDSImpl::EnableWithSingleScan(HWND parent, HGDSEventFunc eventFun
|
|||
HGResult ret = GetCapInt(CAP_XFERCOUNT, &oldXferCount);
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
{
|
||||
TW_STATUS status;
|
||||
m_dsmImpl->m_pDSMProc(&m_dsmImpl->m_AppId, &m_iden, DG_CONTROL, DAT_STATUS, MSG_GET, (TW_MEMREF)&status);
|
||||
if (status.ConditionCode == TWCC_CHECKDEVICEONLINE)
|
||||
return HGTWAIN_ERR_DEVICEOFFLINE;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = SetCapInt(CAP_XFERCOUNT, TWTY_INT16, 1);
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
{
|
||||
TW_STATUS status;
|
||||
m_dsmImpl->m_pDSMProc(&m_dsmImpl->m_AppId, &m_iden, DG_CONTROL, DAT_STATUS, MSG_GET, (TW_MEMREF)&status);
|
||||
if (status.ConditionCode == TWCC_CHECKDEVICEONLINE)
|
||||
return HGTWAIN_ERR_DEVICEOFFLINE;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -678,6 +688,11 @@ HGResult HGTwainDSImpl::EnableWithSingleScan(HWND parent, HGDSEventFunc eventFun
|
|||
twUI.hParent = (TW_HANDLE)parent;
|
||||
if (TWRC_SUCCESS != m_dsmImpl->m_pDSMProc(&m_dsmImpl->m_AppId, &m_iden, DG_CONTROL, DAT_USERINTERFACE, MSG_ENABLEDS, (TW_MEMREF)&twUI))
|
||||
{
|
||||
TW_STATUS status;
|
||||
m_dsmImpl->m_pDSMProc(&m_dsmImpl->m_AppId, &m_iden, DG_CONTROL, DAT_STATUS, MSG_GET, (TW_MEMREF)&status);
|
||||
if (status.ConditionCode == TWCC_CHECKDEVICEONLINE)
|
||||
return HGTWAIN_ERR_DEVICEOFFLINE;
|
||||
|
||||
return HGTWAIN_ERR_FAIL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue