mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
74 lines
2.2 KiB
C++
74 lines
2.2 KiB
C++
#ifndef MESSANGERWIDGET_H
|
||
#define MESSANGERWIDGET_H
|
||
|
||
#include <QWidget>
|
||
#include <QTranslator>
|
||
#include <trainee.h>
|
||
#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<Trainee> 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 <TabDialogMessenger*> listTabDialogMessenger;
|
||
QList<Trainee> listTrainees;
|
||
QString currLogin; //Логин клиента текущего диалога
|
||
QTranslator qtLanguageTranslator;
|
||
};
|
||
|
||
#endif // MESSANGERWIDGET_H
|