Unity Action API

Registered by Lars Karlitski

Plan a Qt and QML API that allows applications to expose "actions" to shell components, for example the HUD, app indicators, or the right-click menu in the launcher.

Blueprint information

Status:
Not started
Approver:
Thomas Strehl
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Drafting
Series goal:
Accepted for saucy
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Launchpad project: lp:unity-action-api
trunk: https://code.launchpad.net/~unity-team/unity-action-api/trunk
ppa: https://launchpad.net/~ubuntu-sdk-team/+archive/ppa

Install:
$ sudo apt-add-repository ppa:ubuntu-sdk-team/ppa
$ sudo apt-get update
$ sudo apt-get install qtdeclarative5-unity-action1.0

===

Agree changes to SDK - who / what (2d)
- Transition from current UITK.Action to common one
- triggered(var caller)
- Toolbar handling (API change, toolbar contributors)
- Context management

(?)

Work Items

Work items:
[desrt] write unity application runner: POSTPONED
[desrt] implement action descriptions on top of gapplication/gactiongroup: POSTPONED
[larsu] design qml api (actions, indicators, shell menus) and ask the sdk team for a review (2 days): DONE
[tpeeters] investigate into qplatformmenu in QPA: DONE

Work items for ubuntu-13.06:
[kaijanmaki] Set up action project - launchpad, repos, etc (1d): DONE
[kaijanmaki] Implement API for Action class - C++/QML (2d): DONE
[kaijanmaki] Implement API for MenuItem (0.5d): DONE
[kaijanmaki] Agree library structure - Where does code live? Which binary packages? (1d): DONE
[kaijanmaki] Agree on QML import dependencies - which types go in which QML module / namespace (2d): DONE
[kaijanmaki] Implement API for PreviewAction class - C++/QML (1d): DONE
[kaijanmaki] Implement API for Preview Parameters (1.5d): DONE
[kaijanmaki] Document examples for API (2d): DONE
[kaijanmaki] Implement action manager - turns the Actions into GActions, also exports the actions to the HUD (4d): DONE
[kaijanmaki] Handle context switching (2d): DONE
[pete-woods] Integration testing (5d): DONE

Work items for ubuntu-13.10:
[kaijanmaki] Example of Radio groups (0.5d): POSTPONED
[kaijanmaki] Example of checkable items (0.5d): POSTPONED
[kaijanmaki] Example of toggle actions (0.5d): POSTPONED
[kaijanmaki] How to use the state of the Action (1d): POSTPONED
[kaijanmaki] Implement API for MenuSeparator (0.5d): POSTPONED
[kaijanmaki] Implement first iteration of the Launcher API as PoC for MenuItem exporters (2d): POSTPONED

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.