mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
Мессенджер готов. Почти.
This commit is contained in:
@@ -58,13 +58,13 @@ int MessangerWidget::getIDuserRemote()
|
||||
void MessangerWidget::showSendedMessage(ClientMessage clientMessage)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
|
||||
@@ -16,6 +16,8 @@ MsgWidget::MsgWidget(QString avatar, AligneAvatar aligneAvatar, int width, QWidg
|
||||
setAligneAvatarRight();
|
||||
|
||||
setWidth(width);
|
||||
|
||||
ui->lblAvatar->setObjectName("MsgWidgetLblAvatar");
|
||||
}
|
||||
|
||||
MsgWidget::~MsgWidget()
|
||||
@@ -28,15 +30,23 @@ void MsgWidget::setAligneAvatarLeft()
|
||||
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Avatar);
|
||||
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Text);
|
||||
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_Text);
|
||||
ui->horizontalLayout_Main->addLayout(ui->horizontalLayout_Add);
|
||||
|
||||
ui->editText->setObjectName("MsgWidgetEditTextLocal");
|
||||
ui->lblTime->setObjectName("MsgWidgetLblTimeLocal");
|
||||
ui->horizontalLayout_EditText->addWidget(ui->editText);
|
||||
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->lblName->setAlignment(Qt::AlignLeft | Qt::AlignBottom);
|
||||
//ui->editText->setAlignment(Qt::AlignLeft);
|
||||
}
|
||||
|
||||
void MsgWidget::setAligneAvatarRight()
|
||||
@@ -44,15 +54,23 @@ void MsgWidget::setAligneAvatarRight()
|
||||
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Avatar);
|
||||
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Text);
|
||||
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->verticalLayout_Text);
|
||||
ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Avatar);
|
||||
|
||||
ui->editText->setObjectName("MsgWidgetEditTextRemote");
|
||||
ui->lblTime->setObjectName("MsgWidgetLblTimeRemote");
|
||||
ui->horizontalLayout_EditText->addItem(ui->horizontalSpacer_EditText);
|
||||
ui->horizontalLayout_EditText->addWidget(ui->editText);
|
||||
|
||||
ui->editText->setObjectName("MsgWidgetEditTextLocal");
|
||||
ui->lblTime->setObjectName("MsgWidgetLblTimeLocal");
|
||||
ui->lblName->setObjectName("MsgWidgetLblNameLocal");
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
void MsgWidget::setName(QString name)
|
||||
{
|
||||
ui->lblName->setText(name);
|
||||
}
|
||||
|
||||
void MsgWidget::on_editText_textChanged()
|
||||
{
|
||||
QString text = ui->editText->toPlainText();
|
||||
@@ -101,19 +124,19 @@ void MsgWidget::on_editText_textChanged()
|
||||
//if(ost > 0)
|
||||
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);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
this->setFixedHeight(textRect.height() + X + 20 + 30);
|
||||
this->setFixedHeight(textRect.height() + X + 20 + 30 + 30);
|
||||
ui->editText->setFixedHeight(textRect.height() + X);
|
||||
}
|
||||
}
|
||||
else
|
||||
{//В одну строку
|
||||
this->setFixedHeight(textRect.height() + X + 20 + 30);
|
||||
this->setFixedHeight(textRect.height() + X + 20 + 30 + 30);
|
||||
ui->editText->setFixedWidth(textRect.width() + X);
|
||||
ui->editText->setFixedHeight(textRect.height() + X);
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ public:
|
||||
|
||||
void setText(QString text);
|
||||
void setTime(QString timeStr);
|
||||
void setName(QString name);
|
||||
|
||||
private:
|
||||
void setAligneAvatarLeft();
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>236</height>
|
||||
<height>255</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
@@ -67,33 +67,57 @@
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Text">
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<widget class="QLabel" name="lblTime">
|
||||
<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();
|
||||
|
||||
@@ -74,6 +74,7 @@ void OneDialogMessenger::addMsgWidget(QString text, QString timeStr, MsgWidget::
|
||||
|
||||
msgWidget->setText(text);
|
||||
msgWidget->setTime(timeStr);
|
||||
msgWidget->setName(name);
|
||||
|
||||
//Корректировка высоты item
|
||||
listWidgetItem->setSizeHint (QSize(10, msgWidget->height()));
|
||||
|
||||
@@ -15,11 +15,11 @@ public:
|
||||
|
||||
int getUserRemoteId() {return userRemote.getID();}
|
||||
|
||||
void addMsgWidgetLocal(QString text, QString timeStr = "");
|
||||
void addMsgWidgetRemote(QString text, QString timeStr = "");
|
||||
void addMsgWidgetLocal(QString text, QString timeStr = "", QString name = "");
|
||||
void addMsgWidgetRemote(QString text, QString timeStr = "", QString name = "");
|
||||
|
||||
private:
|
||||
void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction);
|
||||
void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction, QString name = "");
|
||||
|
||||
private:
|
||||
User userLocalGUI;
|
||||
|
||||
Reference in New Issue
Block a user