This commit is contained in:
2026-02-09 11:30:52 +03:00
parent dde9ac61f8
commit 4e2a5c48c6
6 changed files with 153 additions and 185 deletions

View File

@@ -100,6 +100,7 @@ bool DocsUpdater::slot_updateDocsXML()
} }
emit signal_DocsChanged(); emit signal_DocsChanged();
emit signal_UpdateDocsCompleted();
return true; return true;
} }

View File

@@ -30,6 +30,7 @@ private:
signals: signals:
void signal_DocsChanged(); void signal_DocsChanged();
void signal_UpdateDocsCompleted();
private: private:
UpdateController* updateController; UpdateController* updateController;

View File

@@ -1,4 +1,5 @@
#include "clienthandler.h" #include "clienthandler.h"
#include "recognizesystem.h"
#include <QThread> #include <QThread>

View File

@@ -1,9 +1,4 @@
#include <QXmlStreamWriter>
#include <QXmlStreamReader>
#include <QXmlStreamAttribute>
#include <QFile>
#include <QThread> #include <QThread>
#include <QErrorMessage>
#include "serverlmswidget.h" #include "serverlmswidget.h"
#include "dialogsettingstray.h" #include "dialogsettingstray.h"
@@ -33,16 +28,16 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
assetsManager(nullptr), assetsManager(nullptr),
docsUpdater(nullptr), docsUpdater(nullptr),
cfiController(nullptr), cfiController(nullptr),
first(true),
language(languageENG), language(languageENG),
errorCode(0), errorCode(0),
stateVersionMaterials("..."), state_VersionMaterials("..."),
dbIsConnected(false), state_dbIsConnected(false),
stateServer(EStateServer::stoped), state_Server(EStateServer::stoped),
stateBlockAutorization(EStateBlockAutorization::unblocked), state_BlockAutorization(EStateBlockAutorization::unblocked),
flStartInitialization(false), flStartInitialization(false),
flTryConnectionToDB(false), flTryConnectionToDB(false),
flNeedReconnectDB(false) flNeedReconnectDB(false),
flTryUpdateDocs(false)
{ {
ui->setupUi(this); ui->setupUi(this);
@@ -63,55 +58,78 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
QMovie *movie = new QMovie(":/resources/icons/762.gif"); QMovie *movie = new QMovie(":/resources/icons/762.gif");
waitAnimationWidget->setParent(this); waitAnimationWidget->setParent(this);
waitAnimationWidget->initialize(movie,this); waitAnimationWidget->initialize(movie,this);
updateStateOnlyVersionMaterials();
} }
ServerLMSWidget::~ServerLMSWidget() ServerLMSWidget::~ServerLMSWidget()
{ {
if(flStartInitialization) if(server)
{
emit signal_StopServer(); emit signal_StopServer();
//server->stopServer();
if(updateThread)
{
updateThread->quit(); updateThread->quit();
updateThread->wait(); updateThread->wait();
delete updateThread; delete updateThread;
}
if(serverThread)
{
serverThread->quit(); serverThread->quit();
serverThread->wait(); serverThread->wait();
delete serverThread; delete serverThread;
}
if(server)
delete server; delete server;
if(commonClientHandler)
delete commonClientHandler; delete commonClientHandler;
if(dataParser)
delete dataParser; delete dataParser;
if(processingSystem)
delete processingSystem; delete processingSystem;
if(updateController)
delete updateController; delete updateController;
if(cfiController)
delete cfiController; delete cfiController;
if(docsUpdater)
delete docsUpdater; delete docsUpdater;
if(assetsManager)
delete assetsManager; delete assetsManager;
if(chatSystem)
delete chatSystem; delete chatSystem;
if(loggerThread)
{
loggerThread->quit(); loggerThread->quit();
loggerThread->wait(); loggerThread->wait();
delete loggerThread; delete loggerThread;
delete providerDBLMS;
} }
if(providerDBLMS)
delete providerDBLMS;
if(waitAnimationWidget)
{
waitAnimationWidget->hideWithStop(); waitAnimationWidget->hideWithStop();
delete waitAnimationWidget; delete waitAnimationWidget;
}
delete ui; delete ui;
} }
//INTERFACE //INTERFACE
void ServerLMSWidget::start() void ServerLMSWidget::startInitialization()
{ {
startInitialization_step0(); startInitialization_step0();
} }
QString ServerLMSWidget::getLanguage()
{
return language;
}
//EVENT //EVENT
@@ -122,6 +140,7 @@ void ServerLMSWidget::changeEvent(QEvent *event)
{ {
ui->retranslateUi(this); // переведём окно заново ui->retranslateUi(this); // переведём окно заново
//И все состояния
updateStateOnlyServer(); updateStateOnlyServer();
updateStateOnlyDB(); updateStateOnlyDB();
updateStateOnlyVersionMaterials(); updateStateOnlyVersionMaterials();
@@ -193,9 +212,9 @@ void ServerLMSWidget::initLanguageInterfase()
void ServerLMSWidget::updateStateOnlyServer() void ServerLMSWidget::updateStateOnlyServer()
{ {
if(stateServer == EStateServer::started) if(state_Server == EStateServer::started)
{ {
if(stateBlockAutorization == EStateBlockAutorization::unblocked) if(state_BlockAutorization == EStateBlockAutorization::unblocked)
{ {
ui->lblOnOffText->setText(tr("started")); ui->lblOnOffText->setText(tr("started"));
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png"))); ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
@@ -212,18 +231,18 @@ void ServerLMSWidget::updateStateOnlyServer()
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/stoped.png"))); ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/stoped.png")));
} }
emit signal_updateStateServer(stateServer, stateBlockAutorization); emit signal_Tray_UpdateStateServer(state_Server, state_BlockAutorization);
} }
void ServerLMSWidget::updateStateOnlyDB() void ServerLMSWidget::updateStateOnlyDB()
{ {
if(dbIsConnected) if(state_dbIsConnected)
{ {
//Настройки БД //Настройки БД
QString strDBsettings = tr("connected") + QString(" [%1 (%2) %3 : %4]").arg(dbSettings.dbName, QString strDBsettings = tr("connected") + QString(" [%1 (%2) %3 : %4]").arg(state_dbSettings.dbName,
dbSettings.dbType, state_dbSettings.dbType,
dbSettings.dbHostName, state_dbSettings.dbHostName,
QString::number(dbSettings.dbPort)); QString::number(state_dbSettings.dbPort));
ui->lblDBsettings->setText(strDBsettings); ui->lblDBsettings->setText(strDBsettings);
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png"))); ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
} }
@@ -239,7 +258,7 @@ void ServerLMSWidget::updateStateOnlyDB()
void ServerLMSWidget::updateStateOnlyVersionMaterials() void ServerLMSWidget::updateStateOnlyVersionMaterials()
{ {
ui->lblVersionText->setText(stateVersionMaterials); ui->lblVersionText->setText(state_VersionMaterials);
} }
@@ -252,8 +271,6 @@ void ServerLMSWidget::slot_UpdateListClients(QStringList listFullName)
for (const QString clientFullName : listFullName) for (const QString clientFullName : listFullName)
{ {
//QString clientFullName = handler->getClient()->getFullName();
ui->listWidget_Clients->addItem(clientFullName); ui->listWidget_Clients->addItem(clientFullName);
ui->listWidget_Clients->scrollToBottom(); ui->listWidget_Clients->scrollToBottom();
ui->listWidget_Clients->setCurrentRow(ui->listWidget_Clients->count() - 1); ui->listWidget_Clients->setCurrentRow(ui->listWidget_Clients->count() - 1);
@@ -276,14 +293,14 @@ void ServerLMSWidget::slot_ErrorPostgreSQL(QString text)
void ServerLMSWidget::slot_StateConnectionToDB(bool dbIsConnected, DataBaseSettings dbSettings) void ServerLMSWidget::slot_StateConnectionToDB(bool dbIsConnected, DataBaseSettings dbSettings)
{ {
this->dbIsConnected = dbIsConnected; this->state_dbIsConnected = dbIsConnected;
this->dbSettings = dbSettings; this->state_dbSettings = dbSettings;
updateStateOnlyDB(); updateStateOnlyDB();
} }
void ServerLMSWidget::slot_StateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization) void ServerLMSWidget::slot_StateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization)
{ {
if(this->stateServer != stateServer) if(this->state_Server != stateServer)
{ {
if(stateServer == EStateServer::started) if(stateServer == EStateServer::started)
{ {
@@ -298,14 +315,14 @@ void ServerLMSWidget::slot_StateServer(EStateServer stateServer, EStateBlockAuto
emit signal_Tray_ShowMessage(tr("Server is stoped!")); emit signal_Tray_ShowMessage(tr("Server is stoped!"));
} }
} }
this->stateServer = stateServer; this->state_Server = stateServer;
this->stateBlockAutorization = stateBlockAutorization; this->state_BlockAutorization = stateBlockAutorization;
updateStateOnlyServer(); updateStateOnlyServer();
} }
void ServerLMSWidget::slot_StateVersionMaterials(QString versionStr) void ServerLMSWidget::slot_StateVersionMaterials(QString versionStr)
{ {
this->stateVersionMaterials = versionStr; this->state_VersionMaterials = versionStr;
updateStateOnlyVersionMaterials(); updateStateOnlyVersionMaterials();
} }
@@ -329,6 +346,12 @@ void ServerLMSWidget::slot_ResultTryConnectDb(bool result)
emit signal_Tray_ShowMessage(tr("Database connection OK!") + "\n" + strDBsettings); emit signal_Tray_ShowMessage(tr("Database connection OK!") + "\n" + strDBsettings);
on_btnStartServer_clicked(); on_btnStartServer_clicked();
if(flStartInitialization)
{
flStartInitialization = false;
startInitialization_step3();
}
} }
else else
{ {
@@ -357,10 +380,27 @@ void ServerLMSWidget::slot_ResultTryDisConnectDb(bool result)
} }
} }
void ServerLMSWidget::slot_SetError(int code)
void ServerLMSWidget::slot_UpdateDocs()
{ {
emit signal_updateDocsXML(); if(code == 100)
{
QString textError = tr("No Client files found!") + "\n\n" +
tr("* check Application for the presence of a folder with a build \n"
"* check SharedData for a folder with the base version and the name base");
SpecMsgBox::CriticalClose(this, textError);
}
errorCode = code;
emit signal_StartInitHasError(code);
}
void ServerLMSWidget::slot_UpdateDocsCompleted()
{
if(flTryUpdateDocs)
{
flTryUpdateDocs = false;
startInitialization_step2();
}
} }
void ServerLMSWidget::slot_UpdateControllerInitializeFinished() void ServerLMSWidget::slot_UpdateControllerInitializeFinished()
@@ -368,21 +408,16 @@ void ServerLMSWidget::slot_UpdateControllerInitializeFinished()
startInitialization_step1(); startInitialization_step1();
} }
void ServerLMSWidget::slot_BlockAutorizationIndicate(bool block, QString blocker, QString types) void ServerLMSWidget::slot_BlockAutorizationIndicate(bool block, QString blocker, QString types)
{ {
if(block) if(block)
{ {
//server->blockAutorization();
Logger::instance().log(QString("BLOCK from: %1").arg(blocker), LogLevel::INFO); Logger::instance().log(QString("BLOCK from: %1").arg(blocker), LogLevel::INFO);
//if(type != "")
Logger::instance().log(QString("Blockers: %1").arg(types), LogLevel::DEBUG); Logger::instance().log(QString("Blockers: %1").arg(types), LogLevel::DEBUG);
} }
else else
{ {
//server->unBlockAutorization();
Logger::instance().log(QString("UNBLOCK from: %1").arg(blocker), LogLevel::INFO); Logger::instance().log(QString("UNBLOCK from: %1").arg(blocker), LogLevel::INFO);
//if(type != "")
Logger::instance().log(QString("Blockers: %1").arg(types), LogLevel::DEBUG); Logger::instance().log(QString("Blockers: %1").arg(types), LogLevel::DEBUG);
} }
updateStateOnlyServer(); updateStateOnlyServer();
@@ -402,39 +437,17 @@ void ServerLMSWidget::slot_LanguageChanged(QString language)
void ServerLMSWidget::on_btnStartServer_clicked() void ServerLMSWidget::on_btnStartServer_clicked()
{ {
emit signal_StartServer(); emit signal_StartServer();
//if(server->startServer())
{
//QApplication::setOverrideCursor(Qt::WaitCursor);
ui->btnStartServer->setEnabled(false); ui->btnStartServer->setEnabled(false);
ui->btnStopServer->setEnabled(true); ui->btnStopServer->setEnabled(true);
//slot_BlockAutorizationIndicate(false, "SERVER");
//updateStateOnlyServer();
//emit signal_Tray_ShowMessage(tr("Server is started!"));
//QApplication::restoreOverrideCursor();
}
} }
void ServerLMSWidget::on_btnStopServer_clicked() void ServerLMSWidget::on_btnStopServer_clicked()
{ {
emit signal_StopServer(); emit signal_StopServer();
//if(server->stopServer())
{
//QApplication::setOverrideCursor(Qt::WaitCursor);
ui->btnStopServer->setEnabled(false); ui->btnStopServer->setEnabled(false);
ui->btnStartServer->setEnabled(true); ui->btnStartServer->setEnabled(true);
//slot_BlockAutorizationIndicate(true, "SERVER");
//updateStateOnlyServer();
//emit signal_Tray_ShowMessage(tr("Server is stoped!"));
//QApplication::restoreOverrideCursor();
}
} }
void ServerLMSWidget::on_btnSettings_clicked() void ServerLMSWidget::on_btnSettings_clicked()
@@ -450,10 +463,7 @@ void ServerLMSWidget::on_btnSettings_clicked()
dlg.setWindowFlags(dlg.windowFlags() & ~Qt::WindowContextHelpButtonHint); dlg.setWindowFlags(dlg.windowFlags() & ~Qt::WindowContextHelpButtonHint);
connect(&dlg, &DialogSettingsTray::signal_LanguageChanged, this, &ServerLMSWidget::slot_LanguageChanged); connect(&dlg, &DialogSettingsTray::signal_LanguageChanged, this, &ServerLMSWidget::slot_LanguageChanged);
//connect(&dlg, &DialogSettingsTray::signal_UpdateStyleSheet, this, &ServerLMSWidget::slot_UpdateStyleSheet); connect(&dlg, &DialogSettingsTray::signal_UpdateDocs, docsUpdater, &DocsUpdater::slot_updateDocsXML);
connect(&dlg, &DialogSettingsTray::signal_UpdateDocs, this, &ServerLMSWidget::slot_UpdateDocs);
switch( dlg.exec() ) switch( dlg.exec() )
{ {
@@ -465,17 +475,11 @@ void ServerLMSWidget::on_btnSettings_clicked()
{ {
on_btnStopServer_clicked(); on_btnStopServer_clicked();
//providerDBLMS->deAuthorizationAll();
//providerDBLMS->DisConnectionFromDB();
flNeedReconnectDB = true; flNeedReconnectDB = true;
flTryConnectionToDB = false; flTryConnectionToDB = false;
emit signal_TryDisConnectionFromDB(); emit signal_TryDisConnectionFromDB();
//updateStateOnlyDB();
break; break;
} }
@@ -520,10 +524,12 @@ void ServerLMSWidget::startInitialization_step0()
updateController = new UpdateController; updateController = new UpdateController;
updateController->moveToThread(updateThread); updateController->moveToThread(updateThread);
docsUpdater = new DocsUpdater(updateController/*, this*/); docsUpdater = new DocsUpdater(updateController);
docsUpdater->moveToThread(updateThread); docsUpdater->moveToThread(updateThread);
cfiController = new CfiController(updateController/*, this*/); connect(docsUpdater, &DocsUpdater::signal_UpdateDocsCompleted, this, &ServerLMSWidget::slot_UpdateDocsCompleted);
cfiController = new CfiController(updateController);
cfiController->moveToThread(updateThread); cfiController->moveToThread(updateThread);
processingSystem = new ProcessingSystem(providerDBLMS, updateController, docsUpdater, cfiController); processingSystem = new ProcessingSystem(providerDBLMS, updateController, docsUpdater, cfiController);
@@ -563,24 +569,31 @@ void ServerLMSWidget::startInitialization_step0()
Logger::instance().setLoggingType(LoggingType::WIDGET); Logger::instance().setLoggingType(LoggingType::WIDGET);
Logger::instance().setLogToFile(true); Logger::instance().setLogToFile(true);
connect(this, &ServerLMSWidget::sigUpdateControllerInitialize, updateController, &UpdateController::initialize); connect(this, &ServerLMSWidget::signal_UpdateControllerInitialize, updateController, &UpdateController::initialize);
connect(updateController, &UpdateController::sigInitializeFinished, this, &ServerLMSWidget::slot_UpdateControllerInitializeFinished); connect(updateController, &UpdateController::sigInitializeFinished, this, &ServerLMSWidget::slot_UpdateControllerInitializeFinished);
connect(this, &ServerLMSWidget::sigCalculateFullHash, updateController, &UpdateController::calculateFullHash, Qt::AutoConnection); connect(updateController, &UpdateController::sigErrorRequired, this, &ServerLMSWidget::slot_SetError);
connect(updateController, &UpdateController::sigErrorRequired, this, &ServerLMSWidget::setError); connect(updateController, &UpdateController::sigUpdateDocs, docsUpdater, &DocsUpdater::slot_updateDocsXML, Qt::AutoConnection);
connect(updateController, &UpdateController::sigUpdateDocs, this, &ServerLMSWidget::slot_UpdateDocs, Qt::AutoConnection);
connect(&Logger::instance(), &Logger::sigLogToWidget, this, &ServerLMSWidget::slot_AddMessageToLog, Qt::QueuedConnection); connect(&Logger::instance(), &Logger::sigLogToWidget, this, &ServerLMSWidget::slot_AddMessageToLog, Qt::QueuedConnection);
connect(assetsManager, &AssetsManager::signal_setVersion, this, &ServerLMSWidget::slot_StateVersionMaterials); connect(assetsManager, &AssetsManager::signal_setVersion, this, &ServerLMSWidget::slot_StateVersionMaterials);
connect(this, &ServerLMSWidget::signal_updateDocsXML, docsUpdater, &DocsUpdater::slot_updateDocsXML); connect(this, &ServerLMSWidget::signal_UpdateDocsXML, docsUpdater, &DocsUpdater::slot_updateDocsXML);
emit sigUpdateControllerInitialize(commonClientHandler, dataParser, assetsManager); emit signal_UpdateControllerInitialize(commonClientHandler, dataParser, assetsManager);
} }
void ServerLMSWidget::startInitialization_step1() void ServerLMSWidget::startInitialization_step1()
{ {
if(errorCode == 100)
return;
Logger::instance().log("Update docs.xml..."); Logger::instance().log("Update docs.xml...");
slot_UpdateDocs(); flTryUpdateDocs = true;
emit signal_UpdateDocsXML();
}
void ServerLMSWidget::startInitialization_step2()
{
Logger::instance().log("Update docs.xml completed!"); Logger::instance().log("Update docs.xml completed!");
ui->btnStopServer->setEnabled(false); ui->btnStopServer->setEnabled(false);
@@ -592,17 +605,15 @@ void ServerLMSWidget::startInitialization_step1()
updateStateOnlyDB(); updateStateOnlyDB();
updateStateOnlyVersionMaterials(); updateStateOnlyVersionMaterials();
//QApplication::restoreOverrideCursor();
if(hasError() == 100)
return;
Logger::instance().log("Try connection to DB..."); Logger::instance().log("Try connection to DB...");
tryConnectionToDB(); tryConnectionToDB();
}
void ServerLMSWidget::startInitialization_step3()
{
waitAnimationWidget->hideWithStop(); waitAnimationWidget->hideWithStop();
emit signal_InitializeFinished(); emit signal_StartInitFinished();
} }

View File

@@ -1,35 +1,25 @@
#ifndef SERVERLMSWIDGET_H #ifndef SERVERLMSWIDGET_H
#define SERVERLMSWIDGET_H #define SERVERLMSWIDGET_H
#include "ServerLMS_global.h"
#include <QWidget> #include <QWidget>
#include <QTcpServer>
#include <QTcpSocket>
#include <QXmlStreamWriter>
#include <QMap>
#include <QTranslator> #include <QTranslator>
#include <QMutex>
#include <QSystemTrayIcon> #include <QSystemTrayIcon>
#include <Systems/Parsers/dataparser.h> #include "ServerLMS_global.h"
#include <Systems/sendsystem.h>
#include <Systems/processingsystem.h>
#include <Systems/updatecontroller.h>
#include <Systems/assetsmanager.h>
#include <Systems/recognizesystem.h>
#include <Systems/logger.h>
#include <Systems/commonclienthandler.h>
#include <Systems/assetsmanager.h>
#include <Data/typesDataServerClient.h> #include "logger.h"
#include <Data/Client.h> #include "waitanimationwidget.h"
#include "specialmessagebox.h"
#include "Parsers/dataparser.h"
#include "processingsystem.h"
#include "updatecontroller.h"
#include "assetsmanager.h"
#include "commonclienthandler.h"
#include "assetsmanager.h"
#include "multithreadserver.h" #include "multithreadserver.h"
#include "providerdblms.h" #include "providerdblms.h"
#include "docsupdater.h" #include "docsupdater.h"
#include "waitanimationwidget.h"
#include "specialmessagebox.h"
#include "cficontroller.h" #include "cficontroller.h"
@@ -38,11 +28,9 @@ class ServerLMSWidget;
} }
class DataParser; class DataParser;
class SendSystem;
class ProcessingSystem; class ProcessingSystem;
class Logger; class Logger;
class UpdateController; class UpdateController;
class RecognizeSystem;
class ClientHandler; class ClientHandler;
class MultiThreadServer; class MultiThreadServer;
class AssetsManager; class AssetsManager;
@@ -64,34 +52,31 @@ public:
~ServerLMSWidget(); ~ServerLMSWidget();
public: public:
void start(); void startInitialization();
QString getLanguage();
protected: protected:
void changeEvent(QEvent * event) override; void changeEvent(QEvent * event) override;
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
signals: signals:
//MAINWINDOW, ТРЕЙ
//сигнал смены языка //сигнал смены языка
void signal_LanguageChanged(QString language); void signal_LanguageChanged(QString language);
//сигнал вывода сообщения из трея //сигнал вывода сообщения из трея
void signal_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information); void signal_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information);
//синал обновления состояния сервера (иконка в трее)
void signal_Tray_UpdateStateServer(EStateServer state_Server, EStateBlockAutorization state_BlockAutorization);
//сигналы меню трея
void signal_Menu_ShowWindow(); void signal_Menu_ShowWindow();
void signal_Menu_HideWindow(); void signal_Menu_HideWindow();
//сигнал о наличии ошибок начальной инициализации
void signal_StartInitHasError(int code);
//сигнал об окончании начальной инициализации
void signal_StartInitFinished();
void sigRecognize(); void signal_UpdateControllerInitialize(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager);
void sigCalculateFullHash(); void signal_UpdateDocsXML();
void sigUpdateControllerInitialize(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager);
//void signal_DocsChanged();
void signal_hasError(int code);
void signal_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization);
void signal_updateDocsXML();
void signal_InitializeFinished();
void signal_TryConnectionToDB(); void signal_TryConnectionToDB();
void signal_TryDisConnectionFromDB(); void signal_TryDisConnectionFromDB();
@@ -100,55 +85,23 @@ signals:
void signal_StopServer(); void signal_StopServer();
public slots: public slots:
//ИНДИКАЦИЯ
void slot_LanguageChanged(QString language); void slot_LanguageChanged(QString language);
void slot_UpdateListClients(QStringList listFullName); void slot_UpdateListClients(QStringList listFullName);
void slot_BlockAutorizationIndicate(bool block, QString blocker, QString types); void slot_BlockAutorizationIndicate(bool block, QString blocker, QString types);
void slot_AddMessageToLog(QString message); void slot_AddMessageToLog(QString message);
void slot_ErrorPostgreSQL(QString text); void slot_ErrorPostgreSQL(QString text);
void slot_StateConnectionToDB(bool dbIsConnected, DataBaseSettings dbSettings); void slot_StateConnectionToDB(bool state_dbIsConnected, DataBaseSettings state_dbSettings);
void slot_StateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization); void slot_StateServer(EStateServer state_Server, EStateBlockAutorization state_BlockAutorization);
void slot_StateVersionMaterials(QString state_VersionMaterials);
void slot_UpdateDocs();
void slot_UpdateControllerInitializeFinished(); void slot_UpdateControllerInitializeFinished();
void slot_UpdateDocsCompleted();
void slot_StateVersionMaterials(QString stateVersionMaterials);
void slot_ResultTryConnectDb(bool result); void slot_ResultTryConnectDb(bool result);
void slot_ResultTryDisConnectDb(bool result); void slot_ResultTryDisConnectDb(bool result);
public: void slot_SetError(int code);
QString getLanguage()
{
return language;
}
void setError(int code)
{
if(code == 100)
{
QString textError = tr("No Client files found!") + "\n\n" +
tr("* check Application for the presence of a folder with a build \n"
"* check SharedData for a folder with the base version and the name base");
SpecMsgBox::CriticalClose(this, textError);
}
errorCode = code;
emit signal_hasError(code);
}
int hasError() const
{
return errorCode;
}
ProcessingSystem* getProcessingSystem()
{
return processingSystem;
}
void removeClient(int socketId);
private slots: private slots:
void on_btnStartServer_clicked(); void on_btnStartServer_clicked();
@@ -168,6 +121,8 @@ private:
private: private:
void startInitialization_step0(); void startInitialization_step0();
void startInitialization_step1(); void startInitialization_step1();
void startInitialization_step2();
void startInitialization_step3();
void tryConnectionToDB(); void tryConnectionToDB();
private: private:
@@ -192,22 +147,21 @@ private:
DocsUpdater* docsUpdater; //updateThread DocsUpdater* docsUpdater; //updateThread
CfiController* cfiController; //updateThread CfiController* cfiController; //updateThread
bool first; // для тестов Unity
QTranslator qtLanguageTranslator; QTranslator qtLanguageTranslator;
QString language; QString language;
int errorCode; int errorCode;
QString stateVersionMaterials; QString state_VersionMaterials;
bool dbIsConnected; bool state_dbIsConnected;
DataBaseSettings dbSettings; DataBaseSettings state_dbSettings;
EStateServer stateServer; EStateServer state_Server;
EStateBlockAutorization stateBlockAutorization; EStateBlockAutorization state_BlockAutorization;
bool flStartInitialization; bool flStartInitialization;
bool flTryConnectionToDB; bool flTryConnectionToDB;
bool flNeedReconnectDB; bool flNeedReconnectDB;
bool flTryUpdateDocs;
}; };
#endif // SERVERLMSWIDGET_H #endif // SERVERLMSWIDGET_H

View File

@@ -22,10 +22,10 @@ MainWindow::MainWindow(QWidget *parent) :
serverLMSWidget = new ServerLMSWidget(this); serverLMSWidget = new ServerLMSWidget(this);
connect(serverLMSWidget, &ServerLMSWidget::signal_InitializeFinished, this, &MainWindow::slot_InitializeFinished); connect(serverLMSWidget, &ServerLMSWidget::signal_StartInitFinished, this, &MainWindow::slot_InitializeFinished);
connect(serverLMSWidget, &ServerLMSWidget::signal_hasError, this, &MainWindow::slot_hasError); connect(serverLMSWidget, &ServerLMSWidget::signal_StartInitHasError, this, &MainWindow::slot_hasError);
connect(serverLMSWidget, &ServerLMSWidget::signal_LanguageChanged, this, &MainWindow::slot_LanguageChanged); connect(serverLMSWidget, &ServerLMSWidget::signal_LanguageChanged, this, &MainWindow::slot_LanguageChanged);
connect(serverLMSWidget, &ServerLMSWidget::signal_updateStateServer, this, &MainWindow::slot_updateStateServer); connect(serverLMSWidget, &ServerLMSWidget::signal_Tray_UpdateStateServer, this, &MainWindow::slot_updateStateServer);
connect(serverLMSWidget, &ServerLMSWidget::signal_Tray_ShowMessage, this, &MainWindow::slot_Tray_ShowMessage); connect(serverLMSWidget, &ServerLMSWidget::signal_Tray_ShowMessage, this, &MainWindow::slot_Tray_ShowMessage);
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_ShowWindow, this, &MainWindow::slot_TrayMenu_ShowWindow); connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_ShowWindow, this, &MainWindow::slot_TrayMenu_ShowWindow);
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_HideWindow, this, &MainWindow::slot_TrayMenu_HideWindow); connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_HideWindow, this, &MainWindow::slot_TrayMenu_HideWindow);
@@ -188,7 +188,7 @@ void MainWindow::slot_updateStateServer(EStateServer stateServer, EStateBlockAut
void MainWindow::slot_LazyInitialization() void MainWindow::slot_LazyInitialization()
{ {
serverLMSWidget->start(); serverLMSWidget->startInitialization();
} }
void MainWindow::slot_hasError(int code) void MainWindow::slot_hasError(int code)