mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Рефакт3 Мессенджера
This commit is contained in:
@@ -51,7 +51,6 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
|
|
||||||
connect(connectorToServer,&ConnectorToServer::signal_ConnectedToServer,this,&InstructorsAndTraineesWidget::slot_ConnectedToServer);
|
connect(connectorToServer,&ConnectorToServer::signal_ConnectedToServer,this,&InstructorsAndTraineesWidget::slot_ConnectedToServer);
|
||||||
|
|
||||||
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, messangerController, &MessangerController::slot_traineeSelected);
|
|
||||||
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, this, &InstructorsAndTraineesWidget::slot_traineeSelected);
|
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, this, &InstructorsAndTraineesWidget::slot_traineeSelected);
|
||||||
|
|
||||||
//Размещение
|
//Размещение
|
||||||
|
|||||||
@@ -76,10 +76,15 @@ void MessangerController::setGUIclientId(QString id)
|
|||||||
|
|
||||||
void MessangerController::clearAllWidgets()
|
void MessangerController::clearAllWidgets()
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
for(MessangerWidget* widget : listWidgets)
|
for(MessangerWidget* widget : listWidgets)
|
||||||
{
|
{
|
||||||
widget->clear();
|
widget->clear();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
for(MessangerWidget* widget : listWidgets)
|
||||||
|
delete widget;
|
||||||
|
listWidgets.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -140,11 +145,3 @@ void MessangerController::slot_initMessanger(QList<Trainee> listTrainees)
|
|||||||
widget->initMessangerWidget(listTrainees);
|
widget->initMessangerWidget(listTrainees);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerController::slot_traineeSelected(QString login)
|
|
||||||
{
|
|
||||||
for(MessangerWidget* widget : listWidgets)
|
|
||||||
{
|
|
||||||
widget->traineeSelected(login);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public:
|
|||||||
~MessangerController();
|
~MessangerController();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MessangerWidget* newWidget(QWidget *parent, Trainee* trainee = nullptr, QVBoxLayout* boxLayout = nullptr);
|
MessangerWidget* newWidget(QWidget *parent, Trainee* trainee, QVBoxLayout* boxLayout);
|
||||||
void deleteWidget(MessangerWidget* msgWdgt);
|
void deleteWidget(MessangerWidget* msgWdgt);
|
||||||
|
|
||||||
void setGUIclientId(QString id);
|
void setGUIclientId(QString id);
|
||||||
@@ -28,10 +28,8 @@ public:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void slot_sendMessage(ClientMessage clientMessage);
|
void slot_sendMessage(ClientMessage clientMessage);
|
||||||
|
|
||||||
void slot_receiveMessage(ClientMessage clientMessage);
|
void slot_receiveMessage(ClientMessage clientMessage);
|
||||||
void slot_initMessanger(QList<Trainee> listTrainees);
|
void slot_initMessanger(QList<Trainee> listTrainees);
|
||||||
void slot_traineeSelected(QString login);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConnectorToServer* connectorToServer;
|
ConnectorToServer* connectorToServer;
|
||||||
|
|||||||
@@ -38,9 +38,10 @@ void MessangerWidget::addMsgFromClient(Trainee trainee, QString text)
|
|||||||
//Ищем нужный диалог
|
//Ищем нужный диалог
|
||||||
QString login = trainee.getLogin();
|
QString login = trainee.getLogin();
|
||||||
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
||||||
{//Есть такой
|
{
|
||||||
if(tabDialog->getUserLogin() == trainee.getLogin())
|
if(tabDialog->getUserLogin() == trainee.getLogin())
|
||||||
{
|
{//Есть такой
|
||||||
|
|
||||||
//Добавляем в существующую вкладку
|
//Добавляем в существующую вкладку
|
||||||
ui->tabWidget->setCurrentIndex(getIndexTab(login));
|
ui->tabWidget->setCurrentIndex(getIndexTab(login));
|
||||||
tabDialog->addMsgWidgetRemote(text);
|
tabDialog->addMsgWidgetRemote(text);
|
||||||
@@ -99,40 +100,6 @@ void MessangerWidget::addTabDialogMessenger(Trainee trainee)
|
|||||||
ui->tabWidget->setTabIcon(index, QIcon(":/resources/icons/circleGray.png"));
|
ui->tabWidget->setTabIcon(index, QIcon(":/resources/icons/circleGray.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerWidget::actualizationTabsDialogMessenger()
|
|
||||||
{
|
|
||||||
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
|
||||||
{
|
|
||||||
QString login = tabDialog->getUserLogin();
|
|
||||||
bool exist = false;
|
|
||||||
|
|
||||||
for(Trainee trainee : listTrainees)
|
|
||||||
{
|
|
||||||
if(trainee.getLogin() == login)
|
|
||||||
{
|
|
||||||
if(trainee.getArchived())
|
|
||||||
{//Стал архивным
|
|
||||||
//Удаляем диалог с клиентом
|
|
||||||
ui->tabWidget->removeTab(getIndexTab(login));
|
|
||||||
listTabDialogMessenger.removeOne(tabDialog);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
exist = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(!exist)
|
|
||||||
{//Нет такого логина
|
|
||||||
//Удаляем диалог с клиентом
|
|
||||||
ui->tabWidget->removeTab(getIndexTab(login));
|
|
||||||
listTabDialogMessenger.removeOne(tabDialog);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int MessangerWidget::getIndexTab(QString login)
|
int MessangerWidget::getIndexTab(QString login)
|
||||||
{
|
{
|
||||||
for(int index = 0; index < ui->tabWidget->count(); index++)
|
for(int index = 0; index < ui->tabWidget->count(); index++)
|
||||||
@@ -144,14 +111,6 @@ int MessangerWidget::getIndexTab(QString login)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerWidget::clear()
|
|
||||||
{
|
|
||||||
ui->btnSend->setEnabled(false);
|
|
||||||
ui->editMsg->setEnabled(false);
|
|
||||||
listTrainees.clear();
|
|
||||||
actualizationTabsDialogMessenger();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessangerWidget::showSendedMessage(QString text)
|
void MessangerWidget::showSendedMessage(QString text)
|
||||||
{
|
{
|
||||||
//Ищем нужный диалог
|
//Ищем нужный диалог
|
||||||
@@ -189,54 +148,6 @@ void MessangerWidget::on_btnSend_clicked()
|
|||||||
emit signal_sendMessage(message);
|
emit signal_sendMessage(message);
|
||||||
|
|
||||||
ui->editMsg->clear();
|
ui->editMsg->clear();
|
||||||
|
|
||||||
/*
|
|
||||||
//Ищем нужный диалог
|
|
||||||
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
|
||||||
{
|
|
||||||
if(tabDialog->getUserLogin() == selectedUserLogin)
|
|
||||||
{
|
|
||||||
//Добавляем в существующую вкладку
|
|
||||||
tabDialog->addMsgWidgetLocal(text);
|
|
||||||
//Делаем ее активной
|
|
||||||
ui->tabWidget->setCurrentIndex(getIndexTab(selectedUserLogin));
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessangerWidget::traineeSelected(QString login)
|
|
||||||
{
|
|
||||||
//Ищем нужный диалог
|
|
||||||
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
|
||||||
{
|
|
||||||
if(tabDialog->getUserLogin() == login)
|
|
||||||
{
|
|
||||||
//Активируем нужную вкладку
|
|
||||||
ui->tabWidget->setCurrentIndex(getIndexTab(login));
|
|
||||||
ui->btnSend->setEnabled(true);
|
|
||||||
ui->editMsg->setEnabled(true);
|
|
||||||
return;
|
|
||||||
//break;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ui->btnSend->setEnabled(false);
|
|
||||||
ui->editMsg->setEnabled(false);
|
|
||||||
|
|
||||||
/*
|
|
||||||
for(Trainee trainee : this->listTrainees)
|
|
||||||
{
|
|
||||||
if(trainee.getLogin() != selectedUserLogin)
|
|
||||||
{
|
|
||||||
ui->tabWidget->removeTab(getIndexTab(trainee.getLogin()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerWidget::getTabDialogMessengerByID(QString id_user)
|
void MessangerWidget::getTabDialogMessengerByID(QString id_user)
|
||||||
@@ -275,8 +186,6 @@ void MessangerWidget::initMessangerWidget(QList<Trainee> listTrainees)
|
|||||||
this->listTrainees = listTrainees;
|
this->listTrainees = listTrainees;
|
||||||
}
|
}
|
||||||
|
|
||||||
actualizationTabsDialogMessenger();
|
|
||||||
|
|
||||||
for(Trainee trainee: this->listTrainees)
|
for(Trainee trainee: this->listTrainees)
|
||||||
{
|
{
|
||||||
if(! trainee.getArchived())
|
if(! trainee.getArchived())
|
||||||
|
|||||||
@@ -34,12 +34,9 @@ public:
|
|||||||
void initialize(QString id);
|
void initialize(QString id);
|
||||||
|
|
||||||
void addTabDialogMessenger(Trainee trainee);
|
void addTabDialogMessenger(Trainee trainee);
|
||||||
void actualizationTabsDialogMessenger();
|
|
||||||
|
|
||||||
int getIndexTab(QString login);
|
int getIndexTab(QString login);
|
||||||
|
|
||||||
void clear();
|
|
||||||
|
|
||||||
void showSendedMessage(QString text);
|
void showSendedMessage(QString text);
|
||||||
|
|
||||||
void setOneTrainee(Trainee trainee);
|
void setOneTrainee(Trainee trainee);
|
||||||
@@ -60,7 +57,6 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
void initMessangerWidget(QList<Trainee> listTrainees); //?
|
void initMessangerWidget(QList<Trainee> listTrainees); //?
|
||||||
void traineeSelected(QString login); //?
|
|
||||||
|
|
||||||
void getTabDialogMessengerByID(QString id_user);
|
void getTabDialogMessengerByID(QString id_user);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user