void CWizDocumentStatusChecker::startCheck() { // qDebug() << "---------- CWizDocumentStatusChecker::startCheck start"; peekDocumentGUID(m_strCurKbGUID, m_strCurGUID); bool changed = checkDocumentChangedOnServer(m_strCurKbGUID, m_strCurGUID); if (m_stop) { emit checkEditStatusFinished(m_strCurGUID, false); return; } emit checkDocumentChangedFinished(m_strCurGUID, changed); if (changed) { emit checkEditStatusFinished(m_strCurGUID, false); m_timeOutTimer->stop(); return; } bool editingByOthers = checkDocumentEditStatus(m_strCurKbGUID, m_strCurGUID); if (m_stop) { emit checkEditStatusFinished(m_strCurGUID, false); return; } m_timeOutTimer->stop(); // qDebug() << "------------ CWizDocumentStatusChecker::startCheck finished"; emit checkEditStatusFinished(m_strCurGUID, !editingByOthers); }
void WizDocumentStatusChecker::startCheck() { // qDebug() << "---------- CWizDocumentStatusChecker::startCheck start"; m_networkError = false; peekDocumentGUID(m_strCurKbGUID, m_strCurGUID); // start timer m_timeOutTimer->start(5000); bool isGroup = false; bool changed = checkDocumentChangedOnServer(m_strCurKbGUID, m_strCurGUID, isGroup); if (m_stop) { emit checkEditStatusFinished(m_strCurGUID, false); return; } emit checkDocumentChangedFinished(m_strCurGUID, changed); if (changed) { emit checkEditStatusFinished(m_strCurGUID, false); m_timeOutTimer->stop(); return; } bool editingByOthers = false; if (isGroup) { editingByOthers = checkDocumentEditStatus(m_strCurKbGUID, m_strCurGUID); } // if (m_stop) { emit checkEditStatusFinished(m_strCurGUID, false); return; } m_timeOutTimer->stop(); // qDebug() << "------------ CWizDocumentStatusChecker::startCheck finished"; if (m_networkError) { //NOTE: 网络错误时不一定会导致超时,此处发送超时消息进行离线编辑的提示 emit checkTimeOut(m_strCurGUID); } else { emit checkEditStatusFinished(m_strCurGUID, !editingByOthers); } }