Difference between revisions of "Qt Quick development process"
(added link to source code) |
(updated to reflect the latest development status) |
||
Line 14: | Line 14: | ||
* create a directory algebra_by in src/activities: | * create a directory algebra_by in src/activities: | ||
+ | |||
cd src/activities | cd src/activities | ||
mkdir algebra_by | mkdir algebra_by | ||
Line 19: | Line 20: | ||
* Copy the existing old GCompris menu | * Copy the existing old GCompris menu | ||
− | git mv menus/algebra_by.qml algebra_by/ | + | git mv menus/algebra_by.qml algebra_by/Algebra_by.qml |
the svg icon is not under git so you have to pick the old GCompris's icon named algebra_by.svg and copy it in algebra_by. You can get it from the GCompris-gtk GitHub: https://github.com/bdoin/GCompris/tree/master/src | the svg icon is not under git so you have to pick the old GCompris's icon named algebra_by.svg and copy it in algebra_by. You can get it from the GCompris-gtk GitHub: https://github.com/bdoin/GCompris/tree/master/src | ||
− | * Copy an existing activity for example | + | * Copy an existing activity for example 'erase' |
+ | |||
+ | cp erase/.qml algebra_by/ | ||
+ | cp erase/erase.pri algebra_by/algebra_by.pri | ||
+ | cp erase/erase.js algebra_by/algebra_by.js | ||
+ | |||
+ | * edit ../../GCompris.pro and add the line: | ||
− | |||
− | |||
− | |||
− | |||
include(src/activities/algebra_by/algebra_by.pri) | include(src/activities/algebra_by/algebra_by.pri) | ||
− | to be correct it should be kept sorted with the others | + | to be correct it should be kept sorted with the others |
− | * now in | + | * now in QtCreator, algebra_by should appear, no restart needed |
− | * edit algebra_by.pri and replace | + | * edit algebra_by.pri and replace erase.svg by algebra_by.svg, same for the javascript and the qml file. |
− | * in core edit ActivityInfoTree.cpp and at about line 100, add | + | * in src/core, edit ActivityInfoTree.cpp and at about line 100, add '<< "algebra_by"' in the activities list. |
− | * | + | * check algebra_by/ActivityInfo.qml that the name references you Qml activity entry point and that the icon point to your icon name. |
− | + | * run GCompris and the new activity is there! | |
− | * run GCompris and the new activity is there ! | ||
* Ok, the activity is just an extension of an existing one | * Ok, the activity is just an extension of an existing one |
Revision as of 02:45, 11 February 2014
Compilation
- Get the source code
- Download and Install the lastest stable version of QtCreator for Android
- Start QtCreator and open the project file GCompris.pro at the root of the source code
- Compile and run it.
To make it run on Android you need first to follow these instructions.
Adding a new activity
Let's say you want to port the algebra_by activity.
- create a directory algebra_by in src/activities:
cd src/activities mkdir algebra_by
- Copy the existing old GCompris menu
git mv menus/algebra_by.qml algebra_by/Algebra_by.qml
the svg icon is not under git so you have to pick the old GCompris's icon named algebra_by.svg and copy it in algebra_by. You can get it from the GCompris-gtk GitHub: https://github.com/bdoin/GCompris/tree/master/src
- Copy an existing activity for example 'erase'
cp erase/.qml algebra_by/ cp erase/erase.pri algebra_by/algebra_by.pri cp erase/erase.js algebra_by/algebra_by.js
- edit ../../GCompris.pro and add the line:
include(src/activities/algebra_by/algebra_by.pri) to be correct it should be kept sorted with the others
- now in QtCreator, algebra_by should appear, no restart needed
- edit algebra_by.pri and replace erase.svg by algebra_by.svg, same for the javascript and the qml file.
- in src/core, edit ActivityInfoTree.cpp and at about line 100, add '<< "algebra_by"' in the activities list.
- check algebra_by/ActivityInfo.qml that the name references you Qml activity entry point and that the icon point to your icon name.
- run GCompris and the new activity is there!
- Ok, the activity is just an extension of an existing one
- now copy and existing Activity.qml and its javascript from another activity
- If you look at erase / Activity , the root of you activity is in pageComponent:
- For the media, you have to put them in the qrc file and then reference it by qrc: in the source. The path is defined in the qrc file.
- You can see the qrc in qtcreator, it is Ressources/gcompris.qrc it is auto generated at build time
- To add new images, create a resource directory in your activity folder and in you .pri file add:
APP_FILES += \ $$PWD/resource/myCuteImage.jpg \
- And in your source use : qrc:/gcompris/src/activities/algebra_by/resource/myCuteImage.jpg