New Stop operation logic

This commit is contained in:
krad
2021-11-02 10:32:30 +08:00
parent 0d89f5b60a
commit c577a239b9

View File

@@ -75,45 +75,44 @@ void DeviceManager::initDevice() {
}); });
// stop // stop
connect(EventCenter::Default(),&EventCenter::RequestStop,[=]() { connect(EventCenter::Default(),&EventCenter::RequestStop,[=]() {
qDebug()<<"GetStatus"; qDebug() << "GetStatus";
StatusInfo inf = GetStatus(); StatusInfo inf = GetStatus();
qDebug()<<"Stop request status, status:%s"<<getStatusString(inf.status); qDebug() << "Stop request status, status:%s" << getStatusString(inf.status);
// check device status========================================= // check device status=========================================
//device is ready return //device is ready return
if (inf.status == READY) return; if (inf.status != SCANNING) {
if (inf.status == BUSY) { TRIGGER_EVENT(GUIEvents::ResponseStop, nullptr, nullptr);
QString msg("Device is busy, Stop operation fail!");
THROW_ERROR(msg);
return; return;
}; }
if (inf.status == SCANNING) { // if (inf.status == BUSY) {
TRIGGER_EVENT(GUIEvents::InvokeOperationStart, nullptr, nullptr); // QString msg("Device is busy, Stop operation fail!");
//ScanControl fail // THROW_ERROR(msg);
qDebug()<<"Request stop!"; // return;
if (timerID!=-1)killTimer(timerID); // };
if (ScanControl(STOP)) { TRIGGER_EVENT(GUIEvents::InvokeOperationStart, nullptr, nullptr);
qDebug()<<"Stop fail!"; //ScanControl fail
QString msg("Stop operation fail!"); qDebug() << "Request stop!";
THROW_ERROR(msg); if (timerID != -1)killTimer(timerID);
qDebug()<<"Error thrown!"; if (ScanControl(STOP)) {
lastStatus = -1; qDebug() << "Stop fail!";
previewing = false; QString msg("Stop operation fail!");
QString s("%1 %2"); THROW_ERROR(msg);
s = s.arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss"), msg); qDebug() << "Error thrown!";
TRIGGER_EVENT(GUIEvents::GlobalBannerMessage, nullptr,(QObject*)&msg);
return;
}
lastStatus = -1; lastStatus = -1;
previewing = false; previewing = false;
QString s("%1 %2"); QString s("%1 %2");
s = s.arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss"),("Scan Stopped!")); s = s.arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss"), msg);
TRIGGER_EVENT(GUIEvents::GlobalBannerMessage, nullptr,(QObject*)&s); TRIGGER_EVENT(GUIEvents::GlobalBannerMessage, nullptr, (QObject *) &msg);
TRIGGER_EVENT(GUIEvents::InvokeOperationEnd, nullptr, nullptr); return;
TRIGGER_EVENT(GUIEvents::ResponseStop, nullptr, nullptr);
} }
lastStatus = -1;
previewing = false;
QString s("%1 %2");
s = s.arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss"), ("Scan Stopped!"));
TRIGGER_EVENT(GUIEvents::GlobalBannerMessage, nullptr, (QObject *) &s);
TRIGGER_EVENT(GUIEvents::InvokeOperationEnd, nullptr, nullptr);
TRIGGER_EVENT(GUIEvents::ResponseStop, nullptr, nullptr);
}); });
// preview // preview