mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Отправка сообщений по Enter
This commit is contained in:
@@ -11,6 +11,7 @@ kanban-plugin: board
|
||||
|
||||
## Completed
|
||||
|
||||
- [ ] Введение логина только латиницей и цифрами
|
||||
- [ ] Кнопка открытия Персональной карты обучаемого
|
||||
- [ ] Блокировка авторизации не работает при входе в редакторы И/О
|
||||
- [ ] Добавить текущий статус задачи в "Проверке задачи" (AMM, FIM)
|
||||
@@ -57,7 +58,6 @@ kanban-plugin: board
|
||||
|
||||
## GUI общие
|
||||
|
||||
- [ ] Введение логина только латиницей и цифрами
|
||||
- [ ] Унифицировать терминологию
|
||||
- [ ] Текстовый поиск в задачах
|
||||
|
||||
|
||||
@@ -11,16 +11,25 @@
|
||||
MessangerWidget::MessangerWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
oneDialogMessenger(nullptr),
|
||||
ui(new Ui::MessangerWidget)
|
||||
ui(new Ui::MessangerWidget),
|
||||
myTextEdit(nullptr)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->btnSend->setObjectName("btnSend");
|
||||
ui->editMsg->setObjectName("editMsg");
|
||||
|
||||
ui->lblUser->setObjectName("MessangerWidgetLblUser");
|
||||
ui->lblAvatar->setObjectName("MessangerWidgetLblAvatar");
|
||||
ui->lblLoggedIn->setObjectName("MessangerWidgetLblLoggedIn");
|
||||
|
||||
myTextEdit = new MyTextEdit();
|
||||
connect(myTextEdit, &MyTextEdit::signal_pressEnter, this, &MessangerWidget::on_btnSend_clicked);
|
||||
|
||||
myTextEdit->setObjectName("editMsg");
|
||||
myTextEdit->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));
|
||||
myTextEdit->setFixedHeight(65);
|
||||
|
||||
ui->horizontalLayout_EditMsg->addWidget(myTextEdit);
|
||||
}
|
||||
|
||||
MessangerWidget::~MessangerWidget()
|
||||
@@ -126,22 +135,14 @@ void MessangerWidget::updateHeader(User user)
|
||||
|
||||
void MessangerWidget::on_btnSend_clicked()
|
||||
{
|
||||
QString text = ui->editMsg->toPlainText();
|
||||
QString text = myTextEdit->toPlainText();
|
||||
QString from = QString::number(userLocalGUI.getID());
|
||||
QString to = QString::number(userRemote.getID());
|
||||
|
||||
ClientMessage message = ClientMessage(from, to, text);
|
||||
emit signal_sendMessage(message);
|
||||
|
||||
ui->editMsg->clear();
|
||||
}
|
||||
|
||||
void MessangerWidget::keyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
if (event->key() == Qt::Key_Return)
|
||||
{
|
||||
ui->btnSend->click();
|
||||
}
|
||||
myTextEdit->clear();
|
||||
}
|
||||
|
||||
void MessangerWidget::changeEvent(QEvent *event)
|
||||
@@ -152,3 +153,20 @@ void MessangerWidget::changeEvent(QEvent *event)
|
||||
ui->retranslateUi(this); // переведём окно заново
|
||||
}
|
||||
}
|
||||
|
||||
void MyTextEdit::keyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter)
|
||||
{
|
||||
if(QApplication::keyboardModifiers().testFlag(Qt::ControlModifier))
|
||||
{
|
||||
this->insertPlainText("\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
emit signal_pressEnter();
|
||||
return;
|
||||
}
|
||||
}
|
||||
QTextEdit::keyPressEvent(event);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,21 @@
|
||||
#include <user.h>
|
||||
#include "Datas.h"
|
||||
#include "tabdialogmessenger.h"
|
||||
#include <QTextEdit>
|
||||
|
||||
class MyTextEdit : public QTextEdit
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
MyTextEdit(){};
|
||||
|
||||
signals:
|
||||
void signal_pressEnter();
|
||||
|
||||
private:
|
||||
virtual void keyPressEvent(QKeyEvent *event) override;
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class MessangerWidget;
|
||||
@@ -40,9 +54,6 @@ signals:
|
||||
//сигнал о готовности нового сообщения на отправку клиенту
|
||||
void signal_sendMessage(ClientMessage clientMessage);
|
||||
|
||||
private:
|
||||
virtual void keyPressEvent(QKeyEvent *event) override;
|
||||
|
||||
protected:
|
||||
void changeEvent(QEvent * event) override;
|
||||
|
||||
@@ -55,6 +66,8 @@ private:
|
||||
|
||||
private:
|
||||
Ui::MessangerWidget *ui;
|
||||
|
||||
MyTextEdit* myTextEdit;
|
||||
};
|
||||
|
||||
#endif // MESSANGERWIDGET_H
|
||||
|
||||
@@ -102,26 +102,7 @@
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="editMsg">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Ignored">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_EditMsg"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnSend">
|
||||
|
||||
Reference in New Issue
Block a user