Include horizontal scrollbar's size in sizehint
Amends 8c18a245b0
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>
bb10
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…
Reference in New Issue