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),
|
QWidget(parent),
|
||||||
ui(new Ui::MessangerWidget),
|
ui(new Ui::MessangerWidget),
|
||||||
selectedUserLogin(""),
|
selectedUserLogin(""),
|
||||||
selectedUserId(""),
|
selectedUserId("")
|
||||||
flOneTrainee(false)
|
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
@@ -76,10 +75,7 @@ void MessangerWidget::addTabDialogMessenger(Trainee trainee)
|
|||||||
if(dialogMsg->getUserLogin() == trainee.getLogin())
|
if(dialogMsg->getUserLogin() == trainee.getLogin())
|
||||||
{//Диалог для этого клиента уже существует
|
{//Диалог для этого клиента уже существует
|
||||||
//Обновляем статус залогинивания
|
//Обновляем статус залогинивания
|
||||||
if(trainee.getLoggedIn())
|
updateLoggedIn(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"));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -91,13 +87,10 @@ void MessangerWidget::addTabDialogMessenger(Trainee trainee)
|
|||||||
listTabDialogMessenger.append(tabDialog);
|
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())
|
updateLoggedIn(trainee.getLoggedIn());
|
||||||
ui->tabWidget->setTabIcon(index, QIcon(":/resources/icons/circleGreen.png"));
|
|
||||||
else
|
|
||||||
ui->tabWidget->setTabIcon(index, QIcon(":/resources/icons/circleGray.png"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int MessangerWidget::getIndexTab(QString login)
|
int MessangerWidget::getIndexTab(QString login)
|
||||||
@@ -130,9 +123,10 @@ void MessangerWidget::showSendedMessage(QString text)
|
|||||||
|
|
||||||
void MessangerWidget::setOneTrainee(Trainee trainee)
|
void MessangerWidget::setOneTrainee(Trainee trainee)
|
||||||
{
|
{
|
||||||
flOneTrainee = true;
|
this->trainee = trainee;
|
||||||
|
|
||||||
|
QList<Trainee> listTrainees;
|
||||||
|
|
||||||
listTrainees.clear();
|
|
||||||
listTrainees.append(trainee);
|
listTrainees.append(trainee);
|
||||||
|
|
||||||
initMessangerWidget(listTrainees);
|
initMessangerWidget(listTrainees);
|
||||||
@@ -169,40 +163,22 @@ void MessangerWidget::slot_LanguageChanged(QString language)
|
|||||||
|
|
||||||
void MessangerWidget::initMessangerWidget(QList<Trainee> listTrainees)
|
void MessangerWidget::initMessangerWidget(QList<Trainee> listTrainees)
|
||||||
{
|
{
|
||||||
if(flOneTrainee)
|
for(Trainee traineeUpdate: listTrainees)
|
||||||
{
|
{
|
||||||
Trainee traineeOne = this->listTrainees.first();
|
if(trainee.getID() == traineeUpdate.getID())
|
||||||
for(Trainee trainee: listTrainees)
|
|
||||||
{
|
{
|
||||||
if(traineeOne.getID() == trainee.getID())
|
trainee = traineeUpdate;
|
||||||
{
|
|
||||||
this->listTrainees.replace(0, trainee);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this->listTrainees = listTrainees;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(Trainee trainee: this->listTrainees)
|
|
||||||
{
|
|
||||||
if(! trainee.getArchived())
|
|
||||||
addTabDialogMessenger(trainee);
|
addTabDialogMessenger(trainee);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void MessangerWidget::showReceivedMessage(ClientMessage clientMessage)
|
void MessangerWidget::showReceivedMessage(ClientMessage clientMessage)
|
||||||
{
|
|
||||||
for(Trainee trainee: listTrainees)
|
|
||||||
{
|
{
|
||||||
if(QString::number(trainee.getID()) == clientMessage.fromId)
|
if(QString::number(trainee.getID()) == clientMessage.fromId)
|
||||||
{
|
|
||||||
addMsgFromClient(trainee, clientMessage.Text);
|
addMsgFromClient(trainee, clientMessage.Text);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerWidget::keyPressEvent(QKeyEvent *event)
|
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)
|
void MessangerWidget::changeEvent(QEvent *event)
|
||||||
{
|
{
|
||||||
// В случае получения события изменения языка приложения
|
// В случае получения события изменения языка приложения
|
||||||
|
|||||||
@@ -61,17 +61,17 @@ public:
|
|||||||
private:
|
private:
|
||||||
virtual void keyPressEvent(QKeyEvent *event) override;
|
virtual void keyPressEvent(QKeyEvent *event) override;
|
||||||
|
|
||||||
|
void updateLoggedIn(bool loggedIn);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::MessangerWidget *ui;
|
Ui::MessangerWidget *ui;
|
||||||
QList <TabDialogMessenger*> listTabDialogMessenger;
|
QList <TabDialogMessenger*> listTabDialogMessenger;
|
||||||
QList<Trainee> listTrainees; //?
|
//QList<Trainee> listTrainees; //?
|
||||||
Trainee trainee;
|
Trainee trainee;
|
||||||
QString selectedUserLogin; //Логин клиента текущего диалога
|
QString selectedUserLogin; //Логин клиента текущего диалога
|
||||||
QString selectedUserId; //id клиента текущего диалога
|
QString selectedUserId; //id клиента текущего диалога
|
||||||
QString currClientId; //id этого клиента
|
QString currClientId; //id этого клиента
|
||||||
QTranslator qtLanguageTranslator;
|
QTranslator qtLanguageTranslator;
|
||||||
|
|
||||||
bool flOneTrainee; //?
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MESSANGERWIDGET_H
|
#endif // MESSANGERWIDGET_H
|
||||||
|
|||||||
Reference in New Issue
Block a user