Merge lp://staging/~gerboland/unity-api/appManVersion2 into lp://staging/unity-api
Status: | Work in progress |
---|---|
Proposed branch: | lp://staging/~gerboland/unity-api/appManVersion2 |
Merge into: | lp://staging/unity-api |
Diff against target: |
527 lines (+187/-103) 9 files modified
debian/changelog (+6/-0) include/unity/shell/application/ApplicationInfoInterface.h (+29/-6) include/unity/shell/application/ApplicationManagerInterface.h (+31/-40) include/unity/shell/application/CMakeLists.txt (+1/-1) test/qmltest/mocks/plugins/Unity/Application/Mocks/MockApplicationInfo.cpp (+7/-1) test/qmltest/mocks/plugins/Unity/Application/Mocks/MockApplicationInfo.h (+15/-13) test/qmltest/mocks/plugins/Unity/Application/Mocks/MockApplicationManager.cpp (+14/-16) test/qmltest/mocks/plugins/Unity/Application/Mocks/MockApplicationManager.h (+19/-23) test/qmltest/unity/shell/application/tst_Application.qml (+65/-3) |
To merge this branch: | bzr merge lp://staging/~gerboland/unity-api/appManVersion2 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michael Zanetti (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email: mp+219403@code.staging.launchpad.net |
This proposal supersedes a proposal from 2014-05-01.
Commit message
Revised ApplicationManager and ApplicationInfo APIs to ease transition to the QtMirCompositor project
Description of the change
Revised ApplicationManager and ApplicationInfo APIs for QtMirCompositor project
* Are there any related MPs required for this MP to build/function as expected? Please list.
https:/
https:/
* Did you perform an exploratory manual test run of your code change and any related functionality?
Y
* Did you make sure that your branch does not contain spurious tags?
Y
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
Y
* If you changed the UI, has there been a design review?
N/A - no UI change
Unmerged revisions
- 151. By Gerry Boland
-
debian: package version 7.90
- 150. By Gerry Boland
-
Merge trunk
- 149. By Gerry Boland
-
changelog correction
- 148. By Gerry Boland
-
Update changelog
- 147. By Gerry Boland
-
Merge trunk
- 146. By Gerry Boland
-
Restore the Application screenshot API for now
- 145. By Gerry Boland
-
Resolve conflict
- 144. By Gerry Boland
-
Bump debian version
- 143. By Gerry Boland
-
Add test for flags operator |
- 142. By Gerry Boland
-
Add tests to verify state & stage enums
Here's a couple of comments of things we should think of. Not necessarily disagreeing with them, just worth a though/discussion imo:
====
20 + Q_PROPERTY(Stages supportedStages READ supportedStages NOTIFY supportedStages Changed)
Do we assume that if an app claims support for both stages, all of its surfaces will support them? Probably yes.
====
31 + * Holds the current application focus state. True if a surface of this application is focused, false otherwise.
Really needed? what would we gain with this information? Wouldn't it make more sense to obtain it the other was round? For instance:
var focusedApp = SurfaceManager. appId(SurfaceMa nager.focusedSu rfaceId)
====
78 + Q_INVOKABLE virtual bool suspend() = 0;
89 + Q_INVOKABLE virtual bool resume() = 0;
Where would you call this from? I'm not sure if we should expose this to unity but rather handle this stuff internally in the applicationmanager. We might add something like inhibitSuspension() at a later point if we want to give the user control over it.
Also it doesn't really match with the existing API, given that we have startApplication() and stopApplication() in ApplicationManager (not ApplicationInfo) such things should be at the same place. If we decide to expose this to the shell, I'm not opposed to have them in both places (ApplicationMan ager::suspendAp plication( appId) and ApplicationInfo ::suspend( )).
====
301 void setFocused(bool focused);
What would this do?