MessangerWidget переехал в InstrucorsAndTraineesWidget

This commit is contained in:
krivoshein
2024-12-04 10:25:33 +03:00
parent a310c687e6
commit 56eff211ce
65 changed files with 915 additions and 826 deletions

View File

@@ -0,0 +1,82 @@
#ifndef MESSANGERWIDGET_H
#define MESSANGERWIDGET_H
#include <QWidget>
#include <QListWidget>
#include <QTranslator>
#include <trainee.h>
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<Trainee> listTrainees);
private:
virtual void keyPressEvent(QKeyEvent *event) override;
private:
QList <DialogMsg> listDialogMsg;
QString currLogin = "";
Ui::MessangerWidget *ui;
QTranslator qtLanguageTranslator;
};
#endif // MESSANGERWIDGET_H