Files
RRJServer/InstructorsAndTrainees/messanger/messangerwidget.h

84 lines
2.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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 initialize(QString id);
void addTabDialogMessenger(Trainee trainee);
void actualizationTabsDialogMessenger();
int getIndexTab(QString login);
void clear();
void showSendedMessage(QString text);
void setOneTrainee(Trainee trainee);
public slots:
//слот обработки сигнала о смене языка
void slot_LanguageChanged(QString language);
private slots:
void on_btnSend_clicked();
void on_tabWidget_currentChanged(int index);
signals:
//сигнал о готовности нового сообщения на отправку клиенту
void signal_sendMessage(ClientMessage clientMessage);
//сигнал об изменении вкладки диалога с клиентом (TabDialogMessenger)
void signal_tabMessengerChanged(QString login);
public:
void showReceivedMessage(ClientMessage clientMessage);
void initMessangerWidget(QList<Trainee> listTrainees);
void traineeSelected(QString login);
void getTabDialogMessengerByID(QString id_user);
private:
virtual void keyPressEvent(QKeyEvent *event) override;
private:
Ui::MessangerWidget *ui;
QList <TabDialogMessenger*> listTabDialogMessenger;
QList<Trainee> listTrainees;
QString selectedUserLogin; //Логин клиента текущего диалога
QString selectedUserId; //id клиента текущего диалога
QString currClientId; //id этого клиента
QTranslator qtLanguageTranslator;
bool flOneTrainee;
};
#endif // MESSANGERWIDGET_H