From efa08e4330c3b410a7f845eb94dfb677ae4bf226 Mon Sep 17 00:00:00 2001 From: krivoshein Date: Wed, 4 Feb 2026 13:15:37 +0300 Subject: [PATCH] signal_updateDocsXML --- LibServer/Systems/docsupdater.cpp | 5 ++++- LibServer/Systems/docsupdater.h | 8 ++++++-- LibServer/serverlmswidget.cpp | 15 ++++++++++----- LibServer/serverlmswidget.h | 3 ++- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/LibServer/Systems/docsupdater.cpp b/LibServer/Systems/docsupdater.cpp index d3b002a..0ee3cd7 100644 --- a/LibServer/Systems/docsupdater.cpp +++ b/LibServer/Systems/docsupdater.cpp @@ -37,8 +37,10 @@ QList DocsUpdater::getListSubProcForDMcode(QString dmCode) return listSubProcMap.value(dmCode); } -bool DocsUpdater::updateDocsXML() +bool DocsUpdater::slot_updateDocsXML() { + qDebug() << "DocsUpdater::updateDocsXML thread ID " << QThread::currentThreadId(); + QMutexLocker locker(&mtxAccess); QString pathDocsFile = updateController->getPathAdditionalFile(tasksAMMfileName); @@ -97,6 +99,7 @@ bool DocsUpdater::updateDocsXML() } } + emit signal_DocsChanged(); return true; } diff --git a/LibServer/Systems/docsupdater.h b/LibServer/Systems/docsupdater.h index 1920bcc..2b6f09c 100644 --- a/LibServer/Systems/docsupdater.h +++ b/LibServer/Systems/docsupdater.h @@ -16,9 +16,10 @@ public: void lockAccessToDocsXML(); void unLockAccessToDocsXML(); - QList getListSubProcForDMcode(QString dmCode); + QList getListSubProcForDMcode(QString dmCode); - bool updateDocsXML(); +public slots: + bool slot_updateDocsXML(); private: void domElementParserAMM(QDomElement element, Module* moduleParent); @@ -27,6 +28,9 @@ private: void selectSubProc(QDomElement& modeElement, QList& listSubProc); DM* getDMmoduleByDMcode(QString dmCode); +signals: + void signal_DocsChanged(); + private: UpdateController* updateController; diff --git a/LibServer/serverlmswidget.cpp b/LibServer/serverlmswidget.cpp index 1cc0851..8739971 100644 --- a/LibServer/serverlmswidget.cpp +++ b/LibServer/serverlmswidget.cpp @@ -147,12 +147,14 @@ void ServerLMSWidget::slot_ErrorPostgreSQL(QString text) void ServerLMSWidget::slot_UpdateDocs() { - QApplication::setOverrideCursor(Qt::WaitCursor); + //QApplication::setOverrideCursor(Qt::WaitCursor); - if(docsUpdater->updateDocsXML()) - emit signal_DocsChanged(); + emit signal_updateDocsXML(); - QApplication::restoreOverrideCursor(); + //if(docsUpdater->slot_updateDocsXML()) + //emit signal_DocsChanged(); + + //QApplication::restoreOverrideCursor(); //TODO для теста //cfiController->test(); @@ -387,7 +389,8 @@ void ServerLMSWidget::startInitialization_step0() dataParser = new DataParser(assetsManager, processingSystem); commonClientHandler = new CommonClientHandler; - connect(this, &ServerLMSWidget::signal_DocsChanged, commonClientHandler, &CommonClientHandler::slot_DocsChanged); + //connect(this, &ServerLMSWidget::signal_DocsChanged, commonClientHandler, &CommonClientHandler::slot_DocsChanged); + connect(docsUpdater, &DocsUpdater::signal_DocsChanged, commonClientHandler, &CommonClientHandler::slot_DocsChanged); //connect(commonClientHandler, &CommonClientHandler::sigSetServerState, this, &ServerLMSWidget::slot_trySetServerState); server = new MultiThreadServer(this, updateController, processingSystem, dataParser, 6000); @@ -416,6 +419,8 @@ void ServerLMSWidget::startInitialization_step0() connect(assetsManager, &AssetsManager::signal_setVersion, this, &ServerLMSWidget::slot_setVersion); + connect(this, &ServerLMSWidget::signal_updateDocsXML, docsUpdater, &DocsUpdater::slot_updateDocsXML); + emit sigUpdateControllerInitialize(commonClientHandler, dataParser, assetsManager); } diff --git a/LibServer/serverlmswidget.h b/LibServer/serverlmswidget.h index 4ba16e2..97d303a 100644 --- a/LibServer/serverlmswidget.h +++ b/LibServer/serverlmswidget.h @@ -86,11 +86,12 @@ signals: void sigCalculateFullHash(); void sigUpdateControllerInitialize(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager); - void signal_DocsChanged(); + //void signal_DocsChanged(); void signal_hasError(int code); void signal_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization); + void signal_updateDocsXML(); public slots: void slot_LanguageChanged(QString language); void slot_UpdateListClients();