[GCompris-devel] Preparing release 0.50

Holger Kaelberer hk at elberer.de
Tue Oct 13 23:12:22 UTC 2015


Hi,

my balancebox activity (https://github.com/hkaelber/GCompris-qt/tree/balancebox) is almost ready for 
a first release. I hope to finalize it this week, but am not in a hurry to get it into the upcoming 
release.

Johnny already reviewed and improved the cmake stuff, thanks for that!

The activity is a bit special as it uses QSensors and the qml bindings of box2d. Therefore it might 
not work well on all platforms (I tested Linux and several Android flavours) It still needs to be 
tested on SailfishOS to find out if the QtSensor module works there as expected. I asked Alex to 
give it a try. If it does not I'd propose to simply disable it in ActivityInfo for any platform that 
does not work as expected.

I changed some things in core and for building. Before merging let me sum up some points here to 
give you a chance to improve it by your feedback:

- qml-box2d as git submodule: balancebox uses the qml-box2d for movement and collision dynamics. The 
module is built automatically mainly for packaging it for Android. If there is a Linux distro that 
packages qml-box2d we should make our own box2d build configurable. I preferred a git submodule 
(over a cmake ExternalProject directly downloading from a git-URL) to avoid multiple downloads of 
the same repo for different target platforms.

- ApplicationInfo::getSharedWritablePath() is used to provide a platform-specific writable path that 
can be accessed by other applications, too, to serve as storage for data exchange (like the 'My 
GCompris' folder in gtk+). For now this uses QStandardPaths and resolves to

      On Android: /storage/emulated/0/GCompris (>= Android 4.2),
                  /storage/sdcard0/GCompris (< Android 4.2)
      On Linux: $HOME/.local/share/GCompris

- Level editor: The activity allows for creating user levels (stored in above directory) via an 
editor. The editor is located in activities/balancebox/editor/.

- DialogActivityFunc.dataValidationFunc exposes a hook for registering a simple  validation function 
for configuration data, thus allowing an activity to avoid saving invalid config data.

- Multiple push/pop at once on the page view stack: To allow for pushing and popping >1 items on the 
page stack I added two more signals to ActivityBase

     signal back(Item to)
     signal displayDialogs(var dialogs)

These are the bigger sisters of home() and displayDialog(). Was unsure whether they should better be 
merged together if possible and make them behave differently based on typeof argument.

Besides these changes I noticed two points that we could improve:

- Our activities are active once loaded after having started them, also after returning to the main 
menu. I noticed that because I saw balancebox still reacting to rotation changes being back in the 
main menu. For most of them this is probably not a problem as they don't do a lot without 
interaction. Nonetheless we might want to consider pausing them somehow after stop().

- "Working" feedback: Activities that perform more intensive tasks (as balancebox does sometimes 
when initializing more complex level scenes) seem to freeze the application, especially on slow 
(android) devices, especially during activity startup. Might help to provide some visual feedback 
about that using something like a "Working"/"Loading" animation.

Thanks for your feedback,
   Holger

On 13.10.2015 02:37, Bruno Coudoin wrote:
>
> Hi all,
>
> We have more than enough content to make a new release.
>
> So far we have many fixes and improvements all around in 355 commits and
> 10 new activities have been added:
>
> By Bruno : chess, chess_2players, chess_partyend, melody
> By Siddhesh Suthar (part of GSoC): lang
> By Pulkit Gupta: paintings
> By Johnny Jazeix, readingh, readingv
> Sagar Chand Agarwal (part of GSoC): renewable_energy, watercycle
>
> If you have pending work that you want to see integrated it is the last
> oportunity before the next release.
>
> We will set a release roadmap and a call for translation when we have a
> clearer view of the pending work to integrate.
>
> Starting from now, it is helpful to test the master branch.
>
> Bruno.
> _______________________________________________
> GCompris-devel mailing list
> GCompris-devel at kde.org
> https://mail.kde.org/mailman/listinfo/gcompris-devel
>


More information about the GCompris-devel mailing list