Merge lp:~dandrader/unity8/refactorWindowDecoration into lp:unity8

Proposed by Daniel d'Andrada
Status: Merged
Approved by: Michael Zanetti
Approved revision: 2676
Merged at revision: 2713
Proposed branch: lp:~dandrader/unity8/refactorWindowDecoration
Merge into: lp:unity8
Diff against target: 75 lines (+20/-9)
3 files modified
qml/Stage/DecoratedWindow.qml (+1/-1)
qml/Stage/Stage.qml (+15/-3)
qml/Stage/WindowDecoration.qml (+4/-5)
To merge this branch: bzr merge lp:~dandrader/unity8/refactorWindowDecoration
Reviewer Review Type Date Requested Status
Michael Zanetti (community) Approve
Unity8 CI Bot continuous-integration Approve
Review via email: mp+310528@code.launchpad.net

Commit message

There's no need for WindowDecoration to access the appDelegate

It damages modularity.

Description of the change

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

* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes, in "make tryDesktopStage".

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

* If you changed the UI, has there been a design review?
Not applicable

To post a comment you must log in.
Revision history for this message
Michael Zanetti (mzanetti) wrote :

would it make sense to have closeButtonVisible to be just an alias instead of its own property?

apart from that, definitely +1 from here.

review: Needs Information
2676. By Daniel d'Andrada

Make it an alias

Revision history for this message
Daniel d'Andrada (dandrader) wrote :

> would it make sense to have closeButtonVisible to be just an alias instead of
> its own property?
>
> apart from that, definitely +1 from here.

That works as well. Done.

Revision history for this message
Michael Zanetti (mzanetti) wrote :

tested. works fine. +1 on the code.

waiting for CI before top-approving

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

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

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

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

FAILED: Continuous integration, rev:2676
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2482/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/3274/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3302
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3156/artifact/output/*zip*/output.zip
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3156/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3156/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3156
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3156/artifact/output/*zip*/output.zip

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

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

PASSED: Continuous integration, rev:2676
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2483/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3275
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1873
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1873
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/1873
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3303
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3157
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/3157/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3157
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3157/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3157
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3157/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3157
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/3157/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3157
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3157/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3157
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3157/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3157
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/3157/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3157
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3157/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3157
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3157/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Michael Zanetti (mzanetti) wrote :

the failure seems unrelated... top-approving

review: Approve
Revision history for this message
Michael Zanetti (mzanetti) wrote :

actually it even passed

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'qml/Stage/DecoratedWindow.qml'
2--- qml/Stage/DecoratedWindow.qml 2016-10-07 11:20:09 +0000
3+++ qml/Stage/DecoratedWindow.qml 2016-11-10 13:16:55 +0000
4@@ -149,7 +149,7 @@
5
6 WindowDecoration {
7 id: decoration
8- target: root.parent || null
9+ closeButtonVisible: root.application.appId !== "unity8-dash"
10 objectName: "appWindowDecoration"
11 anchors { left: parent.left; top: parent.top; right: parent.right }
12 height: units.gu(3)
13
14=== modified file 'qml/Stage/Stage.qml'
15--- qml/Stage/Stage.qml 2016-10-24 11:34:20 +0000
16+++ qml/Stage/Stage.qml 2016-11-10 13:16:55 +0000
17@@ -1467,9 +1467,21 @@
18 onRequestedHeightChanged: oldRequestedHeight = requestedHeight
19
20 onCloseClicked: { appDelegate.close(); }
21- onMaximizeClicked: appDelegate.anyMaximized ? appDelegate.restoreFromMaximized() : appDelegate.maximize();
22- onMaximizeHorizontallyClicked: appDelegate.maximizedHorizontally ? appDelegate.restoreFromMaximized() : appDelegate.maximizeHorizontally()
23- onMaximizeVerticallyClicked: appDelegate.maximizedVertically ? appDelegate.restoreFromMaximized() : appDelegate.maximizeVertically()
24+ onMaximizeClicked: {
25+ if (appDelegate.canBeMaximized) {
26+ appDelegate.anyMaximized ? appDelegate.restoreFromMaximized() : appDelegate.maximize();
27+ }
28+ }
29+ onMaximizeHorizontallyClicked: {
30+ if (appDelegate.canBeMaximizedHorizontally) {
31+ appDelegate.maximizedHorizontally ? appDelegate.restoreFromMaximized() : appDelegate.maximizeHorizontally()
32+ }
33+ }
34+ onMaximizeVerticallyClicked: {
35+ if (appDelegate.canBeMaximizedVertically) {
36+ appDelegate.maximizedVertically ? appDelegate.restoreFromMaximized() : appDelegate.maximizeVertically()
37+ }
38+ }
39 onMinimizeClicked: appDelegate.minimize()
40 onDecorationPressed: { appDelegate.focus = true; }
41 onDecorationReleased: fakeRectangle.commit();
42
43=== modified file 'qml/Stage/WindowDecoration.qml'
44--- qml/Stage/WindowDecoration.qml 2016-09-22 10:33:39 +0000
45+++ qml/Stage/WindowDecoration.qml 2016-11-10 13:16:55 +0000
46@@ -22,7 +22,7 @@
47 id: root
48 clip: true
49
50- property Item target // appDelegate
51+ property alias closeButtonVisible: buttons.closeButtonShown
52 property alias title: titleLabel.text
53 property alias maximizeButtonShown: buttons.maximizeButtonShown
54 property bool active: false
55@@ -40,7 +40,7 @@
56 signal maximizeVerticallyClicked()
57
58 onDoubleClicked: {
59- if (target.canBeMaximized && mouse.button == Qt.LeftButton) {
60+ if (mouse.button == Qt.LeftButton) {
61 root.maximizeClicked();
62 }
63 }
64@@ -77,9 +77,8 @@
65 onCloseClicked: root.closeClicked();
66 onMinimizeClicked: root.minimizeClicked();
67 onMaximizeClicked: root.maximizeClicked();
68- onMaximizeHorizontallyClicked: if (root.target.canBeMaximizedHorizontally) root.maximizeHorizontallyClicked();
69- onMaximizeVerticallyClicked: if (root.target.canBeMaximizedVertically) root.maximizeVerticallyClicked();
70- closeButtonShown: root.target.appId !== "unity8-dash"
71+ onMaximizeHorizontallyClicked: root.maximizeHorizontallyClicked();
72+ onMaximizeVerticallyClicked: root.maximizeVerticallyClicked();
73 }
74
75 Label {

Subscribers

People subscribed via source and target branches