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
1=== modified file 'qml/ApplicationMenus/MenuBar.qml'
2--- qml/ApplicationMenus/MenuBar.qml 2017-03-03 10:22:19 +0000
3+++ qml/ApplicationMenus/MenuBar.qml 2017-03-03 10:22:19 +0000
4@@ -28,11 +28,19 @@
5 property alias unityMenuModel: rowRepeater.model
6 property bool enableKeyFilter: false
7 property real overflowWidth: width
8+ property bool windowMoving: false
9
10 // read from outside
11 readonly property bool valid: rowRepeater.count > 0
12 readonly property bool showRequested: d.longAltPressed || d.currentItem != null
13
14+ // MoveHandler API for DecoratedWindow
15+ signal pressed(var mouse)
16+ signal pressedChangedEx(bool pressed, var pressedButtons, real mouseX, real mouseY)
17+ signal positionChanged(var mouse)
18+ signal released(var mouse)
19+ signal doubleClicked(var mouse)
20+
21 implicitWidth: row.width
22 height: parent.height
23
24@@ -77,7 +85,7 @@
25 anchors.fill: parent
26 enabled: d.currentItem != null
27 hoverEnabled: enabled && d.currentItem && d.currentItem.__popup != null
28- onPressed: d.dismissAll()
29+ onPressed: { mouse.accepted = false; d.dismissAll(); }
30 }
31
32 Row {
33@@ -218,26 +226,42 @@
34 } // Row
35
36 MouseArea {
37- anchors.fill: row
38+ anchors.fill: parent
39 hoverEnabled: d.currentItem
40
41+ property bool moved: false
42+
43 onEntered: {
44 if (d.currentItem) {
45 updateCurrentItemFromPosition(Qt.point(mouseX, mouseY))
46 }
47 }
48- onPositionChanged: {
49+
50+ onClicked: {
51+ if (!moved) {
52+ var prevItem = d.currentItem;
53+ updateCurrentItemFromPosition(Qt.point(mouseX, mouseY));
54+ if (prevItem && d.currentItem == prevItem) {
55+ prevItem.hide();
56+ }
57+ }
58+ moved = false;
59+ }
60+
61+ // for the MoveHandler
62+ onPressed: root.pressed(mouse)
63+ onPressedChanged: root.pressedChangedEx(pressed, pressedButtons, mouseX, mouseY)
64+ onReleased: root.released(mouse)
65+ onDoubleClicked: root.doubleClicked(mouse)
66+
67+ Mouse.ignoreSynthesizedEvents: true
68+ Mouse.onPositionChanged: {
69+ root.positionChanged(mouse);
70+ moved = root.windowMoving;
71 if (d.currentItem) {
72 updateCurrentItemFromPosition(Qt.point(mouse.x, mouse.y))
73 }
74 }
75- onClicked: {
76- var prevItem = d.currentItem;
77- updateCurrentItemFromPosition(Qt.point(mouse.x, mouse.y))
78- if (prevItem && d.currentItem == prevItem) {
79- prevItem.hide();
80- }
81- }
82
83 function updateCurrentItemFromPosition(point) {
84 var pos = mapToItem(row, point.x, point.y);
85@@ -260,7 +284,7 @@
86 hoverEnabled: d.currentItem
87 onEntered: d.currentItem = this
88 onPositionChanged: d.currentItem = this
89- onClicked: d.currentItem = this
90+ onPressed: d.currentItem = this
91
92 property Item __popup: null;
93 readonly property bool popupVisible: __popup && __popup.visible
94
95=== modified file 'qml/Components/WindowControlButtons.qml'
96--- qml/Components/WindowControlButtons.qml 2017-01-26 11:10:01 +0000
97+++ qml/Components/WindowControlButtons.qml 2017-03-03 10:22:19 +0000
98@@ -47,13 +47,6 @@
99 onClicked: root.closeClicked()
100 visible: root.closeButtonShown
101
102- // We dont want touch events to fall through to parent,
103- // otherwise the containsMouse will not work.
104- MouseArea {
105- anchors.fill: parent
106- propagateComposedEvents: true
107- }
108-
109 Rectangle {
110 anchors.fill: parent
111 anchors.margins: windowIsMaximized ? units.dp(3) : 0
112@@ -78,13 +71,6 @@
113 onClicked: root.minimizeClicked()
114 visible: root.minimizeButtonVisible
115
116- // We dont want touch events to fall through to parent,
117- // otherwise the containsMouse will not work.
118- MouseArea {
119- anchors.fill: parent
120- propagateComposedEvents: true
121- }
122-
123 Rectangle {
124 anchors.fill: parent
125 anchors.margins: windowIsMaximized ? units.dp(3) : 0
126@@ -118,13 +104,6 @@
127 }
128 }
129
130- // We dont want touch events to fall through to parent,
131- // otherwise the containsMouse will not work.
132- MouseArea {
133- anchors.fill: parent
134- propagateComposedEvents: true
135- }
136-
137 Rectangle {
138 anchors.fill: parent
139 anchors.margins: windowIsMaximized ? units.dp(3) : 0
140
141=== modified file 'qml/Panel/Panel.qml'
142--- qml/Panel/Panel.qml 2017-02-07 14:10:41 +0000
143+++ qml/Panel/Panel.qml 2017-03-03 10:22:19 +0000
144@@ -231,6 +231,8 @@
145 target: __indicators
146 onShownChanged: bar.dismiss();
147 }
148+
149+ onDoubleClicked: PanelState.restoreClicked()
150 }
151 }
152 }
153
154=== modified file 'qml/Stage/DecoratedWindow.qml'
155--- qml/Stage/DecoratedWindow.qml 2017-01-26 11:10:01 +0000
156+++ qml/Stage/DecoratedWindow.qml 2017-03-03 10:22:19 +0000
157@@ -204,12 +204,14 @@
158 height: units.gu(3)
159
160 title: applicationWindow.title
161+ windowMoving: moveHandler.moving && !altDragHandler.dragging
162
163 opacity: root.hasDecoration ? Math.min(1, root.showDecoration) : 0
164 Behavior on opacity { UbuntuNumberAnimation { } }
165
166 onPressed: root.decorationPressed();
167 onPressedChanged: moveHandler.handlePressedChanged(pressed, pressedButtons, mouseX, mouseY)
168+ onPressedChangedEx: moveHandler.handlePressedChanged(pressed, pressedButtons, mouseX, mouseY)
169 onPositionChanged: moveHandler.handlePositionChanged(mouse)
170 onReleased: {
171 root.decorationReleased();
172@@ -255,6 +257,7 @@
173 }
174
175 MouseArea {
176+ id: altDragHandler
177 anchors.fill: applicationWindow
178 acceptedButtons: Qt.LeftButton
179 property bool dragging: false
180
181=== modified file 'qml/Stage/MoveHandler.qml'
182--- qml/Stage/MoveHandler.qml 2017-01-26 11:10:01 +0000
183+++ qml/Stage/MoveHandler.qml 2017-03-03 10:22:19 +0000
184@@ -29,6 +29,7 @@
185 property real boundsTopMargin: 0
186
187 readonly property bool dragging: priv.dragging
188+ readonly property bool moving: priv.moving
189
190 signal fakeMaximizeAnimationRequested(real amount)
191 signal fakeMaximizeLeftAnimationRequested(real amount)
192@@ -43,6 +44,7 @@
193 property real distanceX
194 property real distanceY
195 property bool dragging
196+ property bool moving
197
198 readonly property int triggerArea: units.gu(8)
199 property bool nearLeftEdge: target.maximizedLeft
200@@ -110,6 +112,7 @@
201
202 function handlePositionChanged(mouse, sensingPoints) {
203 if (priv.dragging) {
204+ priv.moving = true;
205 priv.mouseDownTimer.stop();
206 Mir.cursorName = "grabbing";
207
208@@ -180,6 +183,7 @@
209 }
210
211 function handleReleased(touchMode) {
212+ priv.moving = false;
213 if (touchMode) {
214 priv.progress = 0;
215 priv.resetEdges();
216
217=== modified file 'qml/Stage/WindowDecoration.qml'
218--- qml/Stage/WindowDecoration.qml 2017-01-26 11:10:01 +0000
219+++ qml/Stage/WindowDecoration.qml 2017-03-03 10:22:19 +0000
220@@ -33,23 +33,21 @@
221 property alias overlayShown: buttons.overlayShown
222 property var menu: undefined
223 property bool enableMenus: true
224+ property bool windowMoving: false
225
226 readonly property real buttonsWidth: buttons.width + row.spacing
227
228 acceptedButtons: Qt.AllButtons // prevent leaking unhandled mouse events
229 hoverEnabled: true
230
231- drag.target: Item {}
232- drag.filterChildren: true
233- drag.threshold: 0
234-
235 signal closeClicked()
236 signal minimizeClicked()
237 signal maximizeClicked()
238 signal maximizeHorizontallyClicked()
239 signal maximizeVerticallyClicked()
240
241- onClicked: mouse.accepted = true // propogated event
242+ signal pressedChangedEx(bool pressed, var pressedButtons, real mouseX, real mouseY)
243+
244 onDoubleClicked: {
245 if (mouse.button == Qt.LeftButton) {
246 root.maximizeClicked();
247@@ -69,13 +67,6 @@
248 (menuBar.showRequested || root.containsMouse)
249 }
250
251- // We dont want touch events to fall through to parent as it expect some child MouseArea to have them
252- // If not some MouseArea in the menu bar, it will be this one.
253- MouseArea {
254- anchors.fill: parent
255- propagateComposedEvents: true
256- }
257-
258 Rectangle {
259 id: background
260 anchors.fill: parent
261@@ -136,7 +127,7 @@
262 fontSize: "medium"
263 font.weight: root.active ? Font.Light : Font.Medium
264 elide: Text.ElideRight
265- opacity: overlayShown || priv.shouldShowMenus ? 0 : 1
266+ opacity: overlayShown || menuBarLoader.visible ? 0 : 1
267 visible: opacity != 0
268 Behavior on opacity { UbuntuNumberAnimation {} }
269 }
270@@ -154,9 +145,16 @@
271 height: menuBarLoader.height
272 enableKeyFilter: valid && root.active && root.enableMenus
273 unityMenuModel: root.menu
274+ windowMoving: root.windowMoving
275+
276+ onPressed: root.onPressed(mouse)
277+ onPressedChangedEx: root.pressedChangedEx(pressed, pressedButtons, mouseX, mouseY)
278+ onPositionChanged: root.onPositionChanged(mouse)
279+ onReleased: root.onReleased(mouse)
280+ onDoubleClicked: root.onDoubleClicked(mouse)
281 }
282
283- opacity: !overlayShown && priv.shouldShowMenus ? 1 : 0
284+ opacity: (!overlayShown && priv.shouldShowMenus) || (active && priv.menuBar.valid && root.windowMoving) ? 1 : 0
285 visible: opacity == 1
286 Behavior on opacity { UbuntuNumberAnimation {} }
287 }
288
289=== modified file 'tests/qmltests/ApplicationMenus/tst_MenuBar.qml'
290--- tests/qmltests/ApplicationMenus/tst_MenuBar.qml 2017-03-03 10:22:19 +0000
291+++ tests/qmltests/ApplicationMenus/tst_MenuBar.qml 2017-03-03 10:22:19 +0000
292@@ -98,6 +98,7 @@
293 var menuItem2 = findChild(menuBar, "menuBar-item2"); verify(menuItem2);
294
295 menuItem0.show();
296+ mouseMove(menuItem0, menuItem0.width/2, menuItem0.height/2);
297 compare(priv.currentItem, menuItem0, "CurrentItem should be set to item 0");
298 compare(priv.currentItem.popupVisible, true, "Popup should be visible");
299
300@@ -179,6 +180,7 @@
301
302 keyPress(data.tag, Qt.AltModifier, 100);
303 tryCompare(priv, "currentItem", menuItem);
304+ keyRelease(data.tag, Qt.AltModifier, 100);
305 }
306
307 function test_menuActivateClosesMenu() {
308
309=== modified file 'tests/qmltests/Stage/tst_DesktopStage.qml'
310--- tests/qmltests/Stage/tst_DesktopStage.qml 2017-02-16 13:43:56 +0000
311+++ tests/qmltests/Stage/tst_DesktopStage.qml 2017-03-03 10:22:19 +0000
312@@ -1013,5 +1013,23 @@
313 expectFail("", "Hovering the window controls should be ignored when the menu is open");
314 tryCompare(closeButton, "containsMouse", true);
315 }
316+
317+ function test_windowControlsTouchInteractionWithMenu() {
318+ var appDelegate = startApplication("gmail-webapp");
319+
320+ var wd = findChild(appDelegate, "appWindowDecoration");
321+ var maxButton = findChild(wd, "maximizeWindowButton");
322+ var menuBarLoader = findChild(wd, "menuBarLoader");
323+ var menuNav = findInvisibleChild(menuBarLoader, "d");
324+
325+ // make the menubar active and visible, select first item
326+ menuBarLoader.active = true;
327+ menuNav.select(0);
328+ tryCompare(menuBarLoader.item, "visible", true);
329+
330+ // verify the maximized button can still be tapped
331+ tap(maxButton);
332+ tryCompare(appDelegate, "state", "maximized");
333+ }
334 }
335 }
336
337=== modified file 'tests/qmltests/tst_Shell.qml'
338--- tests/qmltests/tst_Shell.qml 2017-02-16 13:46:11 +0000
339+++ tests/qmltests/tst_Shell.qml 2017-03-03 10:22:19 +0000
340@@ -2910,5 +2910,29 @@
341 tryCompare(topLevelSurfaceList.focusedWindow, "surface", appDelegate.surface);
342 tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app");
343 }
344+
345+ function test_doubleClickPanelRestoresWindow() {
346+ loadShell("desktop");
347+ shell.usageScenario = "desktop";
348+ waitForRendering(shell);
349+ swipeAwayGreeter();
350+
351+ // start dialer
352+ var appDelegate = startApplication("dialer-app")
353+ verify(appDelegate);
354+ tryCompare(appDelegate, "state", "normal");
355+
356+ // maximize dialer
357+ var decoration = findChild(appDelegate, "appWindowDecoration");
358+ verify(decoration);
359+ mouseDoubleClickSequence(decoration);
360+ tryCompare(appDelegate, "state", "maximized");
361+
362+ // double click the panel
363+ var panel = findChild(shell, "panel");
364+ verify(panel);
365+ mouseDoubleClickSequence(panel, panel.width/2, PanelState.panelHeight/2, Qt.LeftButton, Qt.NoModifier, 300);
366+ tryCompare(appDelegate, "state", "restored");
367+ }
368 }
369 }

Subscribers

People subscribed via source and target branches