Messenger убрал табы

This commit is contained in:
2025-09-12 12:09:30 +03:00
parent ba6e0178ec
commit 8bb2aef5cc
4 changed files with 83 additions and 63 deletions

View File

@@ -9,22 +9,21 @@
MessangerWidget::MessangerWidget(QWidget *parent) :
QWidget(parent),
tabDialogMessenger(nullptr),
oneDialogMessenger(nullptr),
currGUIclientId(""),
ui(new Ui::MessangerWidget)
{
ui->setupUi(this);
ui->tabWidget->removeTab(1);
ui->tabWidget->removeTab(0);
ui->btnSend->setObjectName("btnSend");
ui->editMsg->setObjectName("editMsg");
ui->lblUser->setObjectName("lblUser");
}
MessangerWidget::~MessangerWidget()
{
delete tabDialogMessenger;
delete oneDialogMessenger;
delete ui;
}
@@ -41,8 +40,8 @@ void MessangerWidget::reinitMessangerWidget(User user)
{
userRemote = user;
//Обновляем статус залогинивания
updateLoggedIn(userRemote.getLoggedIn());
//Обновляем заголовок
updateHeader(userRemote);
}
}
@@ -59,21 +58,21 @@ int MessangerWidget::getIDuserRemote()
void MessangerWidget::showSendedMessage(ClientMessage clientMessage)
{
if(currGUIclientId == clientMessage.fromId)
tabDialogMessenger->addMsgWidgetLocal(clientMessage.Text, clientMessage.timeStr);
oneDialogMessenger->addMsgWidgetLocal(clientMessage.Text, clientMessage.timeStr);
}
void MessangerWidget::showReceivedMessage(ClientMessage clientMessage)
{
if(QString::number(userRemote.getID()) == clientMessage.fromId)
tabDialogMessenger->addMsgWidgetRemote(clientMessage.Text, clientMessage.timeStr);
oneDialogMessenger->addMsgWidgetRemote(clientMessage.Text, clientMessage.timeStr);
}
void MessangerWidget::addTabDialogMessenger(User user)
{
if(!tabDialogMessenger)
if(!oneDialogMessenger)
{//Диалога еще не существует
tabDialogMessenger = new OneDialogMessenger(QString::number(user.getID()), user.getTypeUserDB(), this);
oneDialogMessenger = new OneDialogMessenger(QString::number(user.getID()), user.getTypeUserDB(), this);
//Добавляем новую вкладку диалога
QString typeUserStr = "";
@@ -81,30 +80,49 @@ void MessangerWidget::addTabDialogMessenger(User user)
typeUserStr = tr("Trainee");
else if(user.getTypeUserDB() == User::TypeUserDBInstructor)
typeUserStr = tr("Instructor");
int index = ui->tabWidget->addTab(tabDialogMessenger, typeUserStr + ": " + user.getName() + " (" + user.getLogin() + ")");
//int index = ui->tabWidget->addTab(oneDialogMessenger, typeUserStr + ": " + user.getName() + " (" + user.getLogin() + ")");
//Обновляем статус залогинивания
updateLoggedIn(user.getLoggedIn());
ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger);
//Обновляем заголовок
updateHeader(user);
}
else
{//Диалог уже существует
//Проверяем наличие диалога именно с этим клиентом
if(tabDialogMessenger->getUserId() == user.getID())
if(oneDialogMessenger->getUserId() == user.getID())
{
//Обновляем статус залогинивания
updateLoggedIn(user.getLoggedIn());
//Обновляем заголовок
updateHeader(user);
}
}
}
void MessangerWidget::updateLoggedIn(bool loggedIn)
void MessangerWidget::updateHeader(User user)
{
//Обновляем статус залогинивания
if(loggedIn)
ui->tabWidget->setTabIcon(0, QIcon(":/resources/icons/circleGreen.png"));
if(user.getLoggedIn())
{
//ui->tabWidget->setTabIcon(0, QIcon(":/resources/icons/circleGreen.png"));
ui->lblLoggedIn->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
}
else
ui->tabWidget->setTabIcon(0, QIcon(":/resources/icons/circleGray.png"));
{
//ui->tabWidget->setTabIcon(0, QIcon(":/resources/icons/circleGray.png"));
ui->lblLoggedIn->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGray.png")));
}
QString typeUserStr = "";
if(user.getTypeUserDB() == User::TypeUserDBTrainee)
typeUserStr = tr("Trainee");
else if(user.getTypeUserDB() == User::TypeUserDBInstructor)
typeUserStr = tr("Instructor");
QString fullName = typeUserStr + ": " + user.getName() + " (" + user.getLogin() + ")";
ui->lblUser->setText(fullName);
}
void MessangerWidget::on_btnSend_clicked()