mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-07 12:14:14 +02:00
Round the width when filling the element editor width box
updateForm() filled the box with setValue(textWidth()), and setValue(int) truncates: a field 61.7 px wide showed 61 while editingFinished compared with qRound() = 62, so leaving the box still set the width to 61 and pushed an undo step. Round in both places. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -157,7 +157,9 @@ void DynamicTextFieldEditor::updateForm()
|
||||
m_color_kpb -> setColor(m_text_field.data() -> color());
|
||||
}
|
||||
#endif
|
||||
ui -> m_width_sb -> setValue(m_text_field.data() -> textWidth());
|
||||
//Rounded as on_m_width_sb_editingFinished() compares it;
|
||||
//setValue(int) would truncate 61.7 to 61
|
||||
ui -> m_width_sb -> setValue(qRound(m_text_field.data() -> textWidth()));
|
||||
ui -> m_font_pb -> setText(m_text_field -> font().family());
|
||||
|
||||
switch (m_text_field.data() -> textFrom()) {
|
||||
@@ -363,8 +365,8 @@ void DynamicTextFieldEditor::on_m_width_sb_editingFinished()
|
||||
qreal width = (qreal)ui -> m_width_sb -> value();
|
||||
|
||||
for (int i = 0; i < m_parts.length(); i++) {
|
||||
//The box shows whole pixels: a width dragged with the mouse or
|
||||
//fitted to the text is not rounded just by leaving the box.
|
||||
//The box shows whole pixels: a width 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"));
|
||||
|
||||
Reference in New Issue
Block a user