Мессенджер готов. Почти.

This commit is contained in:
2025-09-12 16:43:15 +03:00
parent 535c025276
commit 7022db1e5c
6 changed files with 91 additions and 42 deletions

View File

@@ -58,13 +58,13 @@ int MessangerWidget::getIDuserRemote()
void MessangerWidget::showSendedMessage(ClientMessage clientMessage) void MessangerWidget::showSendedMessage(ClientMessage clientMessage)
{ {
if(userLocalGUI.getID() == clientMessage.fromId.toInt()) if(userLocalGUI.getID() == clientMessage.fromId.toInt())
oneDialogMessenger->addMsgWidgetLocal(clientMessage.Text, clientMessage.timeStr); oneDialogMessenger->addMsgWidgetLocal(clientMessage.Text, clientMessage.timeStr, userLocalGUI.getName());
} }
void MessangerWidget::showReceivedMessage(ClientMessage clientMessage) void MessangerWidget::showReceivedMessage(ClientMessage clientMessage)
{ {
if(userRemote.getID() == clientMessage.fromId.toInt()) if(userRemote.getID() == clientMessage.fromId.toInt())
oneDialogMessenger->addMsgWidgetRemote(clientMessage.Text, clientMessage.timeStr); oneDialogMessenger->addMsgWidgetRemote(clientMessage.Text, clientMessage.timeStr, userRemote.getName());
} }
void MessangerWidget::addTabDialogMessenger(User user) void MessangerWidget::addTabDialogMessenger(User user)

View File

@@ -16,6 +16,8 @@ MsgWidget::MsgWidget(QString avatar, AligneAvatar aligneAvatar, int width, QWidg
setAligneAvatarRight(); setAligneAvatarRight();
setWidth(width); setWidth(width);
ui->lblAvatar->setObjectName("MsgWidgetLblAvatar");
} }
MsgWidget::~MsgWidget() MsgWidget::~MsgWidget()
@@ -28,15 +30,23 @@ void MsgWidget::setAligneAvatarLeft()
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Avatar); ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Avatar);
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Text); ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Text);
ui->horizontalLayout_Main->removeItem(ui->horizontalLayout_Add); ui->horizontalLayout_Main->removeItem(ui->horizontalLayout_Add);
ui->horizontalLayout_EditText->removeItem(ui->horizontalSpacer_EditText);
ui->horizontalLayout_EditText->removeWidget(ui->editText);
ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Avatar); ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Avatar);
ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Text); ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Text);
ui->horizontalLayout_Main->addLayout(ui->horizontalLayout_Add); ui->horizontalLayout_Main->addLayout(ui->horizontalLayout_Add);
ui->editText->setObjectName("MsgWidgetEditTextLocal"); ui->horizontalLayout_EditText->addWidget(ui->editText);
ui->lblTime->setObjectName("MsgWidgetLblTimeLocal"); ui->horizontalLayout_EditText->addItem(ui->horizontalSpacer_EditText);
ui->editText->setObjectName("MsgWidgetEditTextRemote");
ui->lblTime->setObjectName("MsgWidgetLblTimeRemote");
ui->lblName->setObjectName("MsgWidgetLblNameRemote");
ui->lblTime->setAlignment(Qt::AlignLeft); ui->lblTime->setAlignment(Qt::AlignLeft);
ui->lblName->setAlignment(Qt::AlignLeft | Qt::AlignBottom);
//ui->editText->setAlignment(Qt::AlignLeft);
} }
void MsgWidget::setAligneAvatarRight() void MsgWidget::setAligneAvatarRight()
@@ -44,15 +54,23 @@ void MsgWidget::setAligneAvatarRight()
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Avatar); ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Avatar);
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Text); ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Text);
ui->horizontalLayout_Main->removeItem(ui->horizontalLayout_Add); ui->horizontalLayout_Main->removeItem(ui->horizontalLayout_Add);
ui->horizontalLayout_EditText->removeItem(ui->horizontalSpacer_EditText);
ui->horizontalLayout_EditText->removeWidget(ui->editText);
ui->horizontalLayout_Main->addLayout(ui->horizontalLayout_Add); ui->horizontalLayout_Main->addLayout(ui->horizontalLayout_Add);
ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Text); ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Text);
ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Avatar); ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Avatar);
ui->editText->setObjectName("MsgWidgetEditTextRemote"); ui->horizontalLayout_EditText->addItem(ui->horizontalSpacer_EditText);
ui->lblTime->setObjectName("MsgWidgetLblTimeRemote"); ui->horizontalLayout_EditText->addWidget(ui->editText);
ui->editText->setObjectName("MsgWidgetEditTextLocal");
ui->lblTime->setObjectName("MsgWidgetLblTimeLocal");
ui->lblName->setObjectName("MsgWidgetLblNameLocal");
ui->lblTime->setAlignment(Qt::AlignRight); ui->lblTime->setAlignment(Qt::AlignRight);
ui->lblName->setAlignment(Qt::AlignRight | Qt::AlignBottom);
//ui->editText->setAlignment(Qt::AlignRight);
} }
@@ -78,6 +96,11 @@ void MsgWidget::setTime(QString timeStr)
ui->lblTime->setText(timeStr); ui->lblTime->setText(timeStr);
} }
void MsgWidget::setName(QString name)
{
ui->lblName->setText(name);
}
void MsgWidget::on_editText_textChanged() void MsgWidget::on_editText_textChanged()
{ {
QString text = ui->editText->toPlainText(); QString text = ui->editText->toPlainText();
@@ -101,19 +124,19 @@ void MsgWidget::on_editText_textChanged()
//if(ost > 0) //if(ost > 0)
cnt += 1; cnt += 1;
this->setFixedHeight(textRect1str.height() * cnt + (ost? textRect1str.height() : 0) + X + 20 + 30); this->setFixedHeight(textRect1str.height() * cnt + (ost? textRect1str.height() : 0) + X + 20 + 30 + 30);
ui->editText->setFixedHeight(textRect1str.height() * cnt + (ost? textRect1str.height() : 0) + X); ui->editText->setFixedHeight(textRect1str.height() * cnt + (ost? textRect1str.height() : 0) + X);
} }
else else
{ {
this->setFixedHeight(textRect.height() + X + 20 + 30); this->setFixedHeight(textRect.height() + X + 20 + 30 + 30);
ui->editText->setFixedHeight(textRect.height() + X); ui->editText->setFixedHeight(textRect.height() + X);
} }
} }
else else
{//В одну строку {//В одну строку
this->setFixedHeight(textRect.height() + X + 20 + 30); this->setFixedHeight(textRect.height() + X + 20 + 30 + 30);
ui->editText->setFixedWidth(textRect.width() + X); ui->editText->setFixedWidth(textRect.width() + X);
ui->editText->setFixedHeight(textRect.height() + X); ui->editText->setFixedHeight(textRect.height() + X);
} }

View File

@@ -30,6 +30,7 @@ public:
void setText(QString text); void setText(QString text);
void setTime(QString timeStr); void setTime(QString timeStr);
void setName(QString name);
private: private:
void setAligneAvatarLeft(); void setAligneAvatarLeft();

View File

@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>400</width> <width>400</width>
<height>236</height> <height>255</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy"> <property name="sizePolicy">
@@ -66,6 +66,28 @@
</item> </item>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_Text"> <layout class="QVBoxLayout" name="verticalLayout_Text">
<item>
<widget class="QLabel" name="lblName">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_EditText">
<item>
<spacer name="horizontalSpacer_EditText">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item> <item>
<widget class="QTextEdit" name="editText"> <widget class="QTextEdit" name="editText">
<property name="sizePolicy"> <property name="sizePolicy">
@@ -94,6 +116,8 @@
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</item>
<item> <item>
<widget class="QLabel" name="lblTime"> <widget class="QLabel" name="lblTime">
<property name="font"> <property name="font">

View File

@@ -20,17 +20,17 @@ OneDialogMessenger::~OneDialogMessenger()
} }
void OneDialogMessenger::addMsgWidgetLocal(QString text, QString timeStr) void OneDialogMessenger::addMsgWidgetLocal(QString text, QString timeStr, QString name)
{ {
addMsgWidget(text, timeStr, MsgWidget::DirectionMsg::Outgoing); addMsgWidget(text, timeStr, MsgWidget::DirectionMsg::Outgoing, name);
} }
void OneDialogMessenger::addMsgWidgetRemote(QString text, QString timeStr) void OneDialogMessenger::addMsgWidgetRemote(QString text, QString timeStr, QString name)
{ {
addMsgWidget(text, timeStr, MsgWidget::DirectionMsg::Incoming); addMsgWidget(text, timeStr, MsgWidget::DirectionMsg::Incoming, name);
} }
void OneDialogMessenger::addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction) void OneDialogMessenger::addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction, QString name)
{ {
QListWidgetItem *listWidgetItem = new QListWidgetItem(); QListWidgetItem *listWidgetItem = new QListWidgetItem();
@@ -74,6 +74,7 @@ void OneDialogMessenger::addMsgWidget(QString text, QString timeStr, MsgWidget::
msgWidget->setText(text); msgWidget->setText(text);
msgWidget->setTime(timeStr); msgWidget->setTime(timeStr);
msgWidget->setName(name);
//Корректировка высоты item //Корректировка высоты item
listWidgetItem->setSizeHint (QSize(10, msgWidget->height())); listWidgetItem->setSizeHint (QSize(10, msgWidget->height()));

View File

@@ -15,11 +15,11 @@ public:
int getUserRemoteId() {return userRemote.getID();} int getUserRemoteId() {return userRemote.getID();}
void addMsgWidgetLocal(QString text, QString timeStr = ""); void addMsgWidgetLocal(QString text, QString timeStr = "", QString name = "");
void addMsgWidgetRemote(QString text, QString timeStr = ""); void addMsgWidgetRemote(QString text, QString timeStr = "", QString name = "");
private: private:
void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction); void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction, QString name = "");
private: private:
User userLocalGUI; User userLocalGUI;