diff --git a/InstructorsAndTrainees/connectorToServer/Datas.h b/InstructorsAndTrainees/connectorToServer/Datas.h
index ffcf510..2b1beda 100644
--- a/InstructorsAndTrainees/connectorToServer/Datas.h
+++ b/InstructorsAndTrainees/connectorToServer/Datas.h
@@ -77,15 +77,17 @@ public:
QString fromId;//формат id-typeId
QString toId;//формат id-typeId
QString Text;
+ QString timeStr;
//TypeId
//0 - инструктор, 1 - обучаемый
ClientMessage(){}
- ClientMessage(QString fromId, QString toId, QString text)
+ ClientMessage(QString fromId, QString toId, QString text, QString timeStr = "")
{
this->fromId = fromId;
this->toId = toId;
this->Text = text;
+ this->timeStr = timeStr;
}
};
diff --git a/InstructorsAndTrainees/messanger/messangercontroller.cpp b/InstructorsAndTrainees/messanger/messangercontroller.cpp
index 4c709c4..2567e2b 100644
--- a/InstructorsAndTrainees/messanger/messangercontroller.cpp
+++ b/InstructorsAndTrainees/messanger/messangercontroller.cpp
@@ -38,9 +38,9 @@ MessangerWidget *MessangerController::newWidget(QWidget *parent, User* user, QVB
for(MessageOfMessanger msg : *list)
{
if(msg.flLocal)
- msgWdgt->showSendedMessage(ClientMessage(GUIclientId, QString::number(id_user), msg.text));
+ msgWdgt->showSendedMessage(ClientMessage(GUIclientId, QString::number(id_user), msg.text, msg.time.toString()));
else
- msgWdgt->showReceivedMessage(ClientMessage(QString::number(id_user), GUIclientId, msg.text));
+ msgWdgt->showReceivedMessage(ClientMessage(QString::number(id_user), GUIclientId, msg.text, msg.time.toString()));
}
}
}
@@ -98,8 +98,11 @@ void MessangerController::slot_sendMessage(ClientMessage clientMessage)
MessageOfMessanger msg;
msg.flLocal = true;
msg.text = clientMessage.Text;
+ msg.time = QTime::currentTime();
list->append(msg);
+ clientMessage.timeStr = msg.time.toString();
+
for(MessangerWidget* widget : listWidgets)
{
widget->showSendedMessage(clientMessage);
@@ -122,8 +125,11 @@ void MessangerController::slot_receiveMessage(ClientMessage clientMessage)
MessageOfMessanger msg;
msg.flLocal = false;
msg.text = clientMessage.Text;
+ msg.time = QTime::currentTime();
list->append(msg);
+ clientMessage.timeStr = msg.time.toString();
+
for(MessangerWidget* widget : listWidgets)
{
widget->showReceivedMessage(clientMessage);
diff --git a/InstructorsAndTrainees/messanger/messangercontroller.h b/InstructorsAndTrainees/messanger/messangercontroller.h
index 20099b3..bc8071f 100644
--- a/InstructorsAndTrainees/messanger/messangercontroller.h
+++ b/InstructorsAndTrainees/messanger/messangercontroller.h
@@ -10,6 +10,7 @@ struct MessageOfMessanger
{
QString text;
bool flLocal;
+ QTime time;
};
class MessangerController : public QObject
diff --git a/InstructorsAndTrainees/messanger/messangerwidget.cpp b/InstructorsAndTrainees/messanger/messangerwidget.cpp
index 8f86855..10ec1b9 100644
--- a/InstructorsAndTrainees/messanger/messangerwidget.cpp
+++ b/InstructorsAndTrainees/messanger/messangerwidget.cpp
@@ -59,13 +59,13 @@ int MessangerWidget::getIDuserRemote()
void MessangerWidget::showSendedMessage(ClientMessage clientMessage)
{
if(currGUIclientId == clientMessage.fromId)
- tabDialogMessenger->addMsgWidgetLocal(clientMessage.Text);
+ tabDialogMessenger->addMsgWidgetLocal(clientMessage.Text, clientMessage.timeStr);
}
void MessangerWidget::showReceivedMessage(ClientMessage clientMessage)
{
if(QString::number(userRemote.getID()) == clientMessage.fromId)
- tabDialogMessenger->addMsgWidgetRemote(clientMessage.Text);
+ tabDialogMessenger->addMsgWidgetRemote(clientMessage.Text, clientMessage.timeStr);
}
void MessangerWidget::addTabDialogMessenger(User user)
diff --git a/InstructorsAndTrainees/messanger/msgwidget.cpp b/InstructorsAndTrainees/messanger/msgwidget.cpp
index 305ecef..0a58823 100644
--- a/InstructorsAndTrainees/messanger/msgwidget.cpp
+++ b/InstructorsAndTrainees/messanger/msgwidget.cpp
@@ -25,28 +25,34 @@ MsgWidget::~MsgWidget()
void MsgWidget::setAligneAvatarLeft()
{
- ui->horizontalLayout->removeWidget(ui->textEdit);
+ ui->horizontalLayout->removeItem(ui->verticalLayout_2);
ui->horizontalLayout->removeItem(ui->verticalLayout);
ui->horizontalLayout->removeItem(ui->horizontalLayout_2);
ui->horizontalLayout->addLayout(ui->verticalLayout);
- ui->horizontalLayout->addWidget(ui->textEdit);
+ ui->horizontalLayout->addLayout(ui->verticalLayout_2);
ui->horizontalLayout->addLayout(ui->horizontalLayout_2);
ui->textEdit->setObjectName("MsgWidgetLocal");
+ ui->lbl_time->setObjectName("MsgWidgetLblTimeLocal");
+
+ ui->lbl_time->setAlignment(Qt::AlignLeft);
}
void MsgWidget::setAligneAvatarRight()
{
- ui->horizontalLayout->removeWidget(ui->textEdit);
+ ui->horizontalLayout->removeItem(ui->verticalLayout_2);
ui->horizontalLayout->removeItem(ui->verticalLayout);
ui->horizontalLayout->removeItem(ui->horizontalLayout_2);
ui->horizontalLayout->addLayout(ui->horizontalLayout_2);
- ui->horizontalLayout->addWidget(ui->textEdit);
+ ui->horizontalLayout->addLayout(ui->verticalLayout_2);
ui->horizontalLayout->addLayout(ui->verticalLayout);
ui->textEdit->setObjectName("MsgWidgetRemote");
+ ui->lbl_time->setObjectName("MsgWidgetLblTimeRemote");
+
+ ui->lbl_time->setAlignment(Qt::AlignRight);
}
@@ -67,6 +73,11 @@ void MsgWidget::setText(QString text)
ui->textEdit->setText(text);
}
+void MsgWidget::setTime(QString timeStr)
+{
+ ui->lbl_time->setText(timeStr);
+}
+
void MsgWidget::on_textEdit_textChanged()
{
QString text = ui->textEdit->toPlainText();
@@ -81,12 +92,12 @@ void MsgWidget::on_textEdit_textChanged()
{//Не помещается в одну строку
textRect = metricsFont.boundingRect(QRect(0, 0, widthEdit, 10), Qt::TextWordWrap, text);
ui->textEdit->setFixedHeight(textRect.height() + X);
- this->setFixedHeight(textRect.height() + X + 20);
+ this->setFixedHeight(textRect.height() + X + 20 + 30);
}
else
{//В одну строку
ui->textEdit->setFixedWidth(textRect.width() + X);
ui->textEdit->setFixedHeight(textRect.height() + X);
- this->setFixedHeight(textRect.height() + X + 20);
+ this->setFixedHeight(textRect.height() + X + 20 + 30);
}
}
diff --git a/InstructorsAndTrainees/messanger/msgwidget.h b/InstructorsAndTrainees/messanger/msgwidget.h
index 0a8b02e..1dbe9ea 100644
--- a/InstructorsAndTrainees/messanger/msgwidget.h
+++ b/InstructorsAndTrainees/messanger/msgwidget.h
@@ -29,6 +29,7 @@ public:
void setWidth(int width);
void setText(QString text);
+ void setTime(QString timeStr);
private slots:
void on_textEdit_textChanged();
diff --git a/InstructorsAndTrainees/messanger/msgwidget.ui b/InstructorsAndTrainees/messanger/msgwidget.ui
index 4d7c09e..2d9374c 100644
--- a/InstructorsAndTrainees/messanger/msgwidget.ui
+++ b/InstructorsAndTrainees/messanger/msgwidget.ui
@@ -7,7 +7,7 @@
0
0
400
- 91
+ 212
@@ -59,23 +59,34 @@
-
-
-
-
- 0
- 0
-
-
-
- Qt::ScrollBarAlwaysOff
-
-
- Qt::ScrollBarAlwaysOff
-
-
- QAbstractScrollArea::AdjustIgnored
-
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractScrollArea::AdjustIgnored
+
+
+
+ -
+
+
+ --:--
+
+
+
+
-
diff --git a/InstructorsAndTrainees/messanger/tabdialogmessenger.cpp b/InstructorsAndTrainees/messanger/tabdialogmessenger.cpp
index 42b64be..660b37f 100644
--- a/InstructorsAndTrainees/messanger/tabdialogmessenger.cpp
+++ b/InstructorsAndTrainees/messanger/tabdialogmessenger.cpp
@@ -20,7 +20,7 @@ TabDialogMessenger::~TabDialogMessenger()
}
-void TabDialogMessenger::addMsgWidgetLocal(QString text)
+void TabDialogMessenger::addMsgWidgetLocal(QString text, QString timeStr)
{
QListWidgetItem *listWidgetItem = new QListWidgetItem();
QString avatar = ":/resources/icons/instructor.png";
@@ -38,6 +38,7 @@ void TabDialogMessenger::addMsgWidgetLocal(QString text)
setItemWidget(listWidgetItem, msgWidget);
msgWidget->setText(text);
+ msgWidget->setTime(timeStr);
//Корректировка высоты item
listWidgetItem->setSizeHint (QSize(10, msgWidget->height()));
@@ -45,7 +46,7 @@ void TabDialogMessenger::addMsgWidgetLocal(QString text)
scrollToItem(listWidgetItem);
}
-void TabDialogMessenger::addMsgWidgetRemote(QString text)
+void TabDialogMessenger::addMsgWidgetRemote(QString text, QString timeStr)
{
QListWidgetItem *listWidgetItem = new QListWidgetItem();
QString avatar = ":/resources/icons/trainee.png";
@@ -63,6 +64,7 @@ void TabDialogMessenger::addMsgWidgetRemote(QString text)
setItemWidget(listWidgetItem, msgWidget);
msgWidget->setText(text);
+ msgWidget->setTime(timeStr);
//Корректировка высоты item
listWidgetItem->setSizeHint (QSize(10, msgWidget->height()));
diff --git a/InstructorsAndTrainees/messanger/tabdialogmessenger.h b/InstructorsAndTrainees/messanger/tabdialogmessenger.h
index 92e3f0b..9d68a28 100644
--- a/InstructorsAndTrainees/messanger/tabdialogmessenger.h
+++ b/InstructorsAndTrainees/messanger/tabdialogmessenger.h
@@ -18,8 +18,8 @@ public:
QString getUserLogin() {return login;};
QString getUserId() {return userId;}
- void addMsgWidgetLocal(QString text);
- void addMsgWidgetRemote(QString text);
+ void addMsgWidgetLocal(QString text, QString timeStr = "");
+ void addMsgWidgetRemote(QString text, QString timeStr = "");
private:
QString login;