#ifndef MESSANGERWIDGET_H #define MESSANGERWIDGET_H #include #include #include #include "Datas.h" #include "tabdialogmessenger.h" namespace Ui { class MessangerWidget; } //Главный виджет мессенджера class MessangerWidget : public QWidget { Q_OBJECT public: explicit MessangerWidget(QWidget *parent = nullptr); ~MessangerWidget(); protected: // Метод получения событий // В нём будет производиться проверка события смены перевода приложения void changeEvent(QEvent * event) override; public: enum ETypeMsg{fromClient, toClient}; void addMsgFromClient(Trainee trainee, QString text); void addTabDialogMessenger(Trainee trainee); void actualizationTabsDialogMessenger(); int getIndexTab(QString login); void clear(); private slots: void on_btnSend_clicked(); void on_tabWidget_currentChanged(int index); signals: //сигнал о готовности нового сообщения на отправку клиенту void signal_msgToClientReady(QString login, QString text); //сигнал об изменении вкладки диалога с клиентом (TabDialogMessenger) void signal_tabMessengerChanged(QString login); public slots: //слот обработки сигнала о смене языка void slot_LanguageChanged(QString language); //слот обработки сигнала об инициализации мессенджера void slot_InitMessanger(QList listTrainees); //слот обработки сигнала о выборе обучаемого void slot_traineeSelected(QString login); //слот о приходе нового сообщения от клиента void slot_msgFromClientReady(QString login, QString text); private: virtual void keyPressEvent(QKeyEvent *event) override; private: Ui::MessangerWidget *ui; QList listTabDialogMessenger; QList listTrainees; QString currLogin; //Логин клиента текущего диалога QTranslator qtLanguageTranslator; }; #endif // MESSANGERWIDGET_H