on xenial help sign in
Bring back force non clip for previews
commit5af755cc466a74604ce130561bbf3d31ee5c5426 authorAlbert Astals <albert.astals@canonical.com> dateWed 12 Jun 2013, 17:39 (13 years ago) parent4d332de
4 files changed+25−3
Dash/DashPeople.qml+1−1 Dash/DashVideos.qml+1−1 plugins/ListViewWithPageHeader/listviewwithpageheader.cpp+16−1 plugins/ListViewWithPageHeader/listviewwithpageheader.h+7
Dash/DashPeople.qml+1−1
@@ -93,7 +93,7 @@ LensView {
9393 model: lensView.categories
9494 onAtYEndChanged: if (atYEnd) endReached()
9595 onMovingChanged: if (moving && atYEnd) endReached()
96− // clipListView: !previewLoader.onScreen
96+ forceNoClip: previewLoader.onScreen
9797
9898 delegate: ListItems.Base {
9999 id: base
Dash/DashVideos.qml+1−1
@@ -102,7 +102,7 @@ LensView {
102102 id: categoryView
103103 anchors.fill: parent
104104 model: lensView.categories
105−// clipListView: !previewLoader.onScreen
105+ forceNoClip: previewLoader.onScreen
106106
107107 onAtYEndChanged: if (atYEnd) endReached()
108108 onMovingChanged: if (moving && atYEnd) endReached()
plugins/ListViewWithPageHeader/listviewwithpageheader.cpp+16−1
@@ -68,6 +68,7 @@ ListViewWithPageHeader::ListViewWithPageHeader()
6868 , m_headerItemShownHeight(0)
6969 , m_sectionDelegate(nullptr)
7070 , m_topSectionItem(nullptr)
71+ , m_forceNoClip(false)
7172{
7273 m_clipItem = new QQuickItem(contentItem());
7374// m_clipItem = new QQuickRectangle(contentItem());
@@ -210,6 +211,20 @@ void ListViewWithPageHeader::setSectionProperty(const QString &property)
210211 }
211212}
212213
214+bool ListViewWithPageHeader::forceNoClip() const
215+{
216+ return m_forceNoClip;
217+}
218+
219+void ListViewWithPageHeader::setForceNoClip(bool noClip)
220+{
221+ if (noClip != m_forceNoClip) {
222+ m_forceNoClip = noClip;
223+ updateClipItem();
224+ Q_EMIT forceNoClipChanged();
225+ }
226+}
227+
213228void ListViewWithPageHeader::positionAtBeginning()
214229{
215230 qreal headerHeight = (m_headerItem ? m_headerItem->height() : 0);
@@ -550,7 +565,7 @@ void ListViewWithPageHeader::updateClipItem()
550565{
551566 m_clipItem->setHeight(height() - m_headerItemShownHeight);
552567 m_clipItem->setY(contentY() + m_headerItemShownHeight);
553− m_clipItem->setClip(m_headerItemShownHeight > 0);
568+ m_clipItem->setClip(!m_forceNoClip && m_headerItemShownHeight > 0);
554569}
555570
556571void ListViewWithPageHeader::onContentHeightChanged()
plugins/ListViewWithPageHeader/listviewwithpageheader.h+7
@@ -33,6 +33,7 @@ class ListViewWithPageHeader : public QQuickFlickable, public QQuickItemChangeLi
3333 Q_PROPERTY(QQuickItem *pageHeader READ header WRITE setHeader NOTIFY headerChanged)
3434 Q_PROPERTY(QQmlComponent *sectionDelegate READ sectionDelegate WRITE setSectionDelegate NOTIFY sectionDelegateChanged)
3535 Q_PROPERTY(QString sectionProperty READ sectionProperty WRITE setSectionProperty NOTIFY sectionPropertyChanged)
36+ Q_PROPERTY(bool forceNoClip READ forceNoClip WRITE setForceNoClip NOTIFY forceNoClipChanged)
3637
3738 friend class ListViewWithPageHeaderTest;
3839
@@ -55,6 +56,9 @@ public:
5556 QString sectionProperty() const;
5657 void setSectionProperty(const QString &property);
5758
59+ bool forceNoClip() const;
60+ void setForceNoClip(bool noClip);
61+
5862 Q_INVOKABLE void positionAtBeginning();
5963 Q_INVOKABLE void showHeader();
6064
@@ -64,6 +68,7 @@ Q_SIGNALS:
6468 void headerChanged();
6569 void sectionDelegateChanged();
6670 void sectionPropertyChanged();
71+ void forceNoClipChanged();
6772
6873protected:
6974 void componentComplete();
@@ -140,6 +145,8 @@ private:
140145 QQmlComponent *m_sectionDelegate;
141146 QString m_sectionProperty;
142147 QQuickItem *m_topSectionItem;
148+
149+ bool m_forceNoClip;
143150};
144151
145152