#ifndef MESSANGERWIDGET_H #define MESSANGERWIDGET_H #include #include #include #include class DialogMsg { public: DialogMsg(); DialogMsg(int indexTab, QListWidget* listWidget, QString login) { this->indexTab = indexTab; this->listWidget = listWidget; this->login = login; }; QString getLogin() {return login;}; QListWidget* getListWidget() {return listWidget;}; int getIndexTab() {return indexTab;}; private: QString login = ""; int indexTab = 0; QListWidget* listWidget = nullptr; }; 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 addMsg(QString login, QString name, QString text, ETypeMsg typeMsg); void addDialogTab(QString login, QString name); private slots: void on_btnSend_clicked(); void on_tabWidget_currentChanged(int index); signals: //сигнал о готовности нового сообщения на отправку клиенту void signal_msgToClientReady(QString login, QString text); //сигнал об изменении вкладки диалога void signal_tabMessengerChanged(QString login); public slots: //слот обработки сигнала о выборе обучаемого void slot_traineeSelected(QString login); void slot_LanguageChanged(QString language); //слот обработки сигнала об инициализации мессенджера void slot_InitMessanger(QList listTrainees); private: virtual void keyPressEvent(QKeyEvent *event) override; private: QList listDialogMsg; QString currLogin = ""; Ui::MessangerWidget *ui; QTranslator qtLanguageTranslator; }; #endif // MESSANGERWIDGET_H