Merge lp:~aacid/unity8/lvwph_weirdness2 into lp:unity8

Proposed by Albert Astals Cid
Status: Merged
Approved by: Michał Sawicz
Approved revision: 209
Merged at revision: 211
Proposed branch: lp:~aacid/unity8/lvwph_weirdness2
Merge into: lp:unity8
Diff against target: 107 lines (+45/-2)
3 files modified
plugins/ListViewWithPageHeader/listviewwithpageheader.cpp (+1/-0)
tests/plugins/ListViewWithPageHeader/listviewwithpageheadertest.cpp (+22/-1)
tests/plugins/ListViewWithPageHeader/listviewwithpageheadertestsection.cpp (+22/-1)
To merge this branch: bzr merge lp:~aacid/unity8/lvwph_weirdness2
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Michał Sawicz Approve
Review via email: mp+180613@code.launchpad.net

Commit message

Make sure minYExtent is updated before setting the new content height

Otherwise bad things can happen in the positioning

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Michał Sawicz (saviq) :
review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'plugins/ListViewWithPageHeader/listviewwithpageheader.cpp'
--- plugins/ListViewWithPageHeader/listviewwithpageheader.cpp 2013-08-14 11:05:58 +0000
+++ plugins/ListViewWithPageHeader/listviewwithpageheader.cpp 2013-08-16 16:32:30 +0000
@@ -1244,6 +1244,7 @@
1244 }1244 }
12451245
1246 m_contentHeightDirty = false;1246 m_contentHeightDirty = false;
1247 adjustMinYExtent();
1247 setContentHeight(contentHeight);1248 setContentHeight(contentHeight);
1248 }1249 }
1249}1250}
12501251
=== modified file 'tests/plugins/ListViewWithPageHeader/listviewwithpageheadertest.cpp'
--- tests/plugins/ListViewWithPageHeader/listviewwithpageheadertest.cpp 2013-08-08 15:34:52 +0000
+++ tests/plugins/ListViewWithPageHeader/listviewwithpageheadertest.cpp 2013-08-16 16:32:30 +0000
@@ -19,6 +19,7 @@
19#include <QAbstractItemModel>19#include <QAbstractItemModel>
20#include <QQmlEngine>20#include <QQmlEngine>
21#include <QQuickView>21#include <QQuickView>
22#include <QSignalSpy>
22#include <QtTestGui>23#include <QtTestGui>
23#pragma GCC diagnostic push24#pragma GCC diagnostic push
24#pragma GCC diagnostic ignored "-pedantic"25#pragma GCC diagnostic ignored "-pedantic"
@@ -1521,7 +1522,7 @@
1521 QCOMPARE(lvwph->m_firstVisibleIndex, 1);1522 QCOMPARE(lvwph->m_firstVisibleIndex, 1);
1522 verifyItem(0, -458., 1000., false);1523 verifyItem(0, -458., 1000., false);
1523 verifyItem(1, 542., 350., true);1524 verifyItem(1, 542., 350., true);
1524 QCOMPARE(lvwph->m_minYExtent, 362.5);1525 QCOMPARE(lvwph->m_minYExtent, 525.);
1525 QCOMPARE(lvwph->m_clipItem->y(), 658.);1526 QCOMPARE(lvwph->m_clipItem->y(), 658.);
1526 QCOMPARE(lvwph->m_clipItem->clip(), false);1527 QCOMPARE(lvwph->m_clipItem->clip(), false);
1527 QCOMPARE(lvwph->m_headerItem->y(), 0.);1528 QCOMPARE(lvwph->m_headerItem->y(), 0.);
@@ -1634,6 +1635,26 @@
1634 QCOMPARE(lvwph->m_headerItemShownHeight, 0.);1635 QCOMPARE(lvwph->m_headerItemShownHeight, 0.);
1635 }1636 }
16361637
1638 void addingRemoveItemsShouldNotChangeContentY()
1639 {
1640 QSignalSpy spy(lvwph, SIGNAL(contentYChanged()));
1641 QMetaObject::invokeMethod(model, "insertItem", Q_ARG(QVariant, 0), Q_ARG(QVariant, 150));
1642 QMetaObject::invokeMethod(model, "removeItems", Q_ARG(QVariant, 1), Q_ARG(QVariant, 6));
1643
1644 QTRY_COMPARE(lvwph->m_visibleItems.count(), 1);
1645 QCOMPARE(lvwph->m_firstVisibleIndex, 0);
1646 verifyItem(0, 50., 150., false);
1647 QCOMPARE(lvwph->m_minYExtent, 0.);
1648 QCOMPARE(lvwph->m_clipItem->y(), 0.);
1649 QCOMPARE(lvwph->m_clipItem->clip(), false);
1650 QCOMPARE(lvwph->m_headerItem->y(), 0.);
1651 QCOMPARE(lvwph->m_headerItem->height(), 50.);
1652 QCOMPARE(lvwph->contentY(), 0.);
1653 QCOMPARE(lvwph->m_headerItemShownHeight, 0.);
1654
1655 QCOMPARE(spy.count(), 0);
1656 }
1657
1637private:1658private:
1638 QQuickView *view;1659 QQuickView *view;
1639 ListViewWithPageHeader *lvwph;1660 ListViewWithPageHeader *lvwph;
16401661
=== modified file 'tests/plugins/ListViewWithPageHeader/listviewwithpageheadertestsection.cpp'
--- tests/plugins/ListViewWithPageHeader/listviewwithpageheadertestsection.cpp 2013-08-08 15:34:52 +0000
+++ tests/plugins/ListViewWithPageHeader/listviewwithpageheadertestsection.cpp 2013-08-16 16:32:30 +0000
@@ -19,6 +19,7 @@
19#include <QAbstractItemModel>19#include <QAbstractItemModel>
20#include <QQmlEngine>20#include <QQmlEngine>
21#include <QQuickView>21#include <QQuickView>
22#include <QSignalSpy>
22#include <QtTestGui>23#include <QtTestGui>
23#pragma GCC diagnostic push24#pragma GCC diagnostic push
24#pragma GCC diagnostic ignored "-pedantic"25#pragma GCC diagnostic ignored "-pedantic"
@@ -1875,7 +1876,7 @@
1875 QCOMPARE(lvwph->m_firstVisibleIndex, 1);1876 QCOMPARE(lvwph->m_firstVisibleIndex, 1);
1876 verifyItem(0, -498., 1040., false, "Regular", true);1877 verifyItem(0, -498., 1040., false, "Regular", true);
1877 verifyItem(1, 542., 390., true, "Mild", true);1878 verifyItem(1, 542., 390., true, "Mild", true);
1878 QCOMPARE(lvwph->m_minYExtent, 1250/3.);1879 QCOMPARE(lvwph->m_minYExtent, 525.);
1879 QCOMPARE(lvwph->m_clipItem->y(), 738.);1880 QCOMPARE(lvwph->m_clipItem->y(), 738.);
1880 QCOMPARE(lvwph->m_clipItem->clip(), false);1881 QCOMPARE(lvwph->m_clipItem->clip(), false);
1881 QCOMPARE(lvwph->m_headerItem->y(), 0.);1882 QCOMPARE(lvwph->m_headerItem->y(), 0.);
@@ -2055,6 +2056,26 @@
2055 QCOMPARE(lvwph->m_headerItemShownHeight, 0.);2056 QCOMPARE(lvwph->m_headerItemShownHeight, 0.);
2056 }2057 }
20572058
2059 void addingRemoveItemsShouldNotChangeContentY()
2060 {
2061 QSignalSpy spy(lvwph, SIGNAL(contentYChanged()));
2062 QMetaObject::invokeMethod(model, "insertItem", Q_ARG(QVariant, 0), Q_ARG(QVariant, 150), Q_ARG(QVariant, "Agressive"));
2063 QMetaObject::invokeMethod(model, "removeItems", Q_ARG(QVariant, 1), Q_ARG(QVariant, 6));
2064
2065 QTRY_COMPARE(lvwph->m_visibleItems.count(), 1);
2066 QCOMPARE(lvwph->m_firstVisibleIndex, 0);
2067 verifyItem(0, 50., 190., false, "Agressive", false);
2068 QCOMPARE(lvwph->m_minYExtent, 0.);
2069 QCOMPARE(lvwph->m_clipItem->y(), 0.);
2070 QCOMPARE(lvwph->m_clipItem->clip(), false);
2071 QCOMPARE(lvwph->m_headerItem->y(), 0.);
2072 QCOMPARE(lvwph->m_headerItem->height(), 50.);
2073 QCOMPARE(lvwph->contentY(), 0.);
2074 QCOMPARE(lvwph->m_headerItemShownHeight, 0.);
2075
2076 QCOMPARE(spy.count(), 0);
2077 }
2078
2058private:2079private:
2059 QQuickView *view;2080 QQuickView *view;
2060 ListViewWithPageHeader *lvwph;2081 ListViewWithPageHeader *lvwph;

Subscribers

People subscribed via source and target branches