Merge lp:~gerboland/unity8/add-focus-requested-support into lp:unity8

Proposed by Gerry Boland
Status: Merged
Approved by: Michał Sawicz
Approved revision: 434
Merged at revision: 446
Proposed branch: lp:~gerboland/unity8/add-focus-requested-support
Merge into: lp:unity8
Diff against target: 78 lines (+20/-1)
4 files modified
Components/ApplicationManagerWrapper.qml (+13/-1)
Components/Stage.qml (+5/-0)
tests/mocks/Unity/Application/ApplicationInfo.h (+1/-0)
tests/mocks/Unity/Application/ApplicationManager.h (+1/-0)
To merge this branch: bzr merge lp:~gerboland/unity8/add-focus-requested-support
Reviewer Review Type Date Requested Status
Michał Sawicz Approve
PS Jenkins bot (community) continuous-integration Needs Fixing
Review via email: mp+190621@code.launchpad.net

Commit message

WM: AppManager has new signal to ask shell to request focus for app - use it to properly animate and focus the app. If app wants to be side stage, but no side stage available, override the application stage.

Description of the change

WM: AppManager has new signal to ask shell to request focus for app - use it to properly animate and focus the app. If app wants to be side stage, but no side stage available, override the application stage.

Requires lp:~gerboland/unity-mir/add-focus-requested-signal to operate correctly

To post a comment you must log in.
434. By Gerry Boland

Revert comment change

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:434
http://jenkins.qa.ubuntu.com/job/unity8-ci/1365/
Executed test runs:
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4944/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2843
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/2231
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/388
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1365
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1365/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1364/console
    ABORTED: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/1120/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/819
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/819/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2845
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2845/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/2365
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/2405

Click here to trigger a rebuild:
http://10.97.0.26:8080/job/unity8-ci/1365/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Michał Sawicz (saviq) wrote :

Yes please :)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'Components/ApplicationManagerWrapper.qml'
--- Components/ApplicationManagerWrapper.qml 2013-10-08 17:30:29 +0000
+++ Components/ApplicationManagerWrapper.qml 2013-10-11 11:43:22 +0000
@@ -18,7 +18,7 @@
18import Unity.Application 0.118import Unity.Application 0.1
1919
20Item {20Item {
21 id: applicationManager21 id: root
2222
23 property alias mainStageApplications: mainStageModel23 property alias mainStageApplications: mainStageModel
24 property alias sideStageApplications: sideStageModel24 property alias sideStageApplications: sideStageModel
@@ -30,6 +30,8 @@
3030
31 property bool fake: ApplicationManager.fake ? ApplicationManager.fake : false31 property bool fake: ApplicationManager.fake ? ApplicationManager.fake : false
3232
33 signal focusRequested(string appId)
34
33 ApplicationsModelStageFiltered {35 ApplicationsModelStageFiltered {
34 id: mainStageModel36 id: mainStageModel
35 stage: ApplicationInfo.MainStage37 stage: ApplicationInfo.MainStage
@@ -61,6 +63,16 @@
61 }63 }
62 }64 }
63 }65 }
66
67 onFocusRequested: {
68 // if no side stage enabled, override application's stage parameter
69 var app = ApplicationManager.findApplication(appId);
70 if (app && app.stage === ApplicationInfo.SideStage && !sideStageEnabled) {
71 app.stage = ApplicationInfo.MainStage;
72 }
73
74 root.focusRequested(appId);
75 }
64 }76 }
6577
66 function activateApplication(desktopFile, argument) {78 function activateApplication(desktopFile, argument) {
6779
=== modified file 'Components/Stage.qml'
--- Components/Stage.qml 2013-10-02 21:59:30 +0000
+++ Components/Stage.qml 2013-10-11 11:43:22 +0000
@@ -84,6 +84,11 @@
84 }84 }
85 }85 }
8686
87 Connections {
88 target: applicationManager
89 onFocusRequested: activateApplication(appId)
90 }
91
87 /* Keep a reference to the focused application so that we can safely92 /* Keep a reference to the focused application so that we can safely
88 unfocus it when the stage is not fully shown and refocus it when the stage93 unfocus it when the stage is not fully shown and refocus it when the stage
89 is fully shown again.94 is fully shown again.
9095
=== modified file 'tests/mocks/Unity/Application/ApplicationInfo.h'
--- tests/mocks/Unity/Application/ApplicationInfo.h 2013-09-05 12:21:35 +0000
+++ tests/mocks/Unity/Application/ApplicationInfo.h 2013-10-11 11:43:22 +0000
@@ -35,6 +35,7 @@
35 Q_OBJECT35 Q_OBJECT
3636
37 Q_PROPERTY(bool fullscreen READ fullscreen WRITE setFullscreen NOTIFY fullscreenChanged)37 Q_PROPERTY(bool fullscreen READ fullscreen WRITE setFullscreen NOTIFY fullscreenChanged)
38 Q_PROPERTY(Stage stage READ stage WRITE setStage NOTIFY stageChanged)
3839
39 // Only exists in this fake implementation40 // Only exists in this fake implementation
4041
4142
=== modified file 'tests/mocks/Unity/Application/ApplicationManager.h'
--- tests/mocks/Unity/Application/ApplicationManager.h 2013-09-09 11:42:11 +0000
+++ tests/mocks/Unity/Application/ApplicationManager.h 2013-10-11 11:43:22 +0000
@@ -99,6 +99,7 @@
99 void keyboardHeightChanged();99 void keyboardHeightChanged();
100 void keyboardVisibleChanged();100 void keyboardVisibleChanged();
101 void focusRequested(FavoriteApplication favoriteApplication);101 void focusRequested(FavoriteApplication favoriteApplication);
102 void focusRequested(const QString &appId);
102103
103 private:104 private:
104 void add(ApplicationInfo *application);105 void add(ApplicationInfo *application);

Subscribers

People subscribed via source and target branches