#ifndef INSTRUCTORSANDTRAINEESWIDGET_H #define INSTRUCTORSANDTRAINEESWIDGET_H #include #include #include "instructorsAndTrainees_global.h" #include "viewertrainees.h" #include "viewerinstructors.h" #include "doctaskswidget.h" #include "interfacedatabaselms.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 Q_SLOTS: //Слот обработки смены языка void slot_LanguageChanged(QString language); 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); public: QString getMainInstructorName(); //QList getListTrainees(); //Авторизация обучаемого на клиенте bool authorizationTrainee(QString login, QString password, QString classroom_name = QStringLiteral(""), QString computer_name = QStringLiteral("")); bool deAuthorizationTrainee(QString login); QString getNameTraineeByLogin(QString login); //Авторизация инструктора на клиенте bool authorizationInstructor(QString login, QString password); bool deAuthorizationInstructor(QString login); QString getNameInstructorByLogin(QString login); private Q_SLOTS: void on_btnConnectionToDB_clicked(); void on_btnAuthorizationInstructor_clicked(); void on_btnDocTasks_clicked(); void on_toolButton_clicked(); private: void updateLabelLoggedInInstructor(); //Авторизация инструктора локальная bool authorizationInstructorLocal(QWidget* parent = nullptr); bool authorizationIsCompleted(); private: Ui::InstructorsAndTraineesWidget *ui; InterfaceDataBaseLMS* dbLMS; ViewerTrainees* viewerTrainees; ViewerInstructors* viewerInstructors; DocTasksWidget* docTasksWidget; bool adminMode; QString loginInstructorLoggedInLocal; QTranslator qtLanguageTranslator; QMutex mtxAccess; }; #endif // INSTRUCTORSANDTRAINEESWIDGET_H