Merge lp:~unity-team/unity8/launcher-tooltips into lp:unity8

Proposed by Michał Sawicz
Status: Merged
Approved by: Michał Sawicz
Approved revision: no longer in the source branch.
Merged at revision: 2718
Proposed branch: lp:~unity-team/unity8/launcher-tooltips
Merge into: lp:unity8
Diff against target: 341 lines (+243/-3)
5 files modified
debian/control (+2/-0)
qml/Launcher/LauncherDelegate.qml (+1/-0)
qml/Launcher/LauncherPanel.qml (+79/-3)
qml/Launcher/Tooltip.qml (+72/-0)
tests/qmltests/Launcher/tst_Launcher.qml (+89/-0)
To merge this branch: bzr merge lp:~unity-team/unity8/launcher-tooltips
Reviewer Review Type Date Requested Status
Unity8 CI Bot continuous-integration Needs Fixing
Michał Sawicz Approve
Michael Zanetti Pending
Albert Astals Cid Pending
Lukáš Tinkl Pending
Review via email: mp+312025@code.launchpad.net

This proposal supersedes a proposal from 2016-10-20.

Commit message

Implement launcher tooltips.

Description of the change

* Are there any related MPs required for this MP to build/function as expected?
Yes, lp:~azzar1/unity8/remove-UbuntuShapeForItem. But it has been merged in this branch and listed as a prerequiste.

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

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

 * If you changed the UI, has there been a design review?
Yes, alexm approved them

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

PASSED: Continuous integration, rev:2630
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2420/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3174
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1811
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1811
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1811
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3202
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3058
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3058/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3058
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3058/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/3058
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/3058/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3058
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3058/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3058
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3058/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/3058
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/3058/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3058
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3058/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3058
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3058/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/3058
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/3058/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal

Looks good :)

Some minor stuff

Please mark
 property var hoveredItem:
 property int itemCenter:
as readonly.

Since you changed a == to === i'll ask you to change tooltipShape.hoveredItem == null too, or if you don't want the really really really equal maybe use !tooltipShape.hoveredItem ?

review: Needs Fixing
Revision history for this message
Andrea Azzarone (azzar1) wrote : Posted in a previous version of this proposal

> Looks good :)
>
> Some minor stuff
>
> Please mark
> property var hoveredItem:
> property int itemCenter:
> as readonly.
>
> Since you changed a == to === i'll ask you to change tooltipShape.hoveredItem
> == null too, or if you don't want the really really really equal maybe use
> !tooltipShape.hoveredItem ?

Done.

Revision history for this message
Andrea Azzarone (azzar1) wrote : Posted in a previous version of this proposal

Please note tha there are extra lines in the diff due to the fact the prerequisite branch is not in sync with the unified stages (I cannot update it because it's already in the silo).

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:2632
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2437/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3191
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1824
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1824
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1824
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3219
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3075
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3075/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3075
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3075/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3075
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3075/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3075
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3075/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3075
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3075/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3075
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3075/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3075
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3075/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3075
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3075/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3075
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3075/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal

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

 * Did CI run pass? If not, please explain why.
No, there's Launcher tests failing but not related to this (i.e. Launcher has been known to be unstable in the init in the past and this doesn't touch the init)

review: Approve
Revision history for this message
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal

Text conflict in tests/qmltests/Launcher/tst_Launcher.qml
1 conflicts encountered.

Note: Was top approved already.

review: Needs Fixing
Revision history for this message
Andrea Azzarone (azzar1) wrote : Posted in a previous version of this proposal

> Text conflict in tests/qmltests/Launcher/tst_Launcher.qml
> 1 conflicts encountered.
>
> Note: Was top approved already.

Done.

Revision history for this message
Michael Zanetti (mzanetti) wrote : Posted in a previous version of this proposal

ok, re-approving after merge

review: Approve
Revision history for this message
Albert Astals Cid (aacid) : Posted in a previous version of this proposal
review: Abstain
Revision history for this message
Michał Sawicz (saviq) wrote : Posted in a previous version of this proposal

tests/qmltests/Launcher/tst_Launcher.qml:1482:1: Expected token `}'

review: Needs Fixing
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:2633
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2559/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3370
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1933
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1933
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1933
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3398
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3249
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3249/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3249
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3249/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3249
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3249/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3249
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3249/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3249
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3249/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3249
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3249/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3249
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3249/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3249
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3249/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3249
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3249/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

PASSED: Continuous integration, rev:2634
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2565/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3377
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1940
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1940
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1940
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3405
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3256
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3256/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3256
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3256/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3256
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3256/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3256
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3256/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3256
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3256/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3256
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3256/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3256
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3256/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3256
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3256/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3256
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3256/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Michael Zanetti (mzanetti) wrote : Posted in a previous version of this proposal

wheee! ci is green now :)

review: Approve
Revision history for this message
Michał Sawicz (saviq) wrote :

Approving as per lp:~azzar1/unity8/launcher-tooltips - only change is the added unity8:Depends on qml-module-qtqml-statemachine

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

FAILED: Continuous integration, rev:2635
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2590/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3407
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1960
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1960
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1960
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3435
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3286
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3286/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3286
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3286/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3286
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3286/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3286
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3286/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3286
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3286/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3286
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3286/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3286
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3286/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3286
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3286/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3286
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3286/artifact/output/*zip*/output.zip

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

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

FAILED: Continuous integration, rev:2635
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2593/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/3411/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3439
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3290
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3290/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3290
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3290/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3290
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3290/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3290
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3290/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3290
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3290/artifact/output/*zip*/output.zip

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

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

FAILED: Continuous integration, rev:2635
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2598/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3419
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1964
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1964
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3447
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3295
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3295/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3295
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3295/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3295
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3295/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3295
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3295/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3295
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3295/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3295
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3295/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/control'
2--- debian/control 2016-11-16 10:44:00 +0000
3+++ debian/control 2016-11-29 09:41:51 +0000
4@@ -49,6 +49,7 @@
5 python3-all:any,
6 python3-setuptools,
7 qml-module-qt-labs-folderlistmodel,
8+ qml-module-qtqml-statemachine,
9 qml-module-qtmultimedia (>= 5.4.1-1ubuntu19~overlay2),
10 qml-module-qtquick-layouts,
11 qml-module-qtquick-xmllistmodel,
12@@ -121,6 +122,7 @@
13 qmenumodel-qml (>= 0.2.10),
14 qml-module-biometryd,
15 qml-module-qt-labs-folderlistmodel,
16+ qml-module-qtqml-statemachine,
17 qml-module-qtquick-xmllistmodel,
18 qml-module-qtsysteminfo,
19 qml-module-ubuntu-web,
20
21=== modified file 'qml/Launcher/LauncherDelegate.qml'
22--- qml/Launcher/LauncherDelegate.qml 2016-06-03 11:13:46 +0000
23+++ qml/Launcher/LauncherDelegate.qml 2016-11-29 09:41:51 +0000
24@@ -22,6 +22,7 @@
25
26 property int itemIndex: 0
27 property string iconName
28+ property string name
29 property int count: 0
30 property bool countVisible: false
31 property int progress: -1
32
33=== modified file 'qml/Launcher/LauncherPanel.qml'
34--- qml/Launcher/LauncherPanel.qml 2016-11-09 15:02:55 +0000
35+++ qml/Launcher/LauncherPanel.qml 2016-11-29 09:41:51 +0000
36@@ -15,6 +15,7 @@
37 */
38
39 import QtQuick 2.4
40+import QtQml.StateMachine 1.0 as DSM
41 import Ubuntu.Components 1.3
42 import Unity.Launcher 0.1
43 import Ubuntu.Components.Popups 1.3
44@@ -31,7 +32,7 @@
45 property bool dragging: false
46 property bool moving: launcherListView.moving || launcherListView.flicking
47 property bool preventHiding: moving || dndArea.draggedIndex >= 0 || quickList.state === "open" || dndArea.pressed
48- || mouseEventEater.containsMouse || dashItem.hovered
49+ || dndArea.containsMouse || dashItem.hovered
50 property int highlightIndex: -2
51 property bool shortcutHintsShown: false
52
53@@ -40,7 +41,7 @@
54 signal kbdNavigationCancelled()
55
56 onXChanged: {
57- if (quickList.state == "open") {
58+ if (quickList.state === "open") {
59 quickList.state = ""
60 }
61 }
62@@ -69,7 +70,6 @@
63 id: mouseEventEater
64 anchors.fill: parent
65 acceptedButtons: Qt.AllButtons
66- hoverEnabled: true
67 onWheel: wheel.accepted = true;
68 }
69
70@@ -225,6 +225,7 @@
71 // the right app when running autopilot tests for
72 // multiple apps.
73 readonly property string appId: model.appId
74+ name: model.name
75 itemIndex: index
76 itemHeight: launcherListView.itemHeight
77 itemWidth: launcherListView.itemWidth
78@@ -399,6 +400,7 @@
79 id: dndArea
80 objectName: "dndArea"
81 acceptedButtons: Qt.LeftButton | Qt.RightButton
82+ hoverEnabled: true
83 anchors {
84 fill: parent
85 topMargin: launcherListView.topMargin
86@@ -828,4 +830,78 @@
87 }
88 }
89 }
90+
91+ Tooltip {
92+ id: tooltipShape
93+ objectName: "tooltipShape"
94+
95+ visible: tooltipShownState.active
96+ rotation: root.rotation
97+ y: itemCenter - (height / 2)
98+
99+ anchors {
100+ left: root.inverted ? undefined : parent.right
101+ right: root.inverted ? parent.left : undefined
102+ margins: units.gu(1)
103+ }
104+
105+ readonly property var hoveredItem: dndArea.containsMouse ? launcherListView.itemAt(dndArea.mouseX, dndArea.mouseY + launcherListView.realContentY) : null
106+ readonly property int itemCenter: !hoveredItem ? 0 : root.mapFromItem(hoveredItem, 0, 0).y + (hoveredItem.height / 2) + hoveredItem.offset
107+
108+ text: !hoveredItem ? "" : hoveredItem.name
109+ }
110+
111+ DSM.StateMachine {
112+ id: tooltipStateMachine
113+ initialState: tooltipHiddenState
114+ running: true
115+
116+ DSM.State {
117+ id: tooltipHiddenState
118+
119+ DSM.SignalTransition {
120+ targetState: tooltipShownState
121+ signal: tooltipShape.hoveredItemChanged
122+ // !dndArea.pressed allows us to filter out touch input events
123+ guard: tooltipShape.hoveredItem !== null && !dndArea.pressed && !root.moving
124+ }
125+ }
126+
127+ DSM.State {
128+ id: tooltipShownState
129+
130+ DSM.SignalTransition {
131+ targetState: tooltipHiddenState
132+ signal: tooltipShape.hoveredItemChanged
133+ guard: tooltipShape.hoveredItem === null
134+ }
135+
136+ DSM.SignalTransition {
137+ targetState: tooltipDismissedState
138+ signal: dndArea.onPressed
139+ }
140+
141+ DSM.SignalTransition {
142+ targetState: tooltipDismissedState
143+ signal: quickList.stateChanged
144+ guard: quickList.state === "open"
145+ }
146+ }
147+
148+ DSM.State {
149+ id: tooltipDismissedState
150+
151+ DSM.SignalTransition {
152+ targetState: tooltipHiddenState
153+ signal: dndArea.positionChanged
154+ guard: quickList.state != "open" && !dndArea.pressed && !dndArea.moving
155+ }
156+
157+ DSM.SignalTransition {
158+ targetState: tooltipHiddenState
159+ signal: dndArea.exited
160+ guard: quickList.state != "open"
161+ }
162+ }
163+ }
164 }
165
166=== added file 'qml/Launcher/Tooltip.qml'
167--- qml/Launcher/Tooltip.qml 1970-01-01 00:00:00 +0000
168+++ qml/Launcher/Tooltip.qml 2016-11-29 09:41:51 +0000
169@@ -0,0 +1,72 @@
170+/*
171+ * Copyright (C) 2016 Canonical, Ltd.
172+ *
173+ * This program is free software; you can redistribute it and/or modify
174+ * it under the terms of the GNU General Public License as published by
175+ * the Free Software Foundation; version 3.
176+ *
177+ * This program is distributed in the hope that it will be useful,
178+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
179+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
180+ * GNU General Public License for more details.
181+ *
182+ * You should have received a copy of the GNU General Public License
183+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
184+ */
185+
186+import QtQuick 2.4
187+import Ubuntu.Components 1.3
188+
189+UbuntuShape {
190+ id: root
191+
192+ // This property holds the delay (milliseconds) after which the tool tip is shown.
193+ // A tooltip with a negative delay is shown immediately. The default value is 500 ms.
194+ property int delay: 500
195+
196+ // This property holds the text shown on the tool tip.
197+ property alias text: label.text
198+
199+ aspect: UbuntuShape.Flat
200+ color: theme.palette.normal.background
201+ width: label.implicitWidth + units.gu(4)
202+ height: label.implicitHeight + units.gu(2)
203+ opacity: 0
204+
205+ Image {
206+ anchors {
207+ right: parent.left
208+ rightMargin: -units.dp(4)
209+ verticalCenter: parent.verticalCenter
210+ }
211+ source: "graphics/quicklist_tooltip.png"
212+ rotation: 90
213+ }
214+
215+ Label {
216+ id: label
217+ anchors.centerIn: parent
218+ color: theme.palette.normal.backgroundText
219+ }
220+
221+ states: [
222+ State {
223+ name: "visible"
224+ when: root.visible
225+ PropertyChanges {
226+ target: root
227+ opacity: 0.95
228+ }
229+ }
230+ ]
231+
232+ transitions: [
233+ Transition {
234+ from: ""; to: "visible"
235+ SequentialAnimation {
236+ PauseAnimation { duration: root.delay }
237+ UbuntuNumberAnimation { target: root; property: "opacity"; duration: UbuntuAnimation.BriskDuration }
238+ }
239+ }
240+ ]
241+}
242\ No newline at end of file
243
244=== modified file 'tests/qmltests/Launcher/tst_Launcher.qml'
245--- tests/qmltests/Launcher/tst_Launcher.qml 2016-11-16 10:44:13 +0000
246+++ tests/qmltests/Launcher/tst_Launcher.qml 2016-11-29 09:41:51 +0000
247@@ -1369,6 +1369,95 @@
248 tryCompare(clickThroughSpy, "count", 0);
249 }
250
251+ function test_tooltip() {
252+ launcher.lockedVisible = true;
253+ revealByEdgePush();
254+
255+ var item = findChild(launcher, "launcherDelegate0");
256+ var tooltipShape = findChild(launcher, "tooltipShape");
257+
258+ // Initial state
259+ tryCompare(tooltipShape, "visible", false);
260+ tryCompare(tooltipShape, "opacity", .0);
261+
262+ // Move the mouse on the launcher icon
263+ mouseMove(item, item.width / 2, item.height / 2, 10);
264+ mouseMove(item, item.width / 2 + 1, item.height / 2, 10);
265+ tryCompare(tooltipShape, "visible", true);
266+ tryCompare(tooltipShape, "opacity", .95);
267+
268+ // Move the mouse away
269+ mouseMove(root, root.width, root.height / 2, 10);
270+ tryCompare(tooltipShape, "visible", false);
271+ tryCompare(tooltipShape, "opacity", .0);
272+ }
273+
274+ function test_quicklist_dismisses_tooltip() {
275+ launcher.lockedVisible = true;
276+ revealByEdgePush();
277+
278+ var item = findChild(launcher, "launcherDelegate0");
279+ var tooltipShape = findChild(launcher, "tooltipShape");
280+ var quickListShape = findChild(launcher, "quickListShape");
281+
282+ // Initial state
283+ tryCompare(tooltipShape, "visible", false);
284+ tryCompare(tooltipShape, "opacity", .0);
285+
286+ // Move the mouse on the launcher icon
287+ mouseMove(item, item.width / 2, item.height / 2, 10);
288+ mouseMove(item, item.width / 2 + 1, item.height / 2, 10);
289+ tryCompare(tooltipShape, "visible", true);
290+ tryCompare(tooltipShape, "opacity", .95);
291+
292+ // Right click to show the quicklist
293+ mouseClick(item, item.width / 2, item.height / 2, Qt.RightButton);
294+ tryCompare(quickListShape, "visible", true);
295+ tryCompare(tooltipShape, "visible", false);
296+ tryCompare(tooltipShape, "opacity", .0);
297+
298+ // Left click hides the quicklist, tooltip is still dismissed
299+ mouseClick(item, item.width / 2, item.height / 2, Qt.LefftButton);
300+ tryCompare(quickListShape, "visible", false);
301+ tryCompare(tooltipShape, "visible", false);
302+ tryCompare(tooltipShape, "opacity", .0);
303+
304+ // Mouse motion should should show tooltip again
305+ mouseMove(item, item.width / 2, item.height / 2, 10);
306+ mouseMove(item, item.width / 2 + 1, item.height / 2, 10);
307+ tryCompare(tooltipShape, "visible", true);
308+ tryCompare(tooltipShape, "opacity", .95);
309+ }
310+
311+ function test_click_dismisses_tooltip() {
312+ launcher.lockedVisible = true;
313+ revealByEdgePush();
314+
315+ var item = findChild(launcher, "launcherDelegate0");
316+ var tooltipShape = findChild(launcher, "tooltipShape");
317+
318+ // Initial state
319+ tryCompare(tooltipShape, "visible", false);
320+ tryCompare(tooltipShape, "opacity", .0);
321+
322+ // Move the mouse on the launcher icon
323+ mouseMove(item, item.width / 2, item.height / 2, 10);
324+ mouseMove(item, item.width / 2 + 1, item.height / 2, 10);
325+ tryCompare(tooltipShape, "visible", true);
326+ tryCompare(tooltipShape, "opacity", .95);
327+
328+ // Left click should dismiss the tooltip
329+ mouseClick(item, item.width / 2 + 1, item.height / 2, Qt.LeftButton);
330+ tryCompare(tooltipShape, "visible", false);
331+ tryCompare(tooltipShape, "opacity", .0);
332+
333+ // Mouse motion should should show tooltip again
334+ mouseMove(item, item.width / 2, item.height / 2, 10);
335+ mouseMove(item, item.width / 2 + 1, item.height / 2, 10);
336+ tryCompare(tooltipShape, "visible", true);
337+ tryCompare(tooltipShape, "opacity", .95);
338+ }
339+
340 function test_launcherEnabledSetting() {
341 launcher.available = true;
342

Subscribers

People subscribed via source and target branches