mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
Рефакт5 Мессенджера
This commit is contained in:
@@ -12,8 +12,7 @@ MessangerWidget::MessangerWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::MessangerWidget),
|
||||
selectedUserLogin(""),
|
||||
selectedUserId(""),
|
||||
flOneTrainee(false)
|
||||
selectedUserId("")
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
@@ -75,11 +74,8 @@ void MessangerWidget::addTabDialogMessenger(Trainee trainee)
|
||||
{
|
||||
if(dialogMsg->getUserLogin() == trainee.getLogin())
|
||||
{//Диалог для этого клиента уже существует
|
||||
//Обновляем статус залогинивания
|
||||
if(trainee.getLoggedIn())
|
||||
ui->tabWidget->setTabIcon(getIndexTab(trainee.getLogin()), QIcon(":/resources/icons/circleGreen.png"));
|
||||
else
|
||||
ui->tabWidget->setTabIcon(getIndexTab(trainee.getLogin()), QIcon(":/resources/icons/circleGray.png"));
|
||||
//Обновляем статус залогинивания
|
||||
updateLoggedIn(trainee.getLoggedIn());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -91,13 +87,10 @@ void MessangerWidget::addTabDialogMessenger(Trainee trainee)
|
||||
listTabDialogMessenger.append(tabDialog);
|
||||
|
||||
//Добавляем новую вкладку диалога
|
||||
int index = ui->tabWidget->addTab(tabDialog, /*login + ": " +*/ trainee.getName());
|
||||
int index = ui->tabWidget->addTab(tabDialog, tr("Trainee") + ": " + trainee.getName() + " (" + trainee.getLogin() + ")");
|
||||
|
||||
//Обновляем статус залогинивания
|
||||
if(trainee.getLoggedIn())
|
||||
ui->tabWidget->setTabIcon(index, QIcon(":/resources/icons/circleGreen.png"));
|
||||
else
|
||||
ui->tabWidget->setTabIcon(index, QIcon(":/resources/icons/circleGray.png"));
|
||||
updateLoggedIn(trainee.getLoggedIn());
|
||||
}
|
||||
|
||||
int MessangerWidget::getIndexTab(QString login)
|
||||
@@ -130,9 +123,10 @@ void MessangerWidget::showSendedMessage(QString text)
|
||||
|
||||
void MessangerWidget::setOneTrainee(Trainee trainee)
|
||||
{
|
||||
flOneTrainee = true;
|
||||
this->trainee = trainee;
|
||||
|
||||
QList<Trainee> listTrainees;
|
||||
|
||||
listTrainees.clear();
|
||||
listTrainees.append(trainee);
|
||||
|
||||
initMessangerWidget(listTrainees);
|
||||
@@ -169,40 +163,22 @@ void MessangerWidget::slot_LanguageChanged(QString language)
|
||||
|
||||
void MessangerWidget::initMessangerWidget(QList<Trainee> listTrainees)
|
||||
{
|
||||
if(flOneTrainee)
|
||||
for(Trainee traineeUpdate: listTrainees)
|
||||
{
|
||||
Trainee traineeOne = this->listTrainees.first();
|
||||
for(Trainee trainee: listTrainees)
|
||||
if(trainee.getID() == traineeUpdate.getID())
|
||||
{
|
||||
if(traineeOne.getID() == trainee.getID())
|
||||
{
|
||||
this->listTrainees.replace(0, trainee);
|
||||
break;
|
||||
}
|
||||
trainee = traineeUpdate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this->listTrainees = listTrainees;
|
||||
}
|
||||
|
||||
for(Trainee trainee: this->listTrainees)
|
||||
{
|
||||
if(! trainee.getArchived())
|
||||
addTabDialogMessenger(trainee);
|
||||
}
|
||||
addTabDialogMessenger(trainee);
|
||||
}
|
||||
|
||||
void MessangerWidget::showReceivedMessage(ClientMessage clientMessage)
|
||||
{
|
||||
for(Trainee trainee: listTrainees)
|
||||
{
|
||||
if(QString::number(trainee.getID()) == clientMessage.fromId)
|
||||
{
|
||||
addMsgFromClient(trainee, clientMessage.Text);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(QString::number(trainee.getID()) == clientMessage.fromId)
|
||||
addMsgFromClient(trainee, clientMessage.Text);
|
||||
}
|
||||
|
||||
void MessangerWidget::keyPressEvent(QKeyEvent *event)
|
||||
@@ -213,6 +189,15 @@ void MessangerWidget::keyPressEvent(QKeyEvent *event)
|
||||
}
|
||||
}
|
||||
|
||||
void MessangerWidget::updateLoggedIn(bool loggedIn)
|
||||
{
|
||||
//Обновляем статус залогинивания
|
||||
if(loggedIn)
|
||||
ui->tabWidget->setTabIcon(0, QIcon(":/resources/icons/circleGreen.png"));
|
||||
else
|
||||
ui->tabWidget->setTabIcon(0, QIcon(":/resources/icons/circleGray.png"));
|
||||
}
|
||||
|
||||
void MessangerWidget::changeEvent(QEvent *event)
|
||||
{
|
||||
// В случае получения события изменения языка приложения
|
||||
|
||||
@@ -61,17 +61,17 @@ public:
|
||||
private:
|
||||
virtual void keyPressEvent(QKeyEvent *event) override;
|
||||
|
||||
void updateLoggedIn(bool loggedIn);
|
||||
|
||||
private:
|
||||
Ui::MessangerWidget *ui;
|
||||
QList <TabDialogMessenger*> listTabDialogMessenger;
|
||||
QList<Trainee> listTrainees; //?
|
||||
//QList<Trainee> listTrainees; //?
|
||||
Trainee trainee;
|
||||
QString selectedUserLogin; //Логин клиента текущего диалога
|
||||
QString selectedUserId; //id клиента текущего диалога
|
||||
QString currClientId; //id этого клиента
|
||||
QTranslator qtLanguageTranslator;
|
||||
|
||||
bool flOneTrainee; //?
|
||||
};
|
||||
|
||||
#endif // MESSANGERWIDGET_H
|
||||
|
||||
Reference in New Issue
Block a user