Запуск refact

This commit is contained in:
2026-02-05 12:30:30 +03:00
parent ddb5f4b76e
commit 7b82fcbf07
4 changed files with 34 additions and 61 deletions

View File

@@ -56,7 +56,7 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
waitAnimationWidget->setParent(this);
waitAnimationWidget->initialize(movie,this);
waitAnimationWidget->showWithPlay();
//waitAnimationWidget->showWithPlay();
updateStateOnlyVersion();
}
@@ -361,6 +361,10 @@ QString ServerLMSWidget::loadStyleSheet()
void ServerLMSWidget::startInitialization_step0()
{
emit signal_Tray_ShowMessage(tr("Starting the server..."));
waitAnimationWidget->showWithPlay();
//QApplication::setOverrideCursor(Qt::WaitCursor);
providerDBLMS = new ProviderDBLMS(this);

View File

@@ -94,6 +94,7 @@ signals:
void signal_updateDocsXML();
void signal_InitializeFinished();
public slots:
void slot_LanguageChanged(QString language);
void slot_UpdateListClients();

View File

@@ -21,34 +21,34 @@ MainWindow::MainWindow(QWidget *parent) :
setWindowFlags(windowFlags() & ~Qt::WindowMinimizeButtonHint);
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_updateStateServer, this, &MainWindow::slot_updateStateServer);
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);
qtLanguageTranslator.load(QString("translations/RRJServer_") + serverLMSWidget->getLanguage(), ".");
qApp->installTranslator(&qtLanguageTranslator);
/* Инициализируем иконку трея, устанавливаем иконку,
* а также задаем всплывающую подсказку
* */
/* Инициализируем иконку трея, устанавливаем иконку*/
trayIcon = new QSystemTrayIcon(this);
//trayIcon->setIcon(this->style()->standardIcon(QStyle::SP_ComputerIcon));
trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ_stop.png"));
/* После чего создаем контекстное меню для иконки трея*/
/* Подключаем сигнал нажатия на иконку*/
connect(trayIcon, &QSystemTrayIcon::activated, this, &MainWindow::slot_TrayIconActivated);
/* Подключаем сигнал нажатия на всплывающее сообщение*/
connect(trayIcon, &QSystemTrayIcon::messageClicked, this, &MainWindow::slot_TrayMessageClicked);
/* Создаем контекстное меню для иконки трея*/
trayMenu = new QMenu(this);
action_ShowWindow = new QAction(this);
action_HideWindow = new QAction(this);
action_Exit = new QAction(this);
/* подключаем сигналы нажатий на пункты меню к соответсвующим слотам.
* */
/* Подключаем сигналы нажатий на пункты меню к соответсвующим слотам.*/
connect(action_ShowWindow, &QAction::triggered, this, &MainWindow::slot_TrayMenu_ShowWindow);
connect(action_HideWindow, &QAction::triggered, this, &MainWindow::slot_TrayMenu_HideWindow);
connect(action_Exit, &QAction::triggered, this, &MainWindow::slot_TrayMenu_Exit);
@@ -65,8 +65,11 @@ MainWindow::MainWindow(QWidget *parent) :
trayIcon->setContextMenu(trayMenu);
trayIcon->show();
slot_Tray_ShowMessage(tr("Starting the server..."));
//slot_Tray_ShowMessage(tr("Starting the server..."));
ui->verticalLayout_Main->addWidget(serverLMSWidget);
//Отложенная инициализация (для serverLMSWidget)
QTimer::singleShot(1000, this, &MainWindow::slot_LazyInitialization);
}
@@ -81,8 +84,6 @@ MainWindow::~MainWindow()
delete ui;
}
/* Метод, который обрабатывает событие закрытия окна приложения
* */
void MainWindow::closeEvent(QCloseEvent * event)
{
/* Если окно видимо, то завершение приложения
@@ -93,7 +94,9 @@ void MainWindow::closeEvent(QCloseEvent * event)
event->ignore();
if(flInitServerLMSWidget)
{//Не даем свернуть окно, пока не прошла инициализация serverLMSWidget
slot_TrayMenu_HideWindow();
}
}
}
@@ -109,8 +112,6 @@ void MainWindow::changeEvent(QEvent *event)
}
}
/* Метод, который обрабатывает нажатие на иконку приложения в трее
* */
void MainWindow::slot_TrayIconActivated(QSystemTrayIcon::ActivationReason reason)
{
switch (reason){
@@ -132,8 +133,6 @@ void MainWindow::slot_TrayIconActivated(QSystemTrayIcon::ActivationReason reason
}
}
/* Метод, который обрабатывает нажатие на сообщение из трея
* */
void MainWindow::slot_TrayMessageClicked()
{
if(!this->isVisible())
@@ -194,24 +193,17 @@ void MainWindow::slot_LazyInitialization()
void MainWindow::slot_hasError(int code)
{
errorCheck();
if(code == 100)
{
slot_TrayMenu_ShowWindow();
//выключение с задержкой
QTimer::singleShot(1000, this, &MainWindow::slot_TrayMenu_Exit);
}
}
void MainWindow::slot_InitializeFinished()
{
/* Также подключаем сигнал нажатия на иконку к обработчику
* данного нажатия
* */
connect(trayIcon, &QSystemTrayIcon::activated, this, &MainWindow::slot_TrayIconActivated);
/* Также подключаем сигнал нажатия на всплывающее сообщение к обработчику
* данного нажатия
* */
connect(trayIcon, &QSystemTrayIcon::messageClicked, this, &MainWindow::slot_TrayMessageClicked);
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;
}
@@ -221,21 +213,6 @@ void MainWindow::slot_LanguageChanged(QString language)
qApp->installTranslator(&qtLanguageTranslator);
}
void MainWindow::exit()
{
QApplication::exit(0);
}
void MainWindow::errorCheck()
{
if(serverLMSWidget->hasError() == 100)
{
slot_TrayMenu_ShowWindow();
//выключение с задержкой, так как eventLoop инициализируется позже
QTimer::singleShot(1000, this, &MainWindow::slot_TrayMenu_Exit);
}
}
void MainWindow::updateTrayTitles()
{

View File

@@ -25,15 +25,7 @@ public:
~MainWindow();
protected:
/* Метод получения событий в главном окне приложения
* В нём будет производиться проверка события смены перевода приложения
*/
void changeEvent(QEvent * event) override;
/* Виртуальная функция родительского класса в нашем классе
* переопределяется для изменения поведения приложения,
* чтобы оно сворачивалось в трей, когда мы этого хотим
*/
void closeEvent(QCloseEvent * event) override;
public slots:
@@ -52,19 +44,18 @@ public slots:
//Слот вывода сообщения из трея
void slot_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information);
//Слот изменения иконки трея о статусе Сервера
void slot_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization);
//Слот отложенной инициализации
void slot_LazyInitialization();
void slot_LazyInitialization(); //TODO ?
void slot_hasError(int code);
void slot_hasError(int code); //TODO ?
void slot_InitializeFinished();
void slot_InitializeFinished(); //TODO ?
private:
void exit();
void errorCheck();
void updateTrayTitles();
private: