рЕФАКТ

This commit is contained in:
2025-09-11 14:33:10 +03:00
parent 6bcf8a60ba
commit 2066925844
5 changed files with 94 additions and 40 deletions

View File

@@ -25,41 +25,41 @@ MsgWidget::~MsgWidget()
void MsgWidget::setAligneAvatarLeft()
{
ui->horizontalLayout->removeItem(ui->verticalLayout_2);
ui->horizontalLayout->removeItem(ui->verticalLayout);
ui->horizontalLayout->removeItem(ui->horizontalLayout_2);
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Avatar);
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Text);
ui->horizontalLayout_Main->removeItem(ui->horizontalLayout_Add);
ui->horizontalLayout->addLayout(ui->verticalLayout);
ui->horizontalLayout->addLayout(ui->verticalLayout_2);
ui->horizontalLayout->addLayout(ui->horizontalLayout_2);
ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Avatar);
ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Text);
ui->horizontalLayout_Main->addLayout(ui->horizontalLayout_Add);
ui->textEdit->setObjectName("MsgWidgetLocal");
ui->lbl_time->setObjectName("MsgWidgetLblTimeLocal");
ui->editText->setObjectName("MsgWidgetEditTextLocal");
ui->lblTime->setObjectName("MsgWidgetLblTimeLocal");
ui->lbl_time->setAlignment(Qt::AlignLeft);
ui->lblTime->setAlignment(Qt::AlignLeft);
}
void MsgWidget::setAligneAvatarRight()
{
ui->horizontalLayout->removeItem(ui->verticalLayout_2);
ui->horizontalLayout->removeItem(ui->verticalLayout);
ui->horizontalLayout->removeItem(ui->horizontalLayout_2);
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Avatar);
ui->horizontalLayout_Main->removeItem(ui->verticalLayout_Text);
ui->horizontalLayout_Main->removeItem(ui->horizontalLayout_Add);
ui->horizontalLayout->addLayout(ui->horizontalLayout_2);
ui->horizontalLayout->addLayout(ui->verticalLayout_2);
ui->horizontalLayout->addLayout(ui->verticalLayout);
ui->horizontalLayout_Main->addLayout(ui->horizontalLayout_Add);
ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Text);
ui->horizontalLayout_Main->addLayout(ui->verticalLayout_Avatar);
ui->textEdit->setObjectName("MsgWidgetRemote");
ui->lbl_time->setObjectName("MsgWidgetLblTimeRemote");
ui->editText->setObjectName("MsgWidgetEditTextRemote");
ui->lblTime->setObjectName("MsgWidgetLblTimeRemote");
ui->lbl_time->setAlignment(Qt::AlignRight);
ui->lblTime->setAlignment(Qt::AlignRight);
}
void MsgWidget::setAvatar(QString avatar)
{
QPixmap pix(avatar);
ui->label->setPixmap( pix.scaled(32,32) );
ui->lblAvatar->setPixmap( pix.scaled(32,32) );
}
void MsgWidget::setWidth(int width)
@@ -70,18 +70,18 @@ void MsgWidget::setWidth(int width)
void MsgWidget::setText(QString text)
{
ui->textEdit->setText(text);
ui->editText->setText(text);
}
void MsgWidget::setTime(QString timeStr)
{
ui->lbl_time->setText(timeStr);
ui->lblTime->setText(timeStr);
}
void MsgWidget::on_textEdit_textChanged()
void MsgWidget::on_editText_textChanged()
{
QString text = ui->textEdit->toPlainText();
QFontMetrics metricsFont(ui->textEdit->font()); //метрики шрифта
QString text = ui->editText->toPlainText();
QFontMetrics metricsFont(ui->editText->font()); //метрики шрифта
//геометрические параметры текста (высота/ширина в пикселях). В одну строку
QRect textRect = metricsFont.boundingRect(QRect(0, 0, 0, 0), 0, text);
@@ -102,20 +102,20 @@ void MsgWidget::on_textEdit_textChanged()
cnt += 1;
this->setFixedHeight(textRect1str.height() * cnt + (ost? textRect1str.height() : 0) + X + 20 + 30);
ui->textEdit->setFixedHeight(textRect1str.height() * cnt + (ost? textRect1str.height() : 0) + X);
ui->editText->setFixedHeight(textRect1str.height() * cnt + (ost? textRect1str.height() : 0) + X);
}
else
{
this->setFixedHeight(textRect.height() + X + 20 + 30);
ui->textEdit->setFixedHeight(textRect.height() + X);
ui->editText->setFixedHeight(textRect.height() + X);
}
}
else
{//В одну строку
ui->textEdit->setFixedWidth(textRect.width() + X);
ui->textEdit->setFixedHeight(textRect.height() + X);
ui->editText->setFixedWidth(textRect.width() + X);
ui->editText->setFixedHeight(textRect.height() + X);
this->setFixedHeight(textRect.height() + X + 20 + 30);
}
}