Доделал Мессенджер

This commit is contained in:
krivoshein
2024-12-24 12:23:22 +03:00
parent 30ad6330a4
commit bf7b0ac741
45 changed files with 784 additions and 464 deletions

View File

@@ -2,38 +2,18 @@
#define MESSANGERWIDGET_H
#include <QWidget>
#include <QListWidget>
#include <QTranslator>
#include <trainee.h>
#include "Datas.h"
#include "tabdialogmessenger.h"
class TabDialogMessenger
{
public:
TabDialogMessenger();
TabDialogMessenger(int indexTab, QListWidget* listWidget, QString login)
{
this->indexTab = indexTab;
this->listWidget = listWidget;
this->login = login;
};
QString getLogin() {return login;};
int getIndexTab() {return indexTab;};
void addMsgWidgetLocal(QString text);
void addMsgWidgetRemote(QString text);
private:
QString login = "";
int indexTab = 0;
QListWidget* listWidget = nullptr;
};
namespace Ui {
class MessangerWidget;
}
//Главный виджет мессенджера
class MessangerWidget : public QWidget
{
Q_OBJECT
@@ -50,8 +30,12 @@ protected:
public:
enum ETypeMsg{fromClient, toClient};
void addMsg(Trainee trainee, QString text, ETypeMsg typeMsg);
void addMsgFromClient(Trainee trainee, QString text);
void addTabDialogMessenger(Trainee trainee);
void actualizationTabsDialogMessenger();
int getIndexTab(QString login);
private slots:
void on_btnSend_clicked();
@@ -60,7 +44,7 @@ private slots:
signals:
//сигнал о готовности нового сообщения на отправку клиенту
void signal_msgToClientReady(QString login, QString text);
//сигнал об изменении вкладки диалога (TabDialogMessenger)
//сигнал об изменении вкладки диалога с клиентом (TabDialogMessenger)
void signal_tabMessengerChanged(QString login);
public slots:
@@ -76,11 +60,11 @@ public slots:
private:
virtual void keyPressEvent(QKeyEvent *event) override;
private:
QList <TabDialogMessenger> listTabDialogMessenger;
QList<Trainee> listTrainees;
QString currLogin = "";
private:
Ui::MessangerWidget *ui;
QList <TabDialogMessenger*> listTabDialogMessenger;
QList<Trainee> listTrainees;
QString currLogin; //Логин клиента текущего диалога
QTranslator qtLanguageTranslator;
};