#4305 Adjust size of layouts and labels if the sizeHint has changed

This commit is contained in:
Gaute Lindkvist 2019-04-09 13:38:21 +02:00
parent f36c38533b
commit 72052377dc
2 changed files with 20 additions and 3 deletions

View File

@ -53,10 +53,17 @@ QShortenedLabel::QShortenedLabel(QWidget* parent /*= nullptr*/, Qt::WindowFlags
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void caf::QShortenedLabel::setText(const QString& text)
void QShortenedLabel::setText(const QString& text)
{
bool textHasChanged = m_fullLengthText != text;
m_fullLengthText = text;
setDisplayText(text);
if (textHasChanged)
{
adjustSize();
}
}
//--------------------------------------------------------------------------------------------------

View File

@ -90,8 +90,18 @@ bool caf::PdmUiFormLayoutObjectEditor::recursivelyConfigureAndUpdateUiOrderingIn
QWidget* containerWidget,
const QString& uiConfigName)
{
QSize beforeSize = containerWidget->sizeHint();
ensureWidgetContainsEmptyGridLayout(containerWidget);
return recursivelyConfigureAndUpdateUiOrderingInGridLayout(uiOrdering, containerWidget, uiConfigName);
int stretch = recursivelyConfigureAndUpdateUiOrderingInGridLayout(uiOrdering, containerWidget, uiConfigName);
QSize afterSize = containerWidget->sizeHint();
if (beforeSize != afterSize)
{
containerWidget->adjustSize();
}
return stretch > 0;
}
//--------------------------------------------------------------------------------------------------