Рефакт3 Мессенджера

This commit is contained in:
2025-09-09 12:32:43 +03:00
parent 1f5fce7ca0
commit b0c02e208f
5 changed files with 9 additions and 110 deletions

View File

@@ -51,7 +51,6 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
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);
//Размещение

View File

@@ -76,10 +76,15 @@ void MessangerController::setGUIclientId(QString id)
void MessangerController::clearAllWidgets()
{
/*
for(MessangerWidget* widget : listWidgets)
{
widget->clear();
}
*/
for(MessangerWidget* widget : listWidgets)
delete widget;
listWidgets.clear();
}
@@ -140,11 +145,3 @@ void MessangerController::slot_initMessanger(QList<Trainee> listTrainees)
widget->initMessangerWidget(listTrainees);
}
}
void MessangerController::slot_traineeSelected(QString login)
{
for(MessangerWidget* widget : listWidgets)
{
widget->traineeSelected(login);
}
}

View File

@@ -20,7 +20,7 @@ public:
~MessangerController();
public:
MessangerWidget* newWidget(QWidget *parent, Trainee* trainee = nullptr, QVBoxLayout* boxLayout = nullptr);
MessangerWidget* newWidget(QWidget *parent, Trainee* trainee, QVBoxLayout* boxLayout);
void deleteWidget(MessangerWidget* msgWdgt);
void setGUIclientId(QString id);
@@ -28,10 +28,8 @@ public:
public slots:
void slot_sendMessage(ClientMessage clientMessage);
void slot_receiveMessage(ClientMessage clientMessage);
void slot_initMessanger(QList<Trainee> listTrainees);
void slot_traineeSelected(QString login);
private:
ConnectorToServer* connectorToServer;

View File

@@ -38,9 +38,10 @@ void MessangerWidget::addMsgFromClient(Trainee trainee, QString text)
//Ищем нужный диалог
QString login = trainee.getLogin();
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
{//Есть такой
{
if(tabDialog->getUserLogin() == trainee.getLogin())
{
{//Есть такой
//Добавляем в существующую вкладку
ui->tabWidget->setCurrentIndex(getIndexTab(login));
tabDialog->addMsgWidgetRemote(text);
@@ -99,40 +100,6 @@ void MessangerWidget::addTabDialogMessenger(Trainee trainee)
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)
{
for(int index = 0; index < ui->tabWidget->count(); index++)
@@ -144,14 +111,6 @@ int MessangerWidget::getIndexTab(QString login)
return -1;
}
void MessangerWidget::clear()
{
ui->btnSend->setEnabled(false);
ui->editMsg->setEnabled(false);
listTrainees.clear();
actualizationTabsDialogMessenger();
}
void MessangerWidget::showSendedMessage(QString text)
{
//Ищем нужный диалог
@@ -189,54 +148,6 @@ void MessangerWidget::on_btnSend_clicked()
emit signal_sendMessage(message);
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)
@@ -275,8 +186,6 @@ void MessangerWidget::initMessangerWidget(QList<Trainee> listTrainees)
this->listTrainees = listTrainees;
}
actualizationTabsDialogMessenger();
for(Trainee trainee: this->listTrainees)
{
if(! trainee.getArchived())

View File

@@ -34,12 +34,9 @@ public:
void initialize(QString id);
void addTabDialogMessenger(Trainee trainee);
void actualizationTabsDialogMessenger();
int getIndexTab(QString login);
void clear();
void showSendedMessage(QString text);
void setOneTrainee(Trainee trainee);
@@ -60,7 +57,6 @@ public:
void initMessangerWidget(QList<Trainee> listTrainees); //?
void traineeSelected(QString login); //?
void getTabDialogMessengerByID(QString id_user);