Merge lp:~3v1n0/ubuntu-settings-components/new-calendar-design into lp:ubuntu-settings-components

Proposed by Marco Trevisan (Treviño)
Status: Merged
Approved by: Lukáš Tinkl
Approved revision: 333
Merged at revision: 170
Proposed branch: lp:~3v1n0/ubuntu-settings-components/new-calendar-design
Merge into: lp:ubuntu-settings-components
Prerequisite: lp:~3v1n0/ubuntu-settings-components/touch+pointer-styles
Diff against target: 1004 lines (+552/-198)
9 files modified
debian/bileto_pre_release_hook (+4/-0)
examples/OtherComponents.qml (+7/-0)
examples/SettingsComponents.qml (+13/-1)
plugins/Ubuntu/Settings/Components/Calendar.js (+23/-0)
plugins/Ubuntu/Settings/Components/Calendar.qml (+265/-117)
plugins/Ubuntu/Settings/Components/plugin.cpp (+16/-0)
plugins/Ubuntu/Settings/Menus/CalendarMenu.qml (+91/-35)
tests/qmltests/Components/tst_Calendar.qml (+88/-32)
tests/qmltests/Menus/tst_CalendarMenu.qml (+45/-13)
To merge this branch: bzr merge lp:~3v1n0/ubuntu-settings-components/new-calendar-design
Reviewer Review Type Date Requested Status
Lukáš Tinkl (community) Approve
Unity8 CI Bot continuous-integration Approve
Review via email: mp+307976@code.launchpad.net

Commit message

Calendar: update to new style with weekdays header and Month selection

Description of the change

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

N/A

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

Yep, ran in both laptop and phone

 * 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?

Implemented new calendar look as defined in this doc:

https://docs.google.com/presentation/d/118phJJBsF5m2BD5qY5DmTfDWyovM10BZJZ38cY0UMEg/edit#slide=id.g158a2828c1_0_64

I've not added the month selection dropdown since it would increase the complexity for something that is just an temporary solution (since new calendar SDK item should land soon, and thus this component should be dropped too).

 * If you changed localized strings, has the POT file been updated?

N/A

To post a comment you must log in.
300. By Marco Trevisan (Treviño)

CalendarMenu: correctly theme the icon

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:299
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/88/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3083
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1728
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1728
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1728
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3111
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2968/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/88/rebuild

review: Approve (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:300
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/89/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3085
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1730
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1730
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1730
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3113
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2970
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2970/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2970
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2970/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2970
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2970/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2970
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2970/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2970
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2970/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2970
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2970/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2970
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2970/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2970
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2970/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2970
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2970/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/89/rebuild

review: Approve (continuous-integration)
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

A couple of inline comments

review: Needs Fixing
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

It's not possible to pick an arbitrary month/year. According to Patty, this should use some new date/time picker: https://docs.google.com/document/d/1RR9pFColFvHuBpUcXyptcz9VuQ3jAhC22UBMYUVF6dc/edit?ts=57f4cae5#heading=h.jm1brcrw6j5p

Is this going to be implemented at this stage?

review: Needs Information
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

The month name in the calendar header should imho use some smaller font, it looks different than on the screenshots.

review: Needs Fixing
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

> It's not possible to pick an arbitrary month/year. According to Patty, this
> should use some new date/time picker: https://docs.google.com/document/d/1RR9p
> FColFvHuBpUcXyptcz9VuQ3jAhC22UBMYUVF6dc/edit?ts=57f4cae5#heading=h.jm1brcrw6j5
> p
>
>
> Is this going to be implemented at this stage?

As I wrote in the description, since this component is something that is going to be replaced soon by default SDK one (which is in the works and that will be ready in some weeks), I didn't want to spend too much time for that...

So, I think for now this should be enough (as there's no regression anyway), while this will be then replaced.

> The month name in the calendar header should imho use some smaller font, it
> looks different than on the screenshots.

Mh, might be... But in the specs I have (see the linked doc above), it was marked as "Small" font. I've used XSmall instead since it looked more similar to the designs, but if you think it's better I can switch to XXSmall (it would be http://imgur.com/mTHSh8b.png)

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

> It's not possible to pick an arbitrary month/year. According to Patty, this
> should use some new date/time picker: https://docs.google.com/document/d/1RR9p
> FColFvHuBpUcXyptcz9VuQ3jAhC22UBMYUVF6dc/edit?ts=57f4cae5#heading=h.jm1brcrw6j5
> p
>
>
> Is this going to be implemented at this stage?

As I wrote in the description, since this component is something that is going to be replaced soon by default SDK one (which is in the works and that will be ready in some weeks), I didn't want to spend too much time for that...

So, I think for now this should be enough (as there's no regression anyway), while this will be then replaced.

> The month name in the calendar header should imho use some smaller font, it
> looks different than on the screenshots.

Mh, might be... But in the specs I have (see the linked doc above), it was marked as "Small" font. I've used XSmall instead since it looked more similar to the designs, but if you think it's better I can switch to XXSmall (it would be http://imgur.com/mTHSh8b.png)

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

> A couple of inline comments

Replied to these too.

301. By Marco Trevisan (Treviño)

Calendar: use standaloneDayName instead of dayName

302. By Marco Trevisan (Treviño)

Calendar: set livetimer back to Minute frequency to avoid bugs

Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

Found a bug: when you click around the days in the calendar, the view animates smoothly left/right if the date selection falls into previous/next month. However, if you use the arrows to switch the month, the whole animation breaks from this point on and the month isn't switched at all.

review: Needs Fixing
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

Also, the doubled binding on color, think it could be collapsed into one, without the "when" condition?

review: Needs Information
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:301
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/90/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3096
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1740
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1740
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1740
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3124
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2980
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2980/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2980
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2980/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2980
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2980/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2980
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2980/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2980
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2980/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2980
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2980/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2980
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2980/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2980
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2980/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2980
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2980/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/90/rebuild

review: Approve (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:302
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/91/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3098
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1742
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1742
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1742
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3126
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2982
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2982/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2982
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2982/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2982
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2982/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2982
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2982/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2982
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2982/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2982
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2982/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2982
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2982/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2982
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2982/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2982
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2982/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/91/rebuild

review: Approve (continuous-integration)
303. By Marco Trevisan (Treviño)

Calendar: ensure that currentDate is updated when selectedDate changes if they differs

There was an initial binding that might break once the user switch month

304. By Marco Trevisan (Treviño)

Calendar: toggle selection on selected days when re-clicking on them

305. By Marco Trevisan (Treviño)

testCalendar: verify that currentDate matches selectedDate when changed

306. By Marco Trevisan (Treviño)

CalendarMenu: update currentDate manually on icon clicks so we've proper animation

And update tests accordingly

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:305
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/92/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3100
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1744
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1744
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1744
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3128
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2984
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2984/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2984
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2984/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2984
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2984/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2984
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2984/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2984
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2984/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2984
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2984/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2984
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2984/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2984
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2984/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2984
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2984/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/92/rebuild

review: Approve (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:306
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/93/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3101
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1746
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1746
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1746
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3129
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2985
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2985/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2985
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2985/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2985
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2985/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2985
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2985/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2985
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2985/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2985
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2985/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2985
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2985/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2985
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2985/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2985
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2985/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/93/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:306
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/95/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3103
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1748
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1748
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1748
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3131
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2987
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2987/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2987
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2987/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2987
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2987/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2987
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2987/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2987
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2987/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2987
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2987/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2987
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2987/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2987
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2987/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2987
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2987/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/95/rebuild

review: Approve (continuous-integration)
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

> Also, the doubled binding on color, think it could be collapsed into one,
> without the "when" condition?

I thought it was clearer to read... But as you prefer.

Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

Waiting for the design to come up with week numbers and events highlight specification.

307. By Marco Trevisan (Treviño)

Merged touch+pointer-styles into new-calendar-design.

308. By Marco Trevisan (Treviño)

CalendarMenu: use proper color for layout title

309. By Marco Trevisan (Treviño)

Calendar: add marker to days that have planned events and expose eventDays

310. By Marco Trevisan (Treviño)

testCalendar: verify events marker visibility

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:310
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/99/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3138
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1781
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1781
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1781
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3166
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/3022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/3022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/3022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/3022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/3022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/3022/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/99/rebuild

review: Approve (continuous-integration)
311. By Marco Trevisan (Treviño)

Calendar: use relative positioning for the event shape

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:311
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/100/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3142
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1783
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1783
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1783
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3170
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3025
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3025/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3025
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3025/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/3025
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/3025/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3025
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3025/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3025
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3025/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/3025
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/3025/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3025
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3025/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3025
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3025/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/3025
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/3025/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/100/rebuild

review: Approve (continuous-integration)
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

In the light theme, the "overflowing" days (those that fall in the previous/next months) are not visible

review: Needs Fixing
312. By Marco Trevisan (Treviño)

Calendar: update the selectedDate if currentDate changed to ensure it will point to the first day of the month

313. By Marco Trevisan (Treviño)

Calendar: use better colors that work with both Ambiance and Suru

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:313
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/102/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3204
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1831
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1831
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1831
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3232
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3087
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3087/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3087
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3087/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3087
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3087/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3087
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3087/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3087
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3087/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3087
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3087/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3087
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3087/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3087
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3087/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3087
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3087/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/102/rebuild

review: Needs Fixing (continuous-integration)
314. By Marco Trevisan (Treviño)

Calendar: use zeroDigit from locale

315. By Marco Trevisan (Treviño)

Calendar.js: add toDate method to Day object

316. By Marco Trevisan (Treviño)

Calendar: add support for showing week numbers

Week number has to be properly computed yet, though.

317. By Marco Trevisan (Treviño)

Components: expose QtDate::weekNumber function to QML

318. By Marco Trevisan (Treviño)

Calendar: use QtDateFunctions.weekNumber to get the proper value for the current date

319. By Marco Trevisan (Treviño)

Calendar: use toLocaleString to get proper day visualization

320. By Marco Trevisan (Treviño)

Calendar: add comment for translators

321. By Marco Trevisan (Treviño)

Calendar: make some local properties readonly

322. By Marco Trevisan (Treviño)

Calendar: use formattedWeekNumber to pad the week number with 0's

323. By Marco Trevisan (Treviño)

Calendar: properly translate the header text with comment

And don't keep a Day and Date instance, just do it once.

324. By Marco Trevisan (Treviño)

debian/bileto_pre_release_hook: run po/update-usc-pot on release

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:319
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/103/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3207
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1833
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1833
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1833
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3235
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3090
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3090/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3090
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3090/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3090
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3090/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3090
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3090/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3090
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3090/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3090
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3090/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3090
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3090/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3090
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3090/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3090
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3090/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/103/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:324
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/104/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3208
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1834
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1834
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1834
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3236
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3091
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3091/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3091
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3091/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3091
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3091/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3091
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3091/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3091
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3091/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3091
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3091/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3091
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3091/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3091
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3091/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3091
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3091/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/104/rebuild

review: Needs Fixing (continuous-integration)
325. By Marco Trevisan (Treviño)

testCalendarMenu: update test for currentDate setting

326. By Marco Trevisan (Treviño)

testCalendar: add tests for week numbers visibility

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:325
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/105/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3209
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1836
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1836
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1836
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3237
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3092
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3092/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3092
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3092/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3092
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3092/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3092
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3092/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3092
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3092/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3092
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3092/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3092
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3092/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3092
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3092/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3092
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3092/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/105/rebuild

review: Approve (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:326
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/106/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3210
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1837
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1837
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1837
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3238
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3093
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3093/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3093
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3093/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3093
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3093/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3093
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3093/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3093
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3093/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3093
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3093/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3093
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3093/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3093
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3093/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3093
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3093/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/106/rebuild

review: Approve (continuous-integration)
327. By Marco Trevisan (Treviño)

Calendar: add the weekNumber Column to a loader

So it will be loaded only when needed

328. By Marco Trevisan (Treviño)

Calendar: add the today shapes to a loader

Since there will be only one for list, it should save something

329. By Marco Trevisan (Treviño)

Calendar: put event markers into a loader

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:329
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/108/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3218
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1843
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1843
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1843
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3246
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3101
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3101/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3101
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3101/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3101
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3101/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3101
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3101/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3101
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3101/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3101
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3101/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3101
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3101/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3101
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3101/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3101
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3101/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/108/rebuild

review: Approve (continuous-integration)
330. By Marco Trevisan (Treviño)

Merged touch+pointer-styles into new-calendar-design.

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:330
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/109/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3219
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1845
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1845
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1845
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3247
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3102
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3102/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3102
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3102/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3102
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3102/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3102
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3102/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3102
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3102/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3102
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3102/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3102
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3102/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3102
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3102/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3102
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3102/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/109/rebuild

review: Approve (continuous-integration)
331. By Marco Trevisan (Treviño)

Calendar: use quicker animation to switch month

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:331
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/110/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3222
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1847
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1847
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1847
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3250
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3105
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3105/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3105
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3105/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3105
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3105/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3105
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3105/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3105
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3105/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3105
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3105/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3105
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3105/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3105
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3105/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3105
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3105/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/110/rebuild

review: Approve (continuous-integration)
332. By Marco Trevisan (Treviño)

Calendar: use proper color for the eventMarker when selected

333. By Marco Trevisan (Treviño)

Calendar: reposition the eventMarker going more down that we can

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:333
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/111/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3225
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1849
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1849
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1849
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3253
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3107/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/111/rebuild

review: Approve (continuous-integration)
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

Yup, quite happy with this atm, thanks!

review: Approve
334. By Marco Trevisan (Treviño)

Calendar: don't try to update value if not ready, and set selectedDate to currentDate

335. By Marco Trevisan (Treviño)

Calendar: implement Month::firstDay and use it instead of relying on model valueOf

Model's month can be undefined in certain cases, but this will ensure that binding won't
be broken in case.

336. By Marco Trevisan (Treviño)

Calendar: remove unused minimum, maximum date properties

They overcomplicate the logic without any actual need

337. By Marco Trevisan (Treviño)

CalendarMenu: remove unneded extra column as mainSlot

338. By Marco Trevisan (Treviño)

CalendarMenu: Qt 5.4 needs this extra item to correctly fill the width, so let's be conservative

339. By Marco Trevisan (Treviño)

Calendar: put the delegate inside a loader, it workarounds QTBUG-49224

340. By Marco Trevisan (Treviño)

Calendar: Binding doesn't work well with new Loader, use more complex binding instead

341. By Marco Trevisan (Treviño)

Calendar: only show the abstract button on current month view

This fixes possible edge clicks being recorded.

342. By Marco Trevisan (Treviño)

Calendar: make the AbstractButton to fill the dayNumber instead of the whole day box

343. By Marco Trevisan (Treviño)

CalendarMenu: tapping on month date updates the selected date to month start

344. By Marco Trevisan (Treviño)

Calendar: When changing months, always set the current date to first Day

345. By Marco Trevisan (Treviño)

Calendar: reset the selected date to today if we're on current month

346. By Marco Trevisan (Treviño)

Calendar: ensure we always set back currentDate to today when changing month

347. By Marco Trevisan (Treviño)

Calendar: add toDate method to Month

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added file 'debian/bileto_pre_release_hook'
--- debian/bileto_pre_release_hook 1970-01-01 00:00:00 +0000
+++ debian/bileto_pre_release_hook 2016-11-15 18:02:52 +0000
@@ -0,0 +1,4 @@
1#!/bin/sh
2
3set -eux
4sh ./po/update-usc-pot
05
=== modified file 'examples/OtherComponents.qml'
--- examples/OtherComponents.qml 2016-11-15 18:02:52 +0000
+++ examples/OtherComponents.qml 2016-11-15 18:02:52 +0000
@@ -153,6 +153,13 @@
153153
154 CalendarMenu {154 CalendarMenu {
155 id: calendar155 id: calendar
156 eventDays: currentDate.getMonth() % 2 ? [5, 20] : []
157 }
158
159 SwitchMenu {
160 text: i18n.tr("Show week numbers in calendar")
161 checked: calendar.showWeekNumbers
162 onCheckedChanged: calendar.showWeekNumbers = checked
156 }163 }
157164
158 UserSessionMenu {165 UserSessionMenu {
159166
=== modified file 'examples/SettingsComponents.qml'
--- examples/SettingsComponents.qml 2016-11-15 18:02:52 +0000
+++ examples/SettingsComponents.qml 2016-11-15 18:02:52 +0000
@@ -48,11 +48,23 @@
48 id: header48 id: header
49 title: listView.currentItem ? listView.currentItem.item.title : "Components"49 title: listView.currentItem ? listView.currentItem.item.title : "Components"
5050
51 leadingActionBar.actions: [51 trailingActionBar.actions: [
52 Action {52 Action {
53 iconName: mainView.pointerMode ? "input-mouse-symbolic" : "input-touchpad-symbolic"53 iconName: mainView.pointerMode ? "input-mouse-symbolic" : "input-touchpad-symbolic"
54 text: mainView.pointerMode ? "Pointer mode" : "Touch mode"54 text: mainView.pointerMode ? "Pointer mode" : "Touch mode"
55 onTriggered: mainView.pointerMode = !mainView.pointerMode55 onTriggered: mainView.pointerMode = !mainView.pointerMode
56 },
57 Action {
58 text: i18n.tr('Use dark theme')
59 iconName: 'torch-on'
60 visible: theme.name == 'Ubuntu.Components.Themes.Ambiance'
61 onTriggered: theme.name = 'Ubuntu.Components.Themes.SuruDark'
62 },
63 Action {
64 text: i18n.tr('Use light theme')
65 iconName: 'torch-off'
66 visible: theme.name == 'Ubuntu.Components.Themes.SuruDark'
67 onTriggered: theme.name = 'Ubuntu.Components.Themes.Ambiance'
56 }68 }
57 ]69 ]
58 }70 }
5971
=== modified file 'plugins/Ubuntu/Settings/Components/Calendar.js'
--- plugins/Ubuntu/Settings/Components/Calendar.js 2016-09-06 13:54:51 +0000
+++ plugins/Ubuntu/Settings/Components/Calendar.js 2016-11-15 18:02:52 +0000
@@ -25,6 +25,10 @@
25 return new Month(date.getFullYear(), date.getMonth());25 return new Month(date.getFullYear(), date.getMonth());
26}26}
2727
28Month.prototype.firstDay = function() {
29 return new Day(this.year, this.month, 1)
30}
31
28Month.prototype.toString = function() {32Month.prototype.toString = function() {
29 return JSON.stringify(this);33 return JSON.stringify(this);
30}34}
@@ -33,6 +37,17 @@
33 return this.year * 12 + this.month;37 return this.year * 12 + this.month;
34}38}
3539
40Month.prototype.equals = function(other) {
41 if (other instanceof Month) {
42 return other.valueOf() == this.valueOf();
43 }
44 return false;
45}
46
47Month.prototype.toDate = function() {
48 return new Date(this.year, this.month)
49}
50
36function Day(arg1, arg2, arg3) {51function Day(arg1, arg2, arg3) {
37 if (arg1 === undefined) {52 if (arg1 === undefined) {
38 var date = new Date();53 var date = new Date();
@@ -65,6 +80,10 @@
65 return new Day(date.getFullYear(), date.getMonth(), date.getDate());80 return new Day(date.getFullYear(), date.getMonth(), date.getDate());
66}81}
6782
83Day.prototype.getMonth = function() {
84 return new Month(this.year, this.month)
85}
86
68Day.prototype.dayofweek = function () /* 1 <= m <= 12, y > 1752 (in the U.K.) */87Day.prototype.dayofweek = function () /* 1 <= m <= 12, y > 1752 (in the U.K.) */
69{88{
70 var t = [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4];89 var t = [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4];
@@ -99,3 +118,7 @@
99 }118 }
100 return false;119 return false;
101}120}
121
122Day.prototype.toDate = function() {
123 return new Date(this.year, this.month, this.day)
124}
102125
=== modified file 'plugins/Ubuntu/Settings/Components/Calendar.qml'
--- plugins/Ubuntu/Settings/Components/Calendar.qml 2016-09-06 13:48:32 +0000
+++ plugins/Ubuntu/Settings/Components/Calendar.qml 2016-11-15 18:02:52 +0000
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright 2013 Canonical Ltd.2 * Copyright 2013-2016 Canonical Ltd.
3 *3 *
4 * This program is free software; you can redistribute it and/or modify4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by5 * it under the terms of the GNU Lesser General Public License as published by
@@ -12,26 +12,41 @@
12 *12 *
13 * You should have received a copy of the GNU Lesser General Public License13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authors:
17 * Andrea Cimitan <andrea.cimitan@canonical.com>
18 * Marco Trevisan <marco.trevisan@canonical.com>
15 */19 */
1620
17import QtQuick 2.421import QtQuick 2.4
18import Ubuntu.Components 1.322import Ubuntu.Components 1.3
23import Ubuntu.Settings.Components 0.1
19import "dateExt.js" as DateExt24import "dateExt.js" as DateExt
20import "Calendar.js" as Cal25import "Calendar.js" as Cal
2126
22ListView {27ListView {
23 id: monthView28 id: calendar
2429
25 property bool collapsed: false30 property var currentDate: priv.today.toDate()
26 property var currentDate: new Date(priv.selectedDay.year, priv.selectedDay.month, 1)
27 property int firstDayOfWeek: Qt.locale(i18n.language).firstDayOfWeek31 property int firstDayOfWeek: Qt.locale(i18n.language).firstDayOfWeek
28 property var maximumDate32 property var selectedDate: currentDate
29 property var minimumDate33 property var eventDays: new Array()
30 property var selectedDate: new Date(priv.today.year, priv.today.month, priv.today.day)34 property bool showWeekNumbers: false
3135
32 function reset() {36 function reset() {
33 if (!priv.ready) return;37 if (!priv.ready) return;
34 currentDate = new Date(priv.today.year, priv.today.month, 1)38 currentDate = priv.today.toDate()
39 }
40
41 function moveToMonth(delta) {
42 if (!priv.ready) return;
43 priv.__setCurrentDateFromMonth(priv.currentMonth.addMonths(delta))
44 }
45
46 function selectFistDayOfTheMonth() {
47 if (!priv.ready) return;
48 priv.userSelected = false
49 selectedDate = currentItem.month.toDate()
35 }50 }
3651
37 Component.onCompleted: {52 Component.onCompleted: {
@@ -40,8 +55,23 @@
4055
41 onCurrentIndexChanged: {56 onCurrentIndexChanged: {
42 if (!priv.ready) return;57 if (!priv.ready) return;
4358 priv.__setCurrentDateFromMonth(currentItem.month)
44 currentDate = new Date(currentItem.month.year, currentItem.month.month, 1);59 }
60
61 onSelectedDateChanged: {
62 if (!priv.ready) return;
63
64 if (currentDate != selectedDate)
65 currentDate = selectedDate
66 }
67
68 onCurrentDateChanged: {
69 if (!priv.ready) return;
70
71 if (selectedDate != currentDate) {
72 priv.userSelected = false
73 selectedDate = currentDate
74 }
45 }75 }
4676
47 ListModel {77 ListModel {
@@ -50,57 +80,39 @@
5080
51 QtObject {81 QtObject {
52 id: priv82 id: priv
83 objectName: "calendarPriv"
5384
54 property bool ready: false85 property bool ready: false
55 property int squareUnit: monthView.width / 786 property bool userSelected: false
56 property int verticalMargin: units.gu(1)
57 property var today: new Cal.Day().fromDate((new Date()))87 property var today: new Cal.Day().fromDate((new Date()))
88 property real weekDaysHeight: 0
89 readonly property real squareUnit: units.gu(3)
90 readonly property real todayRingThickness: units.gu(.1)
91 readonly property int days: 7
92 readonly property int weeks: 6
5893
59 property var currentMonth: new Cal.Month().fromDate(currentDate)94 property var currentMonth: new Cal.Month().fromDate(currentDate)
60 property var selectedDay: new Cal.Day().fromDate(selectedDate)95 property var selectedDay: new Cal.Day().fromDate(selectedDate)
61 property var minimumMonth: minimumDate ? new Cal.Month().fromDate(minimumDate) : undefined
62 property var maximumMonth: maximumDate ? new Cal.Month().fromDate(maximumDate) : undefined
63
64 property var minimumDay: minimumDate ? new Cal.Day().fromDate(minimumDate) : undefined
65 property var maximumDay: maximumDate ? new Cal.Day().fromDate(maximumDate) : undefined
6696
67 onCurrentMonthChanged: {97 onCurrentMonthChanged: {
68 if (!ready) return98 if (!ready) return
69 __populateModel();99 __populateModel();
70 }100 }
71 onSelectedDayChanged: {101
72 if (!ready) return102 function __setCurrentDateFromMonth(month) {
73 __populateModel();103 if (month.equals(priv.today.getMonth())) {
74 }104 currentDate = priv.today.toDate()
75 onMinimumMonthChanged: {105 } else {
76 if (!ready) return106 currentDate = month.toDate()
77 __populateModel();107 }
78 }
79 onMaximumMonthChanged: {
80 if (!ready) return
81 __populateModel();
82 }
83
84 function __getRealMinimumMonth(month) {
85 if (minimumMonth !== undefined && minimumMonth > month) {
86 return minimumMonth;
87 }
88 return month;
89 }
90
91 function __getRealMaximumMonth(month) {
92 if (maximumMonth !== undefined && maximumMonth < month) {
93 return maximumMonth;
94 }
95 return month;
96 }108 }
97109
98 function __populateModel() {110 function __populateModel() {
99 // disable the onCurrentIndexChanged logic111 // disable the onCurrentIndexChanged logic
100 priv.ready = false;112 priv.ready = false;
101113
102 var minimumMonth = __getRealMinimumMonth(currentMonth.addMonths(-2));114 var minimumMonth = currentMonth.addMonths(-2);
103 var maximumMonth = __getRealMaximumMonth(currentMonth.addMonths(2));115 var maximumMonth = currentMonth.addMonths(2);
104116
105 // Remove old minimum months117 // Remove old minimum months
106 while (calendarModel.count > 0 && new Cal.Month(calendarModel.get(0).month) < minimumMonth) {118 while (calendarModel.count > 0 && new Cal.Month(calendarModel.get(0).month) < minimumMonth) {
@@ -140,7 +152,7 @@
140 }152 }
141153
142 LiveTimer {154 LiveTimer {
143 frequency: monthView.visible ? LiveTimer.Minute : LiveTimer.Disabled155 frequency: calendar.visible ? LiveTimer.Minute : LiveTimer.Disabled
144 onFrequencyChanged: trigger()156 onFrequencyChanged: trigger()
145 onTrigger: {157 onTrigger: {
146 Date.timeZoneUpdated(); // FIXME remove when fixed in UITK158 Date.timeZoneUpdated(); // FIXME remove when fixed in UITK
@@ -152,9 +164,9 @@
152 }164 }
153 }165 }
154166
155 width: parent.width167 implicitWidth: priv.squareUnit * priv.days
156 height: priv.squareUnit * (collapsed ? 1 : 6) + priv.verticalMargin * 2168 implicitHeight: priv.squareUnit * priv.weeks + priv.weekDaysHeight
157 interactive: !collapsed169 interactive: true
158 clip: true170 clip: true
159 cacheBuffer: Math.max((width+1) * 3, 0) // one page left, one page right171 cacheBuffer: Math.max((width+1) * 3, 0) // one page left, one page right
160 highlightRangeMode: ListView.StrictlyEnforceRange172 highlightRangeMode: ListView.StrictlyEnforceRange
@@ -165,93 +177,227 @@
165 snapMode: ListView.SnapOneItem177 snapMode: ListView.SnapOneItem
166 focus: true178 focus: true
167 highlightFollowsCurrentItem: true179 highlightFollowsCurrentItem: true
180 highlightMoveDuration: UbuntuAnimation.FastDuration
168181
169 Keys.onLeftPressed: selectedDate.addDays(-1)182 Keys.onLeftPressed: selectedDate.addDays(-1)
170 Keys.onRightPressed: selectedDate.addDays(1)183 Keys.onRightPressed: selectedDate.addDays(1)
171184
172 delegate: Item {185 // This is a workaround for bug https://bugreports.qt.io/browse/QTBUG-49224
173 id: monthItem186 delegate: Loader {
174187 id: monthDelegateLoader
175 property int currentWeekRow: Math.floor((priv.selectedDay - gridStart) / 7)188 sourceComponent: monthComponent
176 property var gridStart: monthStart.weekStart(firstDayOfWeek)189
177 property var monthEnd: monthStart.addMonths(1)190 readonly property var month: new Cal.Month(model.month)
178 property var monthStart: new Cal.Day(model.month.year, model.month.month, 1)191
179192 Binding {
180 property var month: new Cal.Month(model.month)193 target: monthDelegateLoader.item
181194 property: "monthIndex"
182 width: monthView.width195 value: index
183 height: monthView.height196 when: monthDelegateLoader.status == Loader.Ready
197 }
198
199 Binding {
200 target: monthDelegateLoader.item
201 property: "month"
202 value: month
203 when: monthDelegateLoader.status == Loader.Ready
204 }
205 }
206
207Component {
208 id: monthComponent
209 Row {
210 objectName: "monthRow" + monthIndex
211 property int monthIndex: 0
212 property var month: new Cal.Month()
213 readonly property var monthStart: month.firstDay()
214 readonly property var monthEnd: monthStart.addMonths(1)
215 readonly property var gridStart: monthStart.weekStart(firstDayOfWeek)
216
217 Loader {
218 id: weekNumbersLoader
219 objectName: "weekNumbersLoader" + monthIndex
220 active: calendar.showWeekNumbers
221 visible: active
222
223 sourceComponent: Column {
224 id: weekNumbersColumn
225 objectName: "weekNumbersColumn" + monthIndex
226 spacing: monthGrid.rowSpacing
227
228 Row {
229 Column {
230 Label {
231 objectName: "weekDay" + monthIndex
232 text: i18n.ctr("Header text: keep it short and upper case", "WEEK")
233 textSize: Label.XSmall
234 // FIXME: There's no good palette that covers both
235 // Ambiance (Ash) and Suru (Silk)
236 color: theme.palette.disabled.base
237 }
238
239 Repeater {
240 id: weekNumbers
241 model: priv.weeks
242 delegate: Item {
243 readonly property var rowDate: monthStart.addDays(index * priv.days).toDate()
244 width: priv.squareUnit
245 height: priv.squareUnit
246
247 Label {
248 id: weekNumberLabel
249 anchors.centerIn: parent
250 text: QtDateFunctions.formattedWeekNumber(rowDate)
251 textSize: Label.Medium
252 color: theme.palette.normal.backgroundTertiaryText
253 }
254 }
255 }
256 }
257
258 Column {
259 Item {
260 width: units.gu(2)
261 height: weekNumbersColumn.height
262
263 Rectangle {
264 color: theme.palette.disabled.base
265 anchors.fill: parent
266 anchors.topMargin: units.gu(0.5)
267 anchors.bottomMargin: anchors.topMargin
268 anchors.leftMargin: units.gu(0.9)
269 anchors.rightMargin: anchors.leftMargin
270 }
271 }
272 }
273 }
274 }
275 }
184276
185 Grid {277 Grid {
186 id: monthGrid278 id: monthGrid
187279
188 rows: 6280 columns: priv.days
189 columns: 7281 columnSpacing: (calendar.width - calendar.implicitWidth - (weekNumbersLoader.visible ? weekNumbersLoader.width : 0)) / (columns - 1)
190 y: priv.verticalMargin282
191 width: priv.squareUnit * columns283 rows: priv.weeks + 1 /* the weekDays header */
192 height: priv.squareUnit * rows284 rowSpacing: (calendar.height - calendar.implicitHeight) / (rows - 1)
193285
194 Repeater {286 verticalItemAlignment: Grid.AlignVCenter
195 model: monthGrid.rows * monthGrid.columns287 horizontalItemAlignment: Grid.AlignHCenter
288
289 Repeater {
290 id: daysHeader
291 model: priv.days
292
293 delegate: Label {
294 objectName: "weekDay" + index
295 text: Qt.locale(i18n.language).standaloneDayName((index + firstDayOfWeek) % priv.days, Locale.ShortFormat).toUpperCase()
296 textSize: Label.XSmall
297 // FIXME: There's no good palette that covers both
298 // Ambiance (Ash) and Suru (Silk)
299 color: theme.palette.highlighted.base
300 onHeightChanged: priv.weekDaysHeight = Math.max(height, priv.weekDaysHeight)
301 }
302 }
303
304 Repeater {
305 model: priv.days * priv.weeks
196 delegate: Item {306 delegate: Item {
197 id: dayItem307 id: dayItem
198 objectName: "dayItem" + index308 objectName: "dayItem" + index
199309
200 property bool isCurrent: dayStart.equals(priv.selectedDay)310 readonly property int weekday: (index % priv.days + firstDayOfWeek) % priv.days
201 property bool isCurrentMonth: (monthStart < dayStart || monthStart.equals(dayStart)) && dayStart < monthEnd311 readonly property var dayStart: gridStart.addDays(index)
202 property bool isCurrentWeek: row == currentWeekRow312 readonly property bool isSelected: priv.userSelected && dayStart.equals(priv.selectedDay)
203 property bool isSunday: weekday == 0313 readonly property bool isCurrentMonth: (monthStart < dayStart || monthStart.equals(dayStart)) && dayStart < monthEnd
204 property bool isToday: dayStart.equals(priv.today)314 readonly property bool isWeekend: weekday == 0 || weekday == 6
205 property bool isWithinBounds: (priv.minimumDay === undefined || dayStart >= priv.minimumDay) &&315 readonly property bool isToday: dayStart.equals(priv.today)
206 (priv.maximumDay === undefined || dayStart <= priv.maximumDay)316 readonly property bool hasEvent: isCurrentMonth && eventDays.indexOf(dayStart.day) != -1
207 property int row: Math.floor(index / 7)
208 property int weekday: (index % 7 + firstDayOfWeek) % 7
209 property real bottomMargin: (row == 5 || (collapsed && isCurrentWeek)) ? -priv.verticalMargin : 0
210 property real topMargin: (row == 0 || (collapsed && isCurrentWeek)) ? -priv.verticalMargin : 0
211 property var dayStart: gridStart.addDays(index)
212317
213 visible: collapsed ? isCurrentWeek : true
214 width: priv.squareUnit318 width: priv.squareUnit
215 height: priv.squareUnit319 height: priv.squareUnit
216320
217 Item {321 Loader {
218 anchors {322 id: todayMarkerLoader
219 fill: parent323 objectName: "todayMarkerLoader" + index
220 topMargin: dayItem.topMargin324 active: isToday
221 bottomMargin: dayItem.bottomMargin325 visible: active
222 }326 anchors.fill: parent
223327 sourceComponent: UbuntuShape {
224 Rectangle {328 aspect: UbuntuShape.Flat
225 anchors.fill: parent329 radius: "small"
226 visible: isSunday330 color: dayNumber.color
227 opacity: 0.1331
228 color: UbuntuColors.warmGrey332 UbuntuShape {
229 }333 // XXX: since we can't just colorize the shape border
230334 // we need another one to fill the center with bg color
231 Label {335 id: currentDayShape
232 anchors.centerIn: parent336 radius: parent.radius
233 text: dayStart.day337 aspect: parent.aspect
234 font.pixelSize: units.dp(isCurrent ? 36 : 20)338 backgroundColor: theme.palette.normal.background
235 color: isCurrentMonth && isWithinBounds ? isToday ? UbuntuColors.green :339
236 theme.palette.normal.backgroundText :340 anchors.fill: parent
237 theme.palette.disabled.backgroundText341 anchors.margins: priv.todayRingThickness
238 opacity: isWithinBounds ? 1. : 0.33342 }
239343 }
240 Behavior on font.pixelSize {344 }
241 NumberAnimation { duration: 50 }345
242 }346 Label {
243 }347 id: dayNumber
244 }348 anchors.centerIn: parent
245349 text: dayStart.toDate().toLocaleDateString(Qt.locale(), "dd")
246 MouseArea {350 textSize: Label.Medium
247 anchors {351 color: {
248 fill: parent352 if (!isCurrentMonth) {
249 topMargin: dayItem.topMargin353 // FIXME: There's no good palette that covers both
250 bottomMargin: dayItem.bottomMargin354 // Ambiance (silk) and Suru (inkstone)
251 }355 return theme.palette.disabled.base
356 }
357 if (isSelected) {
358 return theme.palette.normal.positionText
359 }
360 if (isWeekend) {
361 return theme.palette.normal.backgroundTertiaryText
362 }
363
364 return theme.palette.normal.backgroundText
365 }
366 }
367
368 Loader{
369 objectName: "eventMarkerLoader"+index
370 active: hasEvent
371 visible: active
372 width: units.gu(0.4)
373 height: width
374 y: dayNumber.height + (parent.height - dayNumber.height) / 2 - priv.todayRingThickness
375 anchors.horizontalCenter: parent.horizontalCenter
376
377 sourceComponent: UbuntuShape {
378 objectName: "eventMarker"+index
379 aspect: UbuntuShape.Flat
380 radius: "small"
381 color: isSelected ? dayNumber.color : theme.palette.selected.baseText
382 }
383 }
384
385 AbstractButton {
386 anchors.fill: dayNumber
387 visible: (currentIndex == monthIndex)
252388
253 onClicked: {389 onClicked: {
254 if (isWithinBounds) monthView.selectedDate = new Date(dayStart.year, dayStart.month, dayStart.day)390 if (!isSelected) {
391 priv.userSelected = true
392 calendar.selectedDate = new Date(dayStart.year, dayStart.month, dayStart.day)
393 } else if (priv.userSelected) {
394 if (priv.today.getMonth().equals(month)) {
395 calendar.selectedDate = priv.today.toDate()
396 } else {
397 calendar.selectedDate = new Date(dayStart.year, dayStart.month)
398 }
399 priv.userSelected = false
400 }
255 }401 }
256 }402 }
257 }403 }
@@ -259,3 +405,5 @@
259 }405 }
260 }406 }
261}407}
408
409}
262410
=== modified file 'plugins/Ubuntu/Settings/Components/plugin.cpp'
--- plugins/Ubuntu/Settings/Components/plugin.cpp 2015-08-04 14:57:35 +0000
+++ plugins/Ubuntu/Settings/Components/plugin.cpp 2016-11-15 18:02:52 +0000
@@ -20,8 +20,24 @@
2020
21// Qt21// Qt
22#include <QtQml/qqml.h>22#include <QtQml/qqml.h>
23#include <QDate>
24
25class QtDateFunctions : public QObject
26{
27 Q_OBJECT
28public:
29 QtDateFunctions(QObject * parent = nullptr) : QObject(parent) {}
30 ~QtDateFunctions() = default;
31
32 Q_INVOKABLE int weekNumber(const QDate &date) const { return date.weekNumber(); }
33 Q_INVOKABLE QString formattedWeekNumber(const QDate &date) const { return QString("%1").arg(date.weekNumber(), 2, 10, QChar('0')); }
34};
2335
24void UbuntuSettingsComponentsPlugin::registerTypes(const char *uri)36void UbuntuSettingsComponentsPlugin::registerTypes(const char *uri)
25{37{
26 qmlRegisterType<ServerPropertySynchroniser>(uri, 0, 1, "ServerPropertySynchroniser");38 qmlRegisterType<ServerPropertySynchroniser>(uri, 0, 1, "ServerPropertySynchroniser");
39 qmlRegisterSingletonType<QtDateFunctions>(uri, 0, 1, "QtDateFunctions",
40 [](QQmlEngine*, QJSEngine*) -> QObject* { return new QtDateFunctions; });
27}41}
42
43#include "plugin.moc"
2844
=== modified file 'plugins/Ubuntu/Settings/Menus/CalendarMenu.qml'
--- plugins/Ubuntu/Settings/Menus/CalendarMenu.qml 2016-11-15 18:02:52 +0000
+++ plugins/Ubuntu/Settings/Menus/CalendarMenu.qml 2016-11-15 18:02:52 +0000
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright 2013 Canonical Ltd.2 * Copyright 2013-2016 Canonical Ltd.
3 *3 *
4 * This program is free software; you can redistribute it and/or modify4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by5 * it under the terms of the GNU Lesser General Public License as published by
@@ -13,7 +13,9 @@
13 * You should have received a copy of the GNU Lesser General Public License13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *15 *
16 * Authored by Andrea Cimitan <andrea.cimitan@canonical.com>16 * Authors:
17 * Andrea Cimitan <andrea.cimitan@canonical.com>
18 * Marco Trevisan <marco.trevisan@canonical.com>
17 */19 */
1820
19import QtQuick 2.421import QtQuick 2.4
@@ -23,42 +25,96 @@
23BaseMenu {25BaseMenu {
24 id: menu26 id: menu
2527
26 property alias collapsed: calendar.collapsed
27 property alias currentDate: calendar.currentDate28 property alias currentDate: calendar.currentDate
28 property alias firstDayOfWeek: calendar.firstDayOfWeek29 property alias firstDayOfWeek: calendar.firstDayOfWeek
29 property alias maximumDate: calendar.maximumDate
30 property alias minimumDate: calendar.minimumDate
31 property alias selectedDate: calendar.selectedDate30 property alias selectedDate: calendar.selectedDate
3231 property alias showWeekNumbers: calendar.showWeekNumbers
33 menuHeight: slotsLayout.height32 property alias eventDays: calendar.eventDays
3433
35 StyledSlotsLayout {34 menuHeight: layout.height
36 id: slotsLayout35 highlightWhenPressed: false
37 objectName: "calenderMenuSlotsLayout"36
38 style: menuStyle37 Column {
3938 id: layout
40 mainSlot: Column {39
41 id: column40 anchors {
42 spacing: units.gu(1)41 left: parent.left
4342 right: parent.right
44 Label {43 }
45 id: label44
46 anchors {45 ListItemLayout {
47 left: parent.left46 id: monthLayout
48 right: parent.right47 objectName: "monthLayout"
49 }48
50 fontSize: "large"49 padding {
51 text: i18n.ctr("%1=month name, %2=4-digit year", "%1 %2")50 top: menuStyle.padding.top
52 .arg(Qt.locale().standaloneMonthName(calendar.currentDate.getMonth(), Locale.LongFormat))51 bottom: menuStyle.padding.bottom
53 .arg(calendar.currentDate.getFullYear())52 leading: menuStyle.padding.leading
54 }53 trailing: menuStyle.padding.trailing
5554 }
56 Calendar {55
57 id: calendar56 title.horizontalAlignment: Text.AlignHCenter
58 objectName: "calendar"57 title.font.pixelSize: menuStyle.fontSize
59 anchors {58 title.color: menuStyle.foregroundColor
60 left: parent.left59 title.text: i18n.ctr("%1=month name, %2=4-digit year", "%1 %2")
61 right: parent.right60 .arg(Qt.locale().standaloneMonthName(calendar.currentDate.getMonth(), Locale.LongFormat))
61 .arg(calendar.currentDate.getFullYear())
62
63 title.children: [
64 AbstractButton {
65 x: (parent.width - width) / 2
66 width: parent.contentWidth
67 height: parent.contentHeight
68 onClicked: calendar.selectFistDayOfTheMonth()
69 }
70 ]
71
72 Icon {
73 objectName: "goPreviousMonth"
74 name: "go-previous"
75 width: menuStyle.iconSize
76 height: menuStyle.iconSize
77 color: menuStyle.iconColor
78 SlotsLayout.position: SlotsLayout.Leading
79
80 AbstractButton {
81 anchors.fill: parent
82 onClicked: calendar.moveToMonth(-1)
83 }
84 }
85
86 Icon {
87 objectName: "goNextMonth"
88 name: "go-next"
89 width: menuStyle.iconSize
90 height: menuStyle.iconSize
91 color: menuStyle.iconColor
92 SlotsLayout.position: SlotsLayout.Trailing
93
94 AbstractButton {
95 anchors.fill: parent
96 onClicked: calendar.moveToMonth(1)
97 }
98 }
99 }
100
101 StyledSlotsLayout {
102 id: slotsLayout
103 objectName: "calenderMenuSlotsLayout"
104 style: menuStyle
105
106 mainSlot: Item {
107 // XXX: this extra Item seems to be needed by Qt 5.4,
108 // we can remove it once migrated to new versions
109 height: calendar.height
110 Calendar {
111 id: calendar
112 objectName: "calendar"
113 interactive: !pointerMode
114 anchors {
115 left: parent.left
116 right: parent.right
117 }
62 }118 }
63 }119 }
64 }120 }
65121
=== modified file 'tests/qmltests/Components/tst_Calendar.qml'
--- tests/qmltests/Components/tst_Calendar.qml 2016-08-17 09:46:20 +0000
+++ tests/qmltests/Components/tst_Calendar.qml 2016-11-15 18:02:52 +0000
@@ -55,17 +55,6 @@
5555
56 function init() {56 function init() {
57 calendar.selectedDate = new Date(2013, 4, 10);57 calendar.selectedDate = new Date(2013, 4, 10);
58 calendar.maximumDate = undefined;
59 calendar.minimumDate = undefined;
60 }
61
62 function test_collapsed() {
63 calendar.collapsed = true;
64 compare(calendar.interactive, false, "Calendar should not be interactive");
65 var collapsedHeight = calendar.height;
66 calendar.collapsed = false;
67 verify(calendar.height > collapsedHeight * 4 && calendar.height < collapsedHeight * 6, "Height did not expand properly");
68 compare(calendar.interactive, true, "Calendar should be interactive");
69 }58 }
7059
71 function test_selectedDate_data() {60 function test_selectedDate_data() {
@@ -79,8 +68,8 @@
79 function test_selectedDate(data) {68 function test_selectedDate(data) {
80 calendar.selectedDate = data.date;69 calendar.selectedDate = data.date;
8170
82 compare(calendar.currentItem.monthStart.year, data.date.getFullYear(), "Current year does no correspond to set date");71 compare(calendar.currentItem.month.firstDay().year, data.date.getFullYear(), "Current year does no correspond to set date");
83 compare(calendar.currentItem.monthStart.month, data.date.getMonth(), "Current month does no correspond to set date");72 compare(calendar.currentItem.month.firstDay().month, data.date.getMonth(), "Current month does no correspond to set date");
84 }73 }
8574
86 function test_firstDayOfWeek_data() {75 function test_firstDayOfWeek_data() {
@@ -102,29 +91,96 @@
102 }91 }
103 }92 }
10493
105 function test_minMaxDate_data() {94 function test_selectedDateUpdatesCurrent_data() {
106 return [95 return [
107 {tag: "Min=-0", date: new Date(), minDate: new Date(), maxDate: undefined, count: 3},96 { date: new Date(2010, 4, 10) },
108 {tag: "Min=-1", date: new Date(), minDate: new Date().addMonths(-1), maxDate: undefined, count: 4},97 { date: new Date() },
109 {tag: "Min=-22", date: new Date(), minDate: new Date().addMonths(-22), maxDate: undefined, count: 5}, // max out at +-298 { date: new Date(2020, 10, 31)},
110
111 {tag: "Max=+0", date: new Date(), minDate: undefined, maxDate: new Date(), count: 3},
112 {tag: "Max=+1", date: new Date(), minDate: undefined, maxDate: new Date().addMonths(1), count: 4},
113 {tag: "Max=+22", date: new Date(), minDate: undefined, maxDate: new Date().addMonths(22), count: 5}, // max out at +-2
114
115 {tag: "Min=-0,Max=+0", date: new Date(), minDate: new Date(), maxDate: new Date(), count: 1},
116 {tag: "Min=-1,Max=+1", date: new Date(), minDate: new Date().addMonths(-1), maxDate: new Date().addMonths(1), count: 3},
117 {tag: "Min=-22,Max=+1", date: new Date(), minDate: new Date().addMonths(-22), maxDate: new Date().addMonths(1), count: 4}, // max out at +-2
118 {tag: "Min=-1,Max=+22", date: new Date(), minDate: new Date().addMonths(-1), maxDate: new Date().addMonths(22), count: 4}, // max out at +-2
119 {tag: "Min=-22,Max=+22", date: new Date(), minDate: new Date().addMonths(-22), maxDate: new Date().addMonths(22), count: 5}, // max out at +-2
120 ];99 ];
121 }100 }
122101
123 function test_minMaxDate(data) {102 function test_selectedDateUpdatesCurrent(data) {
124 calendar.selectedDate = data.date;103 calendar.selectedDate = data.date
125 calendar.minimumDate = data.minDate;104 compare(calendar.currentDate, data.date)
126 calendar.maximumDate = data.maxDate;105 }
127 compare(calendar.count, data.count, "The number of months should have changed");106
107 function test_eventsMarker_data()
108 {
109 var values = []
110 for (var i = 0; i < 20; ++i) {
111 values.push({tag: "eventDay "+i+": "+(i % 2 != 0), idx: i, dayEvent: (i % 2 != 0)})
112 }
113
114 return values
115 }
116
117 function test_eventsMarker(data) {
118 var eventMarkerLoader = findChild(calendar, "eventMarkerLoader"+data.idx)
119 verify(eventMarkerLoader)
120
121 var expected = data.dayEvent
122
123 if (data.dayEvent) {
124 var dayItem = findChild(calendar, "dayItem"+data.idx)
125 verify(dayItem)
126
127 calendar.eventDays = [dayItem.dayStart.day]
128 expected = dayItem.isCurrentMonth
129 }
130
131 compare(eventMarkerLoader.visible, expected)
132 var eventMarker = findChild(eventMarkerLoader, "eventMarker"+data.idx)
133 verify(expected ? eventMarker : eventMarker === undefined)
134 }
135
136 function test_showWeeksNumber_data() {
137 return [{tag: "visible", visible: true}, {tag: "not visible", visible: false}]
138 }
139
140 function test_showWeeksNumber(data) {
141 var weekNumbersLoader = findChild(calendar, "weekNumbersLoader"+calendar.currentIndex)
142 verify(weekNumbersLoader)
143
144 calendar.showWeekNumbers = data.visible
145 var weekNumbersColumn = findChild(weekNumbersLoader, "weekNumbersColumn"+calendar.currentIndex)
146 verify(data.visible ? weekNumbersColumn !== undefined : weekNumbersColumn === undefined)
147 }
148
149 function test_isToday() {
150 for (var i = 0; i < 7*6; ++i) {
151 var dayItem = findChild(calendar, "dayItem"+i)
152 verify(dayItem)
153 var todayMarkerLoader = findChild(dayItem, "todayMarkerLoader"+i)
154 verify(todayMarkerLoader)
155
156 compare(todayMarkerLoader.visible, dayItem.isToday)
157 compare(todayMarkerLoader.active, dayItem.isToday)
158 }
159 }
160
161 function test_moveToMonth_data() {
162 var tests = []
163
164 for (var i = 1; i <= 15; ++i) {
165 tests.push({tag: "previous "+i, delta: -i })
166 tests.push({tag: "next "+i, delta: i })
167 }
168
169 return tests
170 }
171
172 function test_moveToMonth(data) {
173 var expected = calendar.currentDate.addMonths(data.delta)
174 var now = new Date()
175
176 if (expected.getFullYear() != now.getFullYear() || expected.getMonth() != now.getMonth()) {
177 expected.setDate(1)
178 } else {
179 expected.setDate(now.getDate())
180 }
181
182 calendar.moveToMonth(data.delta)
183 compare(calendar.currentDate, expected)
128 }184 }
129 }185 }
130}186}
131187
=== modified file 'tests/qmltests/Menus/tst_CalendarMenu.qml'
--- tests/qmltests/Menus/tst_CalendarMenu.qml 2016-09-07 09:14:24 +0000
+++ tests/qmltests/Menus/tst_CalendarMenu.qml 2016-11-15 18:02:52 +0000
@@ -56,9 +56,16 @@
5656
57 property var calendar: findChild(calendarMenu, "calendar")57 property var calendar: findChild(calendarMenu, "calendar")
5858
59 function test_collapsed() {59 function test_interactive_data() {
60 calendarMenu.collapsed = true60 return [
61 compare(calendar.collapsed, true, "Cannot set collapsed")61 {tag: "pointer", pointer: true, expected: false },
62 {tag: "touch", pointer: false, expected: true }
63 ]
64 }
65
66 function test_interactive(data) {
67 calendarMenu.pointerMode = data.pointer
68 compare(calendar.interactive, data.expected, "Cannot use interactive")
62 }69 }
6370
64 function test_currentDate() {71 function test_currentDate() {
@@ -71,16 +78,6 @@
71 compare(calendar.firstDayOfWeek, 5, "Cannot set firstDayOfWeek")78 compare(calendar.firstDayOfWeek, 5, "Cannot set firstDayOfWeek")
72 }79 }
7380
74 function test_maximumDate() {
75 calendarMenu.maximumDate = date3
76 compare(calendar.maximumDate, date3, "Cannot set maximumDate")
77 }
78
79 function test_minimumDate() {
80 calendar.minimumDate = date1
81 compare(calendar.minimumDate, date1, "Cannot set minimumDate")
82 }
83
84 function test_selectedDate() {81 function test_selectedDate() {
85 calendar.selectedDate = date282 calendar.selectedDate = date2
86 compare(calendar.selectedDate, date2, "Cannot set selectedDate")83 compare(calendar.selectedDate, date2, "Cannot set selectedDate")
@@ -92,5 +89,40 @@
92 calendar.selectedDate = calendar.selectedDate.addDays(1);89 calendar.selectedDate = calendar.selectedDate.addDays(1);
93 compare(calendar.selectedDate, date5, "The next day after 2016-10-30 is not 2016-10-31");90 compare(calendar.selectedDate, date5, "The next day after 2016-10-30 is not 2016-10-31");
94 }91 }
92
93 function test_SwitchMonth_data() {
94 var tests = []
95
96 for (var i = 1; i <= 15; ++i) {
97 tests.push({tag: "previous "+i, buttonName: "goPreviousMonth", delta: -i })
98 tests.push({tag: "next "+i, buttonName: "goNextMonth", delta: i })
99 }
100
101 return tests
102 }
103
104 function test_SwitchMonth(data) {
105 var button = findChild(calendarMenu, data.buttonName);
106 var monthLayout = findChild(calendarMenu, "monthLayout")
107 verify(button)
108 verify(monthLayout)
109
110 var expected = calendar.currentDate.addMonths(data.delta)
111 var now = new Date()
112
113 if (expected.getFullYear() != now.getFullYear() || expected.getMonth() != now.getMonth()) {
114 expected.setDate(1)
115 } else {
116 expected.setDate(now.getDate())
117 }
118
119 for (var i = 0; i < Math.abs(data.delta); ++i)
120 mouseClick(button, button.width / 2, button.height / 2)
121
122 compare(calendar.currentDate, expected)
123 compare(monthLayout.title.text, i18n.ctr("%1=month name, %2=4-digit year", "%1 %2")
124 .arg(Qt.locale().standaloneMonthName(expected.getMonth(), Locale.LongFormat))
125 .arg(expected.getFullYear()))
126 }
95 }127 }
96}128}

Subscribers

People subscribed via source and target branches