mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
85 lines
2.5 KiB
C++
85 lines
2.5 KiB
C++
#ifndef MAINWINDOW_H
|
||
#define MAINWINDOW_H
|
||
|
||
#include <QMainWindow>
|
||
#include <QTranslator>
|
||
#include <QEvent>
|
||
|
||
#include <QCloseEvent>
|
||
#include <QSystemTrayIcon>
|
||
#include <QAction>
|
||
|
||
#include "serverlmswidget.h"
|
||
|
||
|
||
QT_BEGIN_NAMESPACE
|
||
namespace Ui { class MainWindow; }
|
||
QT_END_NAMESPACE
|
||
|
||
class MainWindow : public QMainWindow
|
||
{
|
||
Q_OBJECT
|
||
|
||
public:
|
||
MainWindow(QWidget *parent = nullptr);
|
||
~MainWindow();
|
||
|
||
protected:
|
||
/* Метод получения событий в главном окне приложения
|
||
* В нём будет производиться проверка события смены перевода приложения
|
||
*/
|
||
void changeEvent(QEvent * event) override;
|
||
|
||
/* Виртуальная функция родительского класса в нашем классе
|
||
* переопределяется для изменения поведения приложения,
|
||
* чтобы оно сворачивалось в трей, когда мы этого хотим
|
||
*/
|
||
void closeEvent(QCloseEvent * event) override;
|
||
|
||
public slots:
|
||
//Слот обработки смены языка
|
||
void slot_LanguageChanged(QString language);
|
||
|
||
//Слот нажатия на иконку приложения в трее
|
||
void slot_TrayIconActivated(QSystemTrayIcon::ActivationReason reason);
|
||
//Слот нажатия на сообщение
|
||
void slot_TrayMessageClicked();
|
||
|
||
//Слоты нажатия на пункты меню
|
||
void slot_TrayMenu_ShowWindow();
|
||
void slot_TrayMenu_HideWindow();
|
||
void slot_TrayMenu_Exit();
|
||
|
||
//Слот вывода сообщения из трея
|
||
void slot_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information);
|
||
//Слот изменения иконки трея о статусе Сервера
|
||
void slot_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization);
|
||
|
||
//Слот отложенной инициализации
|
||
void slot_LazyInitialization();
|
||
|
||
void slot_hasError(int code);
|
||
|
||
void slot_InitializeFinished();
|
||
|
||
private:
|
||
void exit();
|
||
void errorCheck();
|
||
void updateTrayTitles();
|
||
|
||
private:
|
||
Ui::MainWindow *ui;
|
||
ServerLMSWidget* serverLMSWidget;
|
||
QTranslator qtLanguageTranslator;
|
||
|
||
//Трей
|
||
QSystemTrayIcon* trayIcon;
|
||
QMenu * trayMenu;
|
||
QAction * action_ShowWindow;
|
||
QAction * action_HideWindow;
|
||
QAction * action_Exit;
|
||
|
||
bool flInitServerLMSWidget;
|
||
};
|
||
#endif // MAINWINDOW_H
|