{
const qreal frameBorder = 2 * frameWidth();
+ const auto originalSize = size();
+ auto newSize = originalSize;
+
document()->adjustSize();
const qreal requiredWidth = document()->size().width();
const qreal availableWidth = size().width() - frameBorder;
if (parentWidget() && pos().x() + newWidth > parentWidget()->width()) {
newWidth = parentWidget()->width() - pos().x();
}
- resize(newWidth, size().height());
+ newSize.setWidth(newWidth);
}
const qreal requiredHeight = document()->size().height();
if (parentWidget() && pos().y() + newHeight > parentWidget()->height()) {
newHeight = parentWidget()->height() - pos().y();
}
- resize(size().width(), newHeight);
+ newSize.setHeight(newHeight);
+ }
+
+ if (originalSize != newSize) {
+ resize(newSize);
}
+ // reset the document width to the widget width
+ // to allow alignment to be properly rendered
+ document()->setTextWidth(newSize.width());
}
void KItemListRoleEditor::emitRoleEditingFinished(EditResultDirection direction)