@@ -330,6 +330,11 @@ int ListViewWithPageHeader::stickyHeaderHeight() const
330 return m_topSectionItem ? m_topSectionItem->height() : 0;
330 return m_topSectionItem ? m_topSectionItem->height() : 0;
333+qreal ListViewWithPageHeader::headerItemShownHeight() const
335+ return m_headerItemShownHeight;
333void ListViewWithPageHeader::positionAtBeginning()
338void ListViewWithPageHeader::positionAtBeginning()
335 if (m_delegateModel->count() <= 0)
340 if (m_delegateModel->count() <= 0)
@@ -396,6 +401,7 @@ void ListViewWithPageHeader::showHeader()
396 firstItem->setY(firstItem->y() - m_headerItemShownHeight);
401 firstItem->setY(firstItem->y() - m_headerItemShownHeight);
397 layout();
402 layout();
404+ Q_EMIT headerItemShownHeightChanged();
400 m_contentYAnimation->setTo(to);
406 m_contentYAnimation->setTo(to);
401 contentYAnimationType = ContentYAnimationShowHeader;
407 contentYAnimationType = ContentYAnimationShowHeader;
@@ -544,6 +550,7 @@ void ListViewWithPageHeader::adjustHeader(qreal diff)
544 m_headerItem->setY(-m_minYExtent);
550 m_headerItem->setY(-m_minYExtent);
553+ Q_EMIT headerItemShownHeightChanged();
548 // Stick the header item to the top when dragging down
555 // Stick the header item to the top when dragging down
549 m_headerItem->setY(contentY());
556 m_headerItem->setY(contentY());
@@ -1096,6 +1103,7 @@ void ListViewWithPageHeader::headerHeightChanged(qreal newHeaderHeight, qreal ol
1096 m_headerItemShownHeight = qBound(static_cast<qreal>(0.), m_headerItemShownHeight, newHeaderHeight);
1103 m_headerItemShownHeight = qBound(static_cast<qreal>(0.), m_headerItemShownHeight, newHeaderHeight);
1097 updateClipItem();
1104 updateClipItem();
1098 adjustMinYExtent();
1105 adjustMinYExtent();
1106+ Q_EMIT headerItemShownHeightChanged();
1099 } else {
1107 } else {
1100 if (oldHeaderY + oldHeaderHeight > contentY()) {
1108 if (oldHeaderY + oldHeaderHeight > contentY()) {
1101 // If the header is shown because its position
1109 // If the header is shown because its position