#ifndef INSTRUCTORSANDTRAINEESWIDGET_H #define INSTRUCTORSANDTRAINEESWIDGET_H #include #include #include "instructorsAndTrainees_global.h" #include "viewertrainees.h" #include "viewerinstructors.h" #include "messangerwidget.h" #include "messangercontroller.h" #include "connectortoserver.h" #include "metatypes.h" 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 slot_checkLoginResult(ServerAuthorization * serverAuth); //Слот обработки результата деавторизации void slot_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: ConnectorToServer* connectorToServer; ViewerTrainees* viewerTrainees; ViewerInstructors* viewerInstructors; MessangerWidget* messangerWidget; MessangerController* messangerController; bool adminMode; QString loginInstructorLoggedInLocal; QString nameInstructorLoggedInLocal; QString idInstructorLoggedInLocal; QTranslator qtLanguageTranslator; QString language; Ui::InstructorsAndTraineesWidget *ui; }; #endif // INSTRUCTORSANDTRAINEESWIDGET_H