Merge pull request #1160 from ispyisail/fix/1155-multiline-text-alignment

Fix #1155: lines of a multi-line symbol text ignore its alignment
This commit is contained in:
ispyisail
2026-09-30 08:14:52 +13:00
committed by GitHub
2 changed files with 14 additions and 2 deletions
@@ -47,7 +47,7 @@ PartDynamicTextField::PartDynamicTextField(QETElementEditor *editor, QGraphicsIt
//Option when text is displayed in multiple line
QTextOption option = document() -> defaultTextOption();
option.setAlignment(Qt::AlignHCenter);
option.setAlignment(m_alignment & Qt::AlignHorizontal_Mask);
option.setWrapMode(QTextOption::WordWrap);
document() -> setDefaultTextOption(option);
}
@@ -462,6 +462,10 @@ void PartDynamicTextField::setPlainText(const QString &text) {
void PartDynamicTextField::setAlignment(Qt::Alignment alignment) {
m_alignment = alignment;
//Lines of a multi-line text follow the horizontal alignment
QTextOption option = document() -> defaultTextOption();
option.setAlignment(m_alignment & Qt::AlignHorizontal_Mask);
document() -> setDefaultTextOption(option);
emit alignmentChanged(m_alignment);
}
@@ -63,9 +63,17 @@ DynamicElementTextItem::DynamicElementTextItem(Element *parent_element) :
//Option when text is displayed in multiple line
QTextOption option = document()->defaultTextOption();
option.setAlignment(Qt::AlignHCenter);
option.setAlignment(alignment() & Qt::AlignHorizontal_Mask);
option.setWrapMode(QTextOption::WordWrap);
document()->setDefaultTextOption(option);
//Lines of a multi-line text follow the horizontal alignment
connect(this, &DiagramTextItem::alignmentChanged, [this](Qt::Alignment alignment)
{
QTextOption option = document()->defaultTextOption();
option.setAlignment(alignment & Qt::AlignHorizontal_Mask);
document()->setDefaultTextOption(option);
});
}
DynamicElementTextItem::~DynamicElementTextItem()