#ifndef INSTRUCTORSANDTRAINEESWIDGET_H #define INSTRUCTORSANDTRAINEESWIDGET_H #include #include #include "instructorsAndTrainees_global.h" #include "viewertrainees.h" #include "viewerinstructors.h" #include "messangerwidget.h" #include "doctaskswidget.h" #include "interfacedatabaselms.h" #include "connectortoserver.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) 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 Q_SLOTS: //Слот обработки смены языка void slot_LanguageChanged(QString language); //Слот обработки результата авторизации void checkLoginResult(ServerAuthorization * serverAuth); //Слот обработки результата деавторизации void checkDeLoginResult(ServerDeAuthorization * serverDeAuth); Q_SIGNALS: //сигнал об изменении языка интерфейса void signal_LanguageChanged(QString language); //сигнал о необходимости обновления интерфейса void signal_NeedUpdateUI(bool treeInstructor, bool treeTrainee); //сигнал о блокировке авторизации void signal_BlockAutorization(bool block); //сигнал о выборе обучаемого (в списке) void signal_traineeSelected(QString login); //сигнал об изменении вкладки диалога (в мессенджере) void signal_tabMessengerChanged(QString login); //сигнал об инициализации мессенджера void signal_InitMessanger(QList listTrainees); private Q_SLOTS: void on_btnConnectionToDB_clicked(); void on_btnAuthorizationInstructor_clicked(); void on_btnUpdateStyleSheet_clicked(); void on_btnQueryGetAllLists_clicked(); private: //Авторизация инструктора локальная bool authorizationInstructorDialog(QWidget* parent = nullptr); bool deAuthorizationInstructor(QString login); bool authorizationIsCompleted(); void updateLabelLoggedInInstructor(QString login, QString name); private: Ui::InstructorsAndTraineesWidget *ui; ConnectorToServer* connectorToServer; InterfaceDataBaseLMS* dbLMS; ViewerTrainees* viewerTrainees; ViewerInstructors* viewerInstructors; MessangerWidget* messangerWidget; DocTasksWidget* docTasksWidget; bool adminMode; QString loginInstructorLoggedInLocal; QString nameInstructorLoggedInLocal; QTranslator qtLanguageTranslator; }; #endif // INSTRUCTORSANDTRAINEESWIDGET_H