Merge lp:~lukas-kde/unity8/fix-window-buttons-touch into lp:unity8

Proposed by Lukáš Tinkl
Status: Merged
Approved by: Albert Astals Cid
Approved revision: 2857
Merged at revision: 2863
Proposed branch: lp:~lukas-kde/unity8/fix-window-buttons-touch
Merge into: lp:unity8
Prerequisite: lp:~aacid/unity8/create_less_components
Diff against target: 369 lines (+100/-46)
9 files modified
qml/ApplicationMenus/MenuBar.qml (+35/-11)
qml/Components/WindowControlButtons.qml (+0/-21)
qml/Panel/Panel.qml (+2/-0)
qml/Stage/DecoratedWindow.qml (+3/-0)
qml/Stage/MoveHandler.qml (+4/-0)
qml/Stage/WindowDecoration.qml (+12/-14)
tests/qmltests/ApplicationMenus/tst_MenuBar.qml (+2/-0)
tests/qmltests/Stage/tst_DesktopStage.qml (+18/-0)
tests/qmltests/tst_Shell.qml (+24/-0)
To merge this branch: bzr merge lp:~lukas-kde/unity8/fix-window-buttons-touch
Reviewer Review Type Date Requested Status
Unity8 CI Bot continuous-integration Approve
Albert Astals Cid (community) Approve
Review via email: mp+318850@code.launchpad.net

This proposal supersedes a proposal from 2017-02-26.

Commit message

Fix being unable to use window control buttons or menus with touch

Description of the change

Fix being unable to use window control buttons or menus with touch and incorrect grabbing of the decoration.

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

Yes, prereq

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

N/A

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

FAILED: Continuous integration, rev:2839
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3215/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4219
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2492
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2492
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4247
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4082/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote : Posted in a previous version of this proposal

Added a regression test (+ fixed the other 2 failing)

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

FAILED: Continuous integration, rev:2840
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3216/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4220
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2493
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2493
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4248
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4083
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4083/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4083
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4083/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4083
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4083/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4083
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4083/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4083
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4083/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4083
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4083/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3216/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

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

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3219/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:2842
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3222/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4226
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2499
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2499
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4254
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4089
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4089/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4089
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4089/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4089
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4089/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4089
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4089/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4089
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4089/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4089
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4089/artifact/output/*zip*/output.zip

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

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

FAILED: Continuous integration, rev:2843
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3229/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4237
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2510
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2510
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4265
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4100
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4100/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4100
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4100/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4100
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4100/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4100
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4100/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4100
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4100/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4100
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4100/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3229/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

FAILED: Continuous integration, rev:2844
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3232/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4240
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2514
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2514
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4268
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4103
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4103/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4103
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4103/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4103
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4103/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4103
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4103/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4103
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4103/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4103
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4103/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3232/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

FAILED: Continuous integration, rev:2847
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3235/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4244
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2515
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2515
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4272
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4107/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4107
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4107/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3235/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

FAILED: Continuous integration, rev:2849
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3237/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4246
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2519
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2519
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4274
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4109
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4109/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4109
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4109/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4109
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4109/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4109
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4109/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4109
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4109/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4109
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4109/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3237/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:2850
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3243/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4259
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2531
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2531
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4287
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4122
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4122/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4122
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4122/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4122
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4122/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4122
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4122/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4122
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4122/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4122
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4122/artifact/output/*zip*/output.zip

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

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

FAILED: Continuous integration, rev:2851
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3261/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4289
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2555
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2555
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4317
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4151
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4151/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4151
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4151/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4151
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4151/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4151
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4151/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4151
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4151/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4151
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4151/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3261/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

FAILED: Continuous integration, rev:2852
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3263/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4292
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2558
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2558
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4320
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4154
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4154/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4154
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4154/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4154
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4154/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4154
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4154/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4154
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4154/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4154
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4154/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3263/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

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

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3264/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:2854
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3265/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4294
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2560
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2560
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4322
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4156/artifact/output/*zip*/output.zip

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

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

PASSED: Continuous integration, rev:2855
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3268/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4297
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2562
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2562
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4325
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4159
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4159/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4159
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4159/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4159
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4159/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4159
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4159/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4159
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4159/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4159
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4159/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Albert Astals Cid (aacid) wrote :

Looks good :)

Some minor things

Why did you remove
   menuBackend.modelData = appMenuData.generateTestData(5,5,2,3, "menu")
from init() in the test?

Are the compare -> tryCompare still needed now that we don't have a timer anymore?

Can
  readonly property bool moving: priv.moving
be an alias?

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

> Looks good :)
>
> Some minor things
>
> Why did you remove
> menuBackend.modelData = appMenuData.generateTestData(5,5,2,3, "menu")
> from init() in the test?

It's in every method anyway

> Are the compare -> tryCompare still needed now that we don't have a timer
> anymore?

OK, fixed

> Can
> readonly property bool moving: priv.moving
> be an alias?

Nope, it doesn't work due to the "priv" declaration:

property QtObject priv: QtObject {}

2856. By Lukáš Tinkl

revert now unneeded test change

2857. By Lukáš Tinkl

revert even more

Revision history for this message
Albert Astals Cid (aacid) wrote :

 * 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.
Let's give those last minute changes a chance to run and i'll top approve

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

PASSED: Continuous integration, rev:2857
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/3271/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/4306
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2569
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2569
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/4334
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4169
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/4169/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4169
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/4169/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4169
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/4169/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4169
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/4169/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4169
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/4169/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4169
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/4169/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'qml/ApplicationMenus/MenuBar.qml'
--- qml/ApplicationMenus/MenuBar.qml 2017-03-03 10:22:19 +0000
+++ qml/ApplicationMenus/MenuBar.qml 2017-03-03 10:22:19 +0000
@@ -28,11 +28,19 @@
28 property alias unityMenuModel: rowRepeater.model28 property alias unityMenuModel: rowRepeater.model
29 property bool enableKeyFilter: false29 property bool enableKeyFilter: false
30 property real overflowWidth: width30 property real overflowWidth: width
31 property bool windowMoving: false
3132
32 // read from outside33 // read from outside
33 readonly property bool valid: rowRepeater.count > 034 readonly property bool valid: rowRepeater.count > 0
34 readonly property bool showRequested: d.longAltPressed || d.currentItem != null35 readonly property bool showRequested: d.longAltPressed || d.currentItem != null
3536
37 // MoveHandler API for DecoratedWindow
38 signal pressed(var mouse)
39 signal pressedChangedEx(bool pressed, var pressedButtons, real mouseX, real mouseY)
40 signal positionChanged(var mouse)
41 signal released(var mouse)
42 signal doubleClicked(var mouse)
43
36 implicitWidth: row.width44 implicitWidth: row.width
37 height: parent.height45 height: parent.height
3846
@@ -77,7 +85,7 @@
77 anchors.fill: parent85 anchors.fill: parent
78 enabled: d.currentItem != null86 enabled: d.currentItem != null
79 hoverEnabled: enabled && d.currentItem && d.currentItem.__popup != null87 hoverEnabled: enabled && d.currentItem && d.currentItem.__popup != null
80 onPressed: d.dismissAll()88 onPressed: { mouse.accepted = false; d.dismissAll(); }
81 }89 }
8290
83 Row {91 Row {
@@ -218,26 +226,42 @@
218 } // Row226 } // Row
219227
220 MouseArea {228 MouseArea {
221 anchors.fill: row229 anchors.fill: parent
222 hoverEnabled: d.currentItem230 hoverEnabled: d.currentItem
223231
232 property bool moved: false
233
224 onEntered: {234 onEntered: {
225 if (d.currentItem) {235 if (d.currentItem) {
226 updateCurrentItemFromPosition(Qt.point(mouseX, mouseY))236 updateCurrentItemFromPosition(Qt.point(mouseX, mouseY))
227 }237 }
228 }238 }
229 onPositionChanged: {239
240 onClicked: {
241 if (!moved) {
242 var prevItem = d.currentItem;
243 updateCurrentItemFromPosition(Qt.point(mouseX, mouseY));
244 if (prevItem && d.currentItem == prevItem) {
245 prevItem.hide();
246 }
247 }
248 moved = false;
249 }
250
251 // for the MoveHandler
252 onPressed: root.pressed(mouse)
253 onPressedChanged: root.pressedChangedEx(pressed, pressedButtons, mouseX, mouseY)
254 onReleased: root.released(mouse)
255 onDoubleClicked: root.doubleClicked(mouse)
256
257 Mouse.ignoreSynthesizedEvents: true
258 Mouse.onPositionChanged: {
259 root.positionChanged(mouse);
260 moved = root.windowMoving;
230 if (d.currentItem) {261 if (d.currentItem) {
231 updateCurrentItemFromPosition(Qt.point(mouse.x, mouse.y))262 updateCurrentItemFromPosition(Qt.point(mouse.x, mouse.y))
232 }263 }
233 }264 }
234 onClicked: {
235 var prevItem = d.currentItem;
236 updateCurrentItemFromPosition(Qt.point(mouse.x, mouse.y))
237 if (prevItem && d.currentItem == prevItem) {
238 prevItem.hide();
239 }
240 }
241265
242 function updateCurrentItemFromPosition(point) {266 function updateCurrentItemFromPosition(point) {
243 var pos = mapToItem(row, point.x, point.y);267 var pos = mapToItem(row, point.x, point.y);
@@ -260,7 +284,7 @@
260 hoverEnabled: d.currentItem284 hoverEnabled: d.currentItem
261 onEntered: d.currentItem = this285 onEntered: d.currentItem = this
262 onPositionChanged: d.currentItem = this286 onPositionChanged: d.currentItem = this
263 onClicked: d.currentItem = this287 onPressed: d.currentItem = this
264288
265 property Item __popup: null;289 property Item __popup: null;
266 readonly property bool popupVisible: __popup && __popup.visible290 readonly property bool popupVisible: __popup && __popup.visible
267291
=== modified file 'qml/Components/WindowControlButtons.qml'
--- qml/Components/WindowControlButtons.qml 2017-01-26 11:10:01 +0000
+++ qml/Components/WindowControlButtons.qml 2017-03-03 10:22:19 +0000
@@ -47,13 +47,6 @@
47 onClicked: root.closeClicked()47 onClicked: root.closeClicked()
48 visible: root.closeButtonShown48 visible: root.closeButtonShown
4949
50 // We dont want touch events to fall through to parent,
51 // otherwise the containsMouse will not work.
52 MouseArea {
53 anchors.fill: parent
54 propagateComposedEvents: true
55 }
56
57 Rectangle {50 Rectangle {
58 anchors.fill: parent51 anchors.fill: parent
59 anchors.margins: windowIsMaximized ? units.dp(3) : 052 anchors.margins: windowIsMaximized ? units.dp(3) : 0
@@ -78,13 +71,6 @@
78 onClicked: root.minimizeClicked()71 onClicked: root.minimizeClicked()
79 visible: root.minimizeButtonVisible72 visible: root.minimizeButtonVisible
8073
81 // We dont want touch events to fall through to parent,
82 // otherwise the containsMouse will not work.
83 MouseArea {
84 anchors.fill: parent
85 propagateComposedEvents: true
86 }
87
88 Rectangle {74 Rectangle {
89 anchors.fill: parent75 anchors.fill: parent
90 anchors.margins: windowIsMaximized ? units.dp(3) : 076 anchors.margins: windowIsMaximized ? units.dp(3) : 0
@@ -118,13 +104,6 @@
118 }104 }
119 }105 }
120106
121 // We dont want touch events to fall through to parent,
122 // otherwise the containsMouse will not work.
123 MouseArea {
124 anchors.fill: parent
125 propagateComposedEvents: true
126 }
127
128 Rectangle {107 Rectangle {
129 anchors.fill: parent108 anchors.fill: parent
130 anchors.margins: windowIsMaximized ? units.dp(3) : 0109 anchors.margins: windowIsMaximized ? units.dp(3) : 0
131110
=== modified file 'qml/Panel/Panel.qml'
--- qml/Panel/Panel.qml 2017-02-07 14:10:41 +0000
+++ qml/Panel/Panel.qml 2017-03-03 10:22:19 +0000
@@ -231,6 +231,8 @@
231 target: __indicators231 target: __indicators
232 onShownChanged: bar.dismiss();232 onShownChanged: bar.dismiss();
233 }233 }
234
235 onDoubleClicked: PanelState.restoreClicked()
234 }236 }
235 }237 }
236 }238 }
237239
=== modified file 'qml/Stage/DecoratedWindow.qml'
--- qml/Stage/DecoratedWindow.qml 2017-01-26 11:10:01 +0000
+++ qml/Stage/DecoratedWindow.qml 2017-03-03 10:22:19 +0000
@@ -204,12 +204,14 @@
204 height: units.gu(3)204 height: units.gu(3)
205205
206 title: applicationWindow.title206 title: applicationWindow.title
207 windowMoving: moveHandler.moving && !altDragHandler.dragging
207208
208 opacity: root.hasDecoration ? Math.min(1, root.showDecoration) : 0209 opacity: root.hasDecoration ? Math.min(1, root.showDecoration) : 0
209 Behavior on opacity { UbuntuNumberAnimation { } }210 Behavior on opacity { UbuntuNumberAnimation { } }
210211
211 onPressed: root.decorationPressed();212 onPressed: root.decorationPressed();
212 onPressedChanged: moveHandler.handlePressedChanged(pressed, pressedButtons, mouseX, mouseY)213 onPressedChanged: moveHandler.handlePressedChanged(pressed, pressedButtons, mouseX, mouseY)
214 onPressedChangedEx: moveHandler.handlePressedChanged(pressed, pressedButtons, mouseX, mouseY)
213 onPositionChanged: moveHandler.handlePositionChanged(mouse)215 onPositionChanged: moveHandler.handlePositionChanged(mouse)
214 onReleased: {216 onReleased: {
215 root.decorationReleased();217 root.decorationReleased();
@@ -255,6 +257,7 @@
255 }257 }
256258
257 MouseArea {259 MouseArea {
260 id: altDragHandler
258 anchors.fill: applicationWindow261 anchors.fill: applicationWindow
259 acceptedButtons: Qt.LeftButton262 acceptedButtons: Qt.LeftButton
260 property bool dragging: false263 property bool dragging: false
261264
=== modified file 'qml/Stage/MoveHandler.qml'
--- qml/Stage/MoveHandler.qml 2017-01-26 11:10:01 +0000
+++ qml/Stage/MoveHandler.qml 2017-03-03 10:22:19 +0000
@@ -29,6 +29,7 @@
29 property real boundsTopMargin: 029 property real boundsTopMargin: 0
3030
31 readonly property bool dragging: priv.dragging31 readonly property bool dragging: priv.dragging
32 readonly property bool moving: priv.moving
3233
33 signal fakeMaximizeAnimationRequested(real amount)34 signal fakeMaximizeAnimationRequested(real amount)
34 signal fakeMaximizeLeftAnimationRequested(real amount)35 signal fakeMaximizeLeftAnimationRequested(real amount)
@@ -43,6 +44,7 @@
43 property real distanceX44 property real distanceX
44 property real distanceY45 property real distanceY
45 property bool dragging46 property bool dragging
47 property bool moving
4648
47 readonly property int triggerArea: units.gu(8)49 readonly property int triggerArea: units.gu(8)
48 property bool nearLeftEdge: target.maximizedLeft50 property bool nearLeftEdge: target.maximizedLeft
@@ -110,6 +112,7 @@
110112
111 function handlePositionChanged(mouse, sensingPoints) {113 function handlePositionChanged(mouse, sensingPoints) {
112 if (priv.dragging) {114 if (priv.dragging) {
115 priv.moving = true;
113 priv.mouseDownTimer.stop();116 priv.mouseDownTimer.stop();
114 Mir.cursorName = "grabbing";117 Mir.cursorName = "grabbing";
115118
@@ -180,6 +183,7 @@
180 }183 }
181184
182 function handleReleased(touchMode) {185 function handleReleased(touchMode) {
186 priv.moving = false;
183 if (touchMode) {187 if (touchMode) {
184 priv.progress = 0;188 priv.progress = 0;
185 priv.resetEdges();189 priv.resetEdges();
186190
=== modified file 'qml/Stage/WindowDecoration.qml'
--- qml/Stage/WindowDecoration.qml 2017-01-26 11:10:01 +0000
+++ qml/Stage/WindowDecoration.qml 2017-03-03 10:22:19 +0000
@@ -33,23 +33,21 @@
33 property alias overlayShown: buttons.overlayShown33 property alias overlayShown: buttons.overlayShown
34 property var menu: undefined34 property var menu: undefined
35 property bool enableMenus: true35 property bool enableMenus: true
36 property bool windowMoving: false
3637
37 readonly property real buttonsWidth: buttons.width + row.spacing38 readonly property real buttonsWidth: buttons.width + row.spacing
3839
39 acceptedButtons: Qt.AllButtons // prevent leaking unhandled mouse events40 acceptedButtons: Qt.AllButtons // prevent leaking unhandled mouse events
40 hoverEnabled: true41 hoverEnabled: true
4142
42 drag.target: Item {}
43 drag.filterChildren: true
44 drag.threshold: 0
45
46 signal closeClicked()43 signal closeClicked()
47 signal minimizeClicked()44 signal minimizeClicked()
48 signal maximizeClicked()45 signal maximizeClicked()
49 signal maximizeHorizontallyClicked()46 signal maximizeHorizontallyClicked()
50 signal maximizeVerticallyClicked()47 signal maximizeVerticallyClicked()
5148
52 onClicked: mouse.accepted = true // propogated event49 signal pressedChangedEx(bool pressed, var pressedButtons, real mouseX, real mouseY)
50
53 onDoubleClicked: {51 onDoubleClicked: {
54 if (mouse.button == Qt.LeftButton) {52 if (mouse.button == Qt.LeftButton) {
55 root.maximizeClicked();53 root.maximizeClicked();
@@ -69,13 +67,6 @@
69 (menuBar.showRequested || root.containsMouse)67 (menuBar.showRequested || root.containsMouse)
70 }68 }
7169
72 // We dont want touch events to fall through to parent as it expect some child MouseArea to have them
73 // If not some MouseArea in the menu bar, it will be this one.
74 MouseArea {
75 anchors.fill: parent
76 propagateComposedEvents: true
77 }
78
79 Rectangle {70 Rectangle {
80 id: background71 id: background
81 anchors.fill: parent72 anchors.fill: parent
@@ -136,7 +127,7 @@
136 fontSize: "medium"127 fontSize: "medium"
137 font.weight: root.active ? Font.Light : Font.Medium128 font.weight: root.active ? Font.Light : Font.Medium
138 elide: Text.ElideRight129 elide: Text.ElideRight
139 opacity: overlayShown || priv.shouldShowMenus ? 0 : 1130 opacity: overlayShown || menuBarLoader.visible ? 0 : 1
140 visible: opacity != 0131 visible: opacity != 0
141 Behavior on opacity { UbuntuNumberAnimation {} }132 Behavior on opacity { UbuntuNumberAnimation {} }
142 }133 }
@@ -154,9 +145,16 @@
154 height: menuBarLoader.height145 height: menuBarLoader.height
155 enableKeyFilter: valid && root.active && root.enableMenus146 enableKeyFilter: valid && root.active && root.enableMenus
156 unityMenuModel: root.menu147 unityMenuModel: root.menu
148 windowMoving: root.windowMoving
149
150 onPressed: root.onPressed(mouse)
151 onPressedChangedEx: root.pressedChangedEx(pressed, pressedButtons, mouseX, mouseY)
152 onPositionChanged: root.onPositionChanged(mouse)
153 onReleased: root.onReleased(mouse)
154 onDoubleClicked: root.onDoubleClicked(mouse)
157 }155 }
158156
159 opacity: !overlayShown && priv.shouldShowMenus ? 1 : 0157 opacity: (!overlayShown && priv.shouldShowMenus) || (active && priv.menuBar.valid && root.windowMoving) ? 1 : 0
160 visible: opacity == 1158 visible: opacity == 1
161 Behavior on opacity { UbuntuNumberAnimation {} }159 Behavior on opacity { UbuntuNumberAnimation {} }
162 }160 }
163161
=== modified file 'tests/qmltests/ApplicationMenus/tst_MenuBar.qml'
--- tests/qmltests/ApplicationMenus/tst_MenuBar.qml 2017-03-03 10:22:19 +0000
+++ tests/qmltests/ApplicationMenus/tst_MenuBar.qml 2017-03-03 10:22:19 +0000
@@ -98,6 +98,7 @@
98 var menuItem2 = findChild(menuBar, "menuBar-item2"); verify(menuItem2);98 var menuItem2 = findChild(menuBar, "menuBar-item2"); verify(menuItem2);
9999
100 menuItem0.show();100 menuItem0.show();
101 mouseMove(menuItem0, menuItem0.width/2, menuItem0.height/2);
101 compare(priv.currentItem, menuItem0, "CurrentItem should be set to item 0");102 compare(priv.currentItem, menuItem0, "CurrentItem should be set to item 0");
102 compare(priv.currentItem.popupVisible, true, "Popup should be visible");103 compare(priv.currentItem.popupVisible, true, "Popup should be visible");
103104
@@ -179,6 +180,7 @@
179180
180 keyPress(data.tag, Qt.AltModifier, 100);181 keyPress(data.tag, Qt.AltModifier, 100);
181 tryCompare(priv, "currentItem", menuItem);182 tryCompare(priv, "currentItem", menuItem);
183 keyRelease(data.tag, Qt.AltModifier, 100);
182 }184 }
183185
184 function test_menuActivateClosesMenu() {186 function test_menuActivateClosesMenu() {
185187
=== modified file 'tests/qmltests/Stage/tst_DesktopStage.qml'
--- tests/qmltests/Stage/tst_DesktopStage.qml 2017-02-16 13:43:56 +0000
+++ tests/qmltests/Stage/tst_DesktopStage.qml 2017-03-03 10:22:19 +0000
@@ -1013,5 +1013,23 @@
1013 expectFail("", "Hovering the window controls should be ignored when the menu is open");1013 expectFail("", "Hovering the window controls should be ignored when the menu is open");
1014 tryCompare(closeButton, "containsMouse", true);1014 tryCompare(closeButton, "containsMouse", true);
1015 }1015 }
1016
1017 function test_windowControlsTouchInteractionWithMenu() {
1018 var appDelegate = startApplication("gmail-webapp");
1019
1020 var wd = findChild(appDelegate, "appWindowDecoration");
1021 var maxButton = findChild(wd, "maximizeWindowButton");
1022 var menuBarLoader = findChild(wd, "menuBarLoader");
1023 var menuNav = findInvisibleChild(menuBarLoader, "d");
1024
1025 // make the menubar active and visible, select first item
1026 menuBarLoader.active = true;
1027 menuNav.select(0);
1028 tryCompare(menuBarLoader.item, "visible", true);
1029
1030 // verify the maximized button can still be tapped
1031 tap(maxButton);
1032 tryCompare(appDelegate, "state", "maximized");
1033 }
1016 }1034 }
1017}1035}
10181036
=== modified file 'tests/qmltests/tst_Shell.qml'
--- tests/qmltests/tst_Shell.qml 2017-02-16 13:46:11 +0000
+++ tests/qmltests/tst_Shell.qml 2017-03-03 10:22:19 +0000
@@ -2910,5 +2910,29 @@
2910 tryCompare(topLevelSurfaceList.focusedWindow, "surface", appDelegate.surface);2910 tryCompare(topLevelSurfaceList.focusedWindow, "surface", appDelegate.surface);
2911 tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app");2911 tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app");
2912 }2912 }
2913
2914 function test_doubleClickPanelRestoresWindow() {
2915 loadShell("desktop");
2916 shell.usageScenario = "desktop";
2917 waitForRendering(shell);
2918 swipeAwayGreeter();
2919
2920 // start dialer
2921 var appDelegate = startApplication("dialer-app")
2922 verify(appDelegate);
2923 tryCompare(appDelegate, "state", "normal");
2924
2925 // maximize dialer
2926 var decoration = findChild(appDelegate, "appWindowDecoration");
2927 verify(decoration);
2928 mouseDoubleClickSequence(decoration);
2929 tryCompare(appDelegate, "state", "maximized");
2930
2931 // double click the panel
2932 var panel = findChild(shell, "panel");
2933 verify(panel);
2934 mouseDoubleClickSequence(panel, panel.width/2, PanelState.panelHeight/2, Qt.LeftButton, Qt.NoModifier, 300);
2935 tryCompare(appDelegate, "state", "restored");
2936 }
2913 }2937 }
2914}2938}

Subscribers

People subscribed via source and target branches