#ifndef INSTRUCTORSANDTRAINEESWIDGET_H #define INSTRUCTORSANDTRAINEESWIDGET_H #include #include #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) Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QList) 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; QTranslator qtLanguageTranslator; QString language; }; #endif // INSTRUCTORSANDTRAINEESWIDGET_H