summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAles Erjavec <ales.erjavec@fri.uni-lj.si>2020-10-02 16:16:05 +0200
committerAles Erjavec <ales.erjavec@fri.uni-lj.si>2020-10-23 11:36:47 +0200
commitc3fd24164b062de3d874b43c6c807245248c2042 (patch)
tree4d92c7a88fdbe18311f7599f5954c48531ec2c15 /src
parent216c2ed5cee6d908ba94d3c3ec533a7ea588b0a0 (diff)
QSplitter: Respect managed widget's growth/expand size policy
Use qSmartMaxSize to get the maximum size a widget can take. [ChangeLog][QtWidgets][QSplitter] Respect QSizePolicy::Maximum and QSizePolicy::Fixed layout policy of child widgets. Fixes: QTBUG-87133 Change-Id: I166ef3f6608303b8695f5c05a7bf0d1be4653f4a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/widgets/widgets/qsplitter.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/widgets/widgets/qsplitter.cpp b/src/widgets/widgets/qsplitter.cpp
index 5c292680fa..46d49391ba 100644
--- a/src/widgets/widgets/qsplitter.cpp
+++ b/src/widgets/widgets/qsplitter.cpp
@@ -439,9 +439,9 @@ void QSplitterPrivate::recalc(bool update)
QSize minS = qSmartMinSize(s->widget);
minl += pick(minS);
- maxl += pick(s->widget->maximumSize());
+ maxl += pick(qSmartMaxSize(s->widget));
mint = qMax(mint, trans(minS));
- int tm = trans(s->widget->maximumSize());
+ int tm = trans(qSmartMaxSize(s->widget));
if (tm > 0)
maxt = qMin(maxt, tm);
}
@@ -518,7 +518,7 @@ void QSplitterPrivate::doResize()
a[j].maximumSize = 0;
} else {
a[j].minimumSize = pick(qSmartMinSize(s->widget));
- a[j].maximumSize = pick(s->widget->maximumSize());
+ a[j].maximumSize = pick(qSmartMaxSize(s->widget));
a[j].empty = false;
bool stretch = noStretchFactorsSet;
@@ -580,7 +580,7 @@ void QSplitterPrivate::addContribution(int index, int *min, int *max, bool mayCo
if (mayCollapse || !s->collapsed)
*min += pick(qSmartMinSize(s->widget));
- *max += pick(s->widget->maximumSize());
+ *max += pick(qSmartMaxSize(s->widget));
}
}
@@ -803,7 +803,7 @@ void QSplitterPrivate::doMove(bool backwards, int hPos, int index, int delta, bo
int ws = backwards ? hPos - pick(s->rect.topLeft())
: pick(s->rect.bottomRight()) - hPos -hs + 1;
if (ws > 0 || (!s->collapsed && !mayCollapse)) {
- ws = qMin(ws, pick(w->maximumSize()));
+ ws = qMin(ws, pick(qSmartMaxSize(w)));
ws = qMax(ws, pick(qSmartMinSize(w)));
} else {
ws = 0;