Show "Auto" in the width box of element editor text fields

The width box of a dynamic text field in the element editor showed -1
for the automatic width and stopped at 500 px. It now shows "Auto" and
"px", and goes up to 10000 px, so a wider field is not cut to 500 just
by being shown.

Leaving the box without changing it no longer pushes a change either:
the box holds whole pixels, while a width fitted to the text (or set
elsewhere) can have decimals, and the comparison made the field's
width round itself on every focus loss.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Beat Hangartner
2026-10-05 17:57:03 +02:00
parent 2e4b761602
commit 1d37ce9b84
2 changed files with 10 additions and 2 deletions
+3 -1
View File
@@ -363,7 +363,9 @@ void DynamicTextFieldEditor::on_m_width_sb_editingFinished()
qreal width = (qreal)ui -> m_width_sb -> value();
for (int i = 0; i < m_parts.length(); i++) {
if(width != m_parts[i] -> textWidth()) {
//The box shows whole pixels: a width dragged with the mouse or
//fitted to the text is not rounded just by leaving the box.
if(ui -> m_width_sb -> value() != qRound(m_parts[i] -> textWidth())) {
QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_parts[i], "textWidth", m_parts[i] -> textWidth(), width);
undo -> setText(tr("Modifier la largeur d'un texte"));
undoStack().push(undo);