mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Мессенджер готов. Почти.
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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">
|
||||||
@@ -67,33 +67,57 @@
|
|||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_Text">
|
<layout class="QVBoxLayout" name="verticalLayout_Text">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTextEdit" name="editText">
|
<widget class="QLabel" name="lblName">
|
||||||
<property name="sizePolicy">
|
<property name="text">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<string>Name</string>
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Tahoma</family>
|
|
||||||
<pointsize>10</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="verticalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
|
||||||
</property>
|
|
||||||
<property name="horizontalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeAdjustPolicy">
|
|
||||||
<enum>QAbstractScrollArea::AdjustIgnored</enum>
|
|
||||||
</property>
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</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>
|
||||||
|
<widget class="QTextEdit" name="editText">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Tahoma</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="verticalScrollBarPolicy">
|
||||||
|
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||||
|
</property>
|
||||||
|
<property name="horizontalScrollBarPolicy">
|
||||||
|
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeAdjustPolicy">
|
||||||
|
<enum>QAbstractScrollArea::AdjustIgnored</enum>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="lblTime">
|
<widget class="QLabel" name="lblTime">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
|
|||||||
@@ -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()));
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user