From c0f46db50a5998450912f6f9f4a348a12677c32a Mon Sep 17 00:00:00 2001 From: krivoshein Date: Thu, 5 Feb 2026 09:41:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D1=81=D1=82=D0=B0=D1=80=D1=82=D0=B0?= =?UTF-8?q?=20=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=B0=200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LibServer/serverlmswidget.cpp | 6 ++++-- LibServer/serverlmswidget.h | 2 ++ ProgramServerMTD/mainwindow.cpp | 33 ++++++++++++++++++++++----------- ProgramServerMTD/mainwindow.h | 4 ++++ 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/LibServer/serverlmswidget.cpp b/LibServer/serverlmswidget.cpp index 8739971..4b897c0 100644 --- a/LibServer/serverlmswidget.cpp +++ b/LibServer/serverlmswidget.cpp @@ -175,7 +175,7 @@ void ServerLMSWidget::slot_startInitialization_step1() updateStateOnlyDB(); updateStateOnlyVersion(); - QApplication::restoreOverrideCursor(); + //QApplication::restoreOverrideCursor(); if(hasError() == 100) return; @@ -184,6 +184,8 @@ void ServerLMSWidget::slot_startInitialization_step1() tryConnectionToDB(); waitAnimationWidget->hideWithStop(); + + emit signal_InitializeFinished(); } void ServerLMSWidget::slot_setVersion(QString versionStr) @@ -359,7 +361,7 @@ QString ServerLMSWidget::loadStyleSheet() void ServerLMSWidget::startInitialization_step0() { - QApplication::setOverrideCursor(Qt::WaitCursor); + //QApplication::setOverrideCursor(Qt::WaitCursor); providerDBLMS = new ProviderDBLMS(this); connect(providerDBLMS, &ProviderDBLMS::signal_ErrorPostgreSQL, this, &ServerLMSWidget::slot_ErrorPostgreSQL); diff --git a/LibServer/serverlmswidget.h b/LibServer/serverlmswidget.h index 97d303a..641c91d 100644 --- a/LibServer/serverlmswidget.h +++ b/LibServer/serverlmswidget.h @@ -92,6 +92,8 @@ signals: void signal_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization); void signal_updateDocsXML(); + + void signal_InitializeFinished(); public slots: void slot_LanguageChanged(QString language); void slot_UpdateListClients(); diff --git a/ProgramServerMTD/mainwindow.cpp b/ProgramServerMTD/mainwindow.cpp index dd8c82c..97b2ffd 100644 --- a/ProgramServerMTD/mainwindow.cpp +++ b/ProgramServerMTD/mainwindow.cpp @@ -14,7 +14,8 @@ MainWindow::MainWindow(QWidget *parent) : trayMenu(nullptr), action_ShowWindow(nullptr), action_HideWindow(nullptr), - action_Exit(nullptr) + action_Exit(nullptr), + flInitServerLMSWidget(false) { ui->setupUi(this); setWindowFlags(windowFlags() & ~Qt::WindowMinimizeButtonHint); @@ -22,12 +23,11 @@ MainWindow::MainWindow(QWidget *parent) : serverLMSWidget = new ServerLMSWidget(this); ui->verticalLayout_Main->addWidget(serverLMSWidget); + connect(serverLMSWidget, &ServerLMSWidget::signal_InitializeFinished, this, &MainWindow::slot_InitializeFinished); + connect(serverLMSWidget, &ServerLMSWidget::signal_hasError, this, &MainWindow::slot_hasError); connect(serverLMSWidget, &ServerLMSWidget::signal_LanguageChanged, this, &MainWindow::slot_LanguageChanged); - 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_HideWindow, this, &MainWindow::slot_TrayMenu_HideWindow); connect(serverLMSWidget, &ServerLMSWidget::signal_updateStateServer, this, &MainWindow::slot_updateStateServer); @@ -65,7 +65,7 @@ MainWindow::MainWindow(QWidget *parent) : trayIcon->setContextMenu(trayMenu); trayIcon->show(); - slot_Tray_ShowMessage(tr("Starting the server...")); + slot_Tray_ShowMessage(tr("Starting the server...")); QTimer::singleShot(1000, this, &MainWindow::slot_LazyInitialization); } @@ -91,7 +91,9 @@ void MainWindow::closeEvent(QCloseEvent * event) if(this->isVisible()) { event->ignore(); - slot_TrayMenu_HideWindow(); + + if(flInitServerLMSWidget) + slot_TrayMenu_HideWindow(); } } @@ -187,8 +189,16 @@ void MainWindow::slot_updateStateServer(EStateServer stateServer, EStateBlockAut void MainWindow::slot_LazyInitialization() { - serverLMSWidget->start(); + serverLMSWidget->start(); +} +void MainWindow::slot_hasError(int code) +{ + errorCheck(); +} + +void MainWindow::slot_InitializeFinished() +{ /* Также подключаем сигнал нажатия на иконку к обработчику * данного нажатия * */ @@ -197,11 +207,12 @@ void MainWindow::slot_LazyInitialization() * данного нажатия * */ connect(trayIcon, &QSystemTrayIcon::messageClicked, this, &MainWindow::slot_TrayMessageClicked); -} -void MainWindow::slot_hasError(int code) -{ - errorCheck(); + 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_HideWindow, this, &MainWindow::slot_TrayMenu_HideWindow); + + flInitServerLMSWidget = true; } void MainWindow::slot_LanguageChanged(QString language) diff --git a/ProgramServerMTD/mainwindow.h b/ProgramServerMTD/mainwindow.h index 191d9ff..9585acb 100644 --- a/ProgramServerMTD/mainwindow.h +++ b/ProgramServerMTD/mainwindow.h @@ -60,6 +60,8 @@ public slots: void slot_hasError(int code); + void slot_InitializeFinished(); + private: void exit(); void errorCheck(); @@ -76,5 +78,7 @@ private: QAction * action_ShowWindow; QAction * action_HideWindow; QAction * action_Exit; + + bool flInitServerLMSWidget; }; #endif // MAINWINDOW_H