Difference between revisions of "Qt Quick development process"
(Created page with " * Get the source code * Download and Install the lastest stable version of [http://qt-project.org/downloads QtCreator] for Android * Start QtCreator and open the project file...") |
(first version of how to add an activity) |
||
Line 1: | Line 1: | ||
+ | |||
+ | = Compilation = | ||
* Get the source code | * Get the source code | ||
Line 6: | Line 8: | ||
To make it run on Android you need first to follow [http://qt-project.org/doc/qt-5/android-support.html these instructions]. | To make it run on Android you need first to follow [http://qt-project.org/doc/qt-5/android-support.html 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/ActivityInfo.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_2clic | ||
+ | |||
+ | cp erase_2clic/Activity.qml algebra_by/ | ||
+ | cp erase_2clic/erase_2clic.pri algebra_by/algebra_by.pri | ||
+ | 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 but this is a detail | ||
+ | |||
+ | * now in Creator, algebra_by should appear, no restart needed | ||
+ | * edit algebra_by.pri and replace erase_2clic.svg by algebra_by.svg | ||
+ | * in core edit ActivityInfoTree.cpp and at about line 100, add << "algebra_by" in the activities list. | ||
+ | * in algebra_by/ActivityInfo.qml replace the icon line to icon: "algebra_by/algebra_by.svg" | ||
+ | * in algebra_by.pri replace the icon by algebra_by.svg | ||
+ | * 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 |
Revision as of 20:26, 9 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/ActivityInfo.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_2clic
cp erase_2clic/Activity.qml algebra_by/ cp erase_2clic/erase_2clic.pri algebra_by/algebra_by.pri 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 but this is a detail
- now in Creator, algebra_by should appear, no restart needed
- edit algebra_by.pri and replace erase_2clic.svg by algebra_by.svg
- in core edit ActivityInfoTree.cpp and at about line 100, add << "algebra_by" in the activities list.
- in algebra_by/ActivityInfo.qml replace the icon line to icon: "algebra_by/algebra_by.svg"
- in algebra_by.pri replace the icon by algebra_by.svg
- 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