Files
RRJServer/InstructorsAndTrainees/instructorsandtraineeswidget.h
2025-07-30 11:30:55 +03:00

111 lines
3.1 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef INSTRUCTORSANDTRAINEESWIDGET_H
#define INSTRUCTORSANDTRAINEESWIDGET_H
#include <QWidget>
#include <QTranslator>
#include "instructorsAndTrainees_global.h"
#include "viewertrainees.h"
#include "viewerinstructors.h"
#include "messangerwidget.h"
#include "ammtaskswidget.h"
#include "fimtaskswidget.h"
#include "connectortoserver.h"
#include "tasksAmmFim.h"
Q_DECLARE_METATYPE(QList<Instructor>)
Q_DECLARE_METATYPE(QList<Trainee>)
Q_DECLARE_METATYPE(QList<Group>)
Q_DECLARE_METATYPE(QList<Computer>)
Q_DECLARE_METATYPE(QList<Classroom>)
Q_DECLARE_METATYPE(QList<Module*>)
Q_DECLARE_METATYPE(QList<QTreeWidgetItem*>)
Q_DECLARE_METATYPE(QList<TaskAmmFim>)
namespace Ui {
class InstructorsAndTraineesWidget;
}
class INSTRUCTORSANDTRAINEES_EXPORT InstructorsAndTraineesWidget : public QWidget
{
Q_OBJECT
public:
explicit InstructorsAndTraineesWidget(QWidget *parent = nullptr);
~InstructorsAndTraineesWidget();
private:
void changeEvent(QEvent * event) override;
public:
void updateMyStyleSheet();
QString getLanguage();
private:
QString loadStyleSheet();
public Q_SLOTS:
//Слот обработки смены языка
void slot_LanguageChanged(QString language);
//Слот обработки смены стиля
void slot_UpdateStyleSheet();
//Слот обработки результата авторизации
void checkLoginResult(ServerAuthorization * serverAuth);
//Слот обработки результата деавторизации
void checkDeLoginResult(ServerDeAuthorization * serverDeAuth);
void slot_ConnectedToServer(bool state);
Q_SIGNALS:
//Слот смены языка
void signal_LanguageChanged(QString language);
//сигнал о необходимости обновления интерфейса
void signal_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
//сигнал о блокировке авторизации
void signal_BlockAutorization(bool block);
private Q_SLOTS:
void on_btnConnectionToServer_clicked();
void on_btnAuthorizationInstructor_clicked();
void on_btnSetVersion_clicked();
void on_btnSettings_clicked();
void on_btnEditorTrainees_clicked();
void on_btnEditorInstructors_clicked();
private:
//Авторизация инструктора локальная
bool authorizationInstructorDialog(QWidget* parent = nullptr);
bool deAuthorizationInstructor(QString login);
bool authorizationIsCompleted();
void updateLabelLoggedInInstructor(QString login, QString name);
void updateLabelServer();
void setLanguageInterfase();
private:
Ui::InstructorsAndTraineesWidget *ui;
ConnectorToServer* connectorToServer;
ViewerTrainees* viewerTrainees;
ViewerInstructors* viewerInstructors;
MessangerWidget* messangerWidget;
AMMtasksWidget* ammTasksWidget;
FIMtasksWidget* fimTasksWidget;
bool adminMode;
QString loginInstructorLoggedInLocal;
QString nameInstructorLoggedInLocal;
QString idInstructorLoggedInLocal;
QTranslator qtLanguageTranslator;
QString language;
};
#endif // INSTRUCTORSANDTRAINEESWIDGET_H