QmlDesigner: Fix material browser ensuring item visibility

...when the available space is less than full item height.

Fixes: QDS-13014
Change-Id: Iad848547c0736e335173a4feb489a0546f01e147
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Miikka Heikkinen
2024-06-18 17:07:47 +03:00
parent 843dcc1ff6
commit d4d2c279e3

View File

@@ -273,15 +273,17 @@ Item {
function ensureVisible(yPos, itemHeight) {
let currentY = contentYBehavior.targetValue && scrollViewAnim.running
? contentYBehavior.targetValue : scrollView.contentY
let itemHeightAdj = (itemHeight - scrollView.height + 8)
let lessThanItemSpace = itemHeightAdj >= 0
if (currentY > yPos) {
if (currentY > yPos || lessThanItemSpace) {
if (yPos < itemHeight)
scrollView.contentY = 0
else
scrollView.contentY = yPos
return true
return !lessThanItemSpace
} else {
let adjustedY = yPos + itemHeight - scrollView.height + 8
let adjustedY = yPos + itemHeightAdj
if (currentY < adjustedY) {
if (scrollView.contentHeight - scrollView.height < adjustedY )
scrollView.contentY = scrollView.contentHeight - scrollView.height