Include horizontal scrollbar's size in sizehint
Amends 8c18a245b0245de20c064cd53d03498088bd57df Pick-to: 6.7 6.5 Fixes: QTBUG-123886 Change-Id: I1ae2e29ce12610e10a8c0640458a3812a926c4cc Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 0fa6660352df18134757a9c3f9dd329053e31cab) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
ada5f8b646
commit
6b2cbb3fd6
@ -1433,7 +1433,7 @@ QSize QAbstractScrollArea::sizeHint() const
|
||||
const int f = 2 * d->frameWidth;
|
||||
const QSize frame(f, f);
|
||||
const bool vbarHidden = !d->vbar->isVisibleTo(this) || d->vbarpolicy == Qt::ScrollBarAlwaysOff;
|
||||
const bool hbarHidden = !d->vbar->isVisibleTo(this) || d->hbarpolicy == Qt::ScrollBarAlwaysOff;
|
||||
const bool hbarHidden = !d->hbar->isVisibleTo(this) || d->hbarpolicy == Qt::ScrollBarAlwaysOff;
|
||||
const QSize scrollbars(vbarHidden ? 0 : d->vbar->sizeHint().width(),
|
||||
hbarHidden ? 0 : d->hbar->sizeHint().height());
|
||||
d->sizeHint = frame + scrollbars + viewportSizeHint();
|
||||
|
@ -431,6 +431,18 @@ void tst_QAbstractScrollArea::sizeHint()
|
||||
QSize sizeHint = scrollArea.sizeHint();
|
||||
QCOMPARE(sizeHint, scrollArea.viewportSizeHint());
|
||||
|
||||
// check if the hScrollbar is taken into account
|
||||
scrollArea.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
scrollArea.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
QCOMPARE_GT(scrollArea.sizeHint().height(), scrollArea.viewportSizeHint().height());
|
||||
|
||||
// check if the vScrollbar is taken into account
|
||||
scrollArea.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
scrollArea.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
QCOMPARE_GT(scrollArea.sizeHint().width(), scrollArea.viewportSizeHint().width());
|
||||
|
||||
scrollArea.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
|
||||
scrollArea.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
scrollArea.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
const QSize sizeHintWithScrollBars = scrollArea.sizeHint();
|
||||
|
Loading…
x
Reference in New Issue
Block a user