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

Proposed by Albert Astals Cid
Status: Merged
Approved by: Andrea Cimitan
Approved revision: 2173
Merged at revision: 2175
Proposed branch: lp:~aacid/unity8/fix_dash_icons_cut
Merge into: lp:unity8
Diff against target: 116 lines (+42/-10)
4 files modified
plugins/Dash/listviewwithpageheader.cpp (+18/-9)
plugins/Dash/listviewwithpageheader.h (+1/-0)
tests/plugins/Dash/listviewwithpageheadertest.cpp (+23/-0)
tests/plugins/Dash/listviewwithpageheadertest.qml (+0/-1)
To merge this branch: bzr merge lp:~aacid/unity8/fix_dash_icons_cut
Reviewer Review Type Date Requested Status
Andrea Cimitan (community) Approve
PS Jenkins bot (community) continuous-integration Needs Fixing
Unity8 CI Bot continuous-integration Needs Fixing
Review via email: mp+285194@code.launchpad.net

Commit message

LVWPH: Reset to initial values when list is empty

Description of the change

 * Are there any related MPs required for this MP to build/function as expected?
No

 * Did you perform an exploratory manual test run of your code change and any related functionality?
Yes

 * Did you make sure that your branch does not contain spurious tags?
Yes

 * If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A

 * If you changed the UI, has there been a design review?
N/A

To post a comment you must log in.
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2173
https://unity8-jenkins.ubuntu.com/job/lp-unity8-1-ci/285/
Executed test runs:

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-1-ci/285/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:2173
http://jenkins.qa.ubuntu.com/job/unity8-ci/7227/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-vivid-touch/6366
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-xenial-touch/642/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-vivid/1932
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-qmluitest-xenial-amd64/635
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-vivid-amd64-ci/1827
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-vivid-i386-ci/1827
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-xenial-amd64-ci/634
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-xenial-i386-ci/633
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-vivid-touch/4884
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-vivid-armhf/6377
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-vivid-armhf/6377/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27364
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-xenial-touch/337/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-xenial-armhf/640
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-xenial-armhf/640/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27365

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/7227/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Andrea Cimitan (cimi) wrote :

 * Did you perform an exploratory manual test run of the code change and any related functionality?
yes, bug seems fixed
 * Did CI run pass? If not, please explain why.
lazyimage
 * Did you make sure that the branch does not contain spurious tags?
yes, clean

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/Dash/listviewwithpageheader.cpp'
2--- plugins/Dash/listviewwithpageheader.cpp 2016-01-05 09:24:58 +0000
3+++ plugins/Dash/listviewwithpageheader.cpp 2016-02-05 14:58:38 +0000
4@@ -219,13 +219,7 @@
5 Q_FOREACH(ListItem *item, m_visibleItems)
6 releaseItem(item);
7 m_visibleItems.clear();
8- m_firstVisibleIndex = -1;
9- adjustMinYExtent();
10- setContentY(0);
11- m_clipItem->setY(0);
12- if (m_topSectionItem) {
13- QQuickItemPrivate::get(m_topSectionItem)->setCulled(true);
14- }
15+ initializeValuesForEmptyList();
16
17 m_delegateModel->setDelegate(delegate);
18
19@@ -236,6 +230,17 @@
20 }
21 }
22
23+void ListViewWithPageHeader::initializeValuesForEmptyList()
24+{
25+ m_firstVisibleIndex = -1;
26+ adjustMinYExtent();
27+ setContentY(0);
28+ m_clipItem->setY(0);
29+ if (m_topSectionItem) {
30+ QQuickItemPrivate::get(m_topSectionItem)->setCulled(true);
31+ }
32+}
33+
34 QQuickItem *ListViewWithPageHeader::header() const
35 {
36 return m_headerItem;
37@@ -835,7 +840,7 @@
38 }
39 }
40 if (!foundVisible) {
41- m_firstVisibleIndex = -1;
42+ initializeValuesForEmptyList();
43 }
44 if (m_firstVisibleIndex != oldFirstVisibleIndex) {
45 adjustMinYExtent();
46@@ -1092,7 +1097,11 @@
47 }
48
49 if (m_firstVisibleIndex != oldFirstVisibleIndex) {
50- adjustMinYExtent();
51+ if (m_visibleItems.isEmpty()) {
52+ initializeValuesForEmptyList();
53+ } else {
54+ adjustMinYExtent();
55+ }
56 }
57
58 for (int i = 0; i < m_visibleItems.count(); ++i) {
59
60=== modified file 'plugins/Dash/listviewwithpageheader.h'
61--- plugins/Dash/listviewwithpageheader.h 2015-11-26 13:50:56 +0000
62+++ plugins/Dash/listviewwithpageheader.h 2016-02-05 14:58:38 +0000
63@@ -168,6 +168,7 @@
64 QQuickItem *getSectionItem(int modelIndex, bool alreadyInserted);
65 QQuickItem *getSectionItem(const QString &sectionText);
66 void updateSectionItem(int modelIndex);
67+ void initializeValuesForEmptyList();
68
69 QQmlDelegateModel *m_delegateModel;
70
71
72=== modified file 'tests/plugins/Dash/listviewwithpageheadertest.cpp'
73--- tests/plugins/Dash/listviewwithpageheadertest.cpp 2015-09-02 08:04:41 +0000
74+++ tests/plugins/Dash/listviewwithpageheadertest.cpp 2016-02-05 14:58:38 +0000
75@@ -1954,6 +1954,29 @@
76 QCOMPARE(lvwph->m_firstVisibleIndex, 0);
77 }
78
79+ void testBug1540490()
80+ {
81+ lvwph->header()->setImplicitHeight(150);
82+ verifyItem(0, 150., 150., false);
83+
84+ QMetaObject::invokeMethod(model, "removeItems", Q_ARG(QVariant, 3), Q_ARG(QVariant, 3));
85+ model->setProperty(0, "size", 400);
86+ model->setProperty(1, "size", 600);
87+ model->setProperty(2, "size", 300);
88+
89+ scrollToBottom();
90+ changeContentY(-200);
91+
92+ QMetaObject::invokeMethod(model, "removeItems", Q_ARG(QVariant, 1), Q_ARG(QVariant, 2));
93+ model->setProperty(0, "size", 100);
94+ QMetaObject::invokeMethod(model, "removeItems", Q_ARG(QVariant, 0), Q_ARG(QVariant, 1));
95+ lvwph->header()->setImplicitHeight(50);
96+ QMetaObject::invokeMethod(model, "insertItem", Q_ARG(QVariant, 0), Q_ARG(QVariant, 200));
97+
98+ QTRY_COMPARE(lvwph->m_visibleItems.count(), 1);
99+ verifyItem(0, 50., 200., false);
100+ }
101+
102 private:
103 QQuickView *view;
104 ListViewWithPageHeader *lvwph;
105
106=== modified file 'tests/plugins/Dash/listviewwithpageheadertest.qml'
107--- tests/plugins/Dash/listviewwithpageheadertest.qml 2015-07-15 15:07:19 +0000
108+++ tests/plugins/Dash/listviewwithpageheadertest.qml 2016-02-05 14:58:38 +0000
109@@ -85,7 +85,6 @@
110 pageHeader: Rectangle {
111 color: "transparent"
112 width: parent.width
113- height: 50
114 implicitHeight: 50
115 Text {
116 anchors.fill: parent

Subscribers

People subscribed via source and target branches