diff --git a/src/activities/advanced_colors/ActivityInfo.qml b/src/activities/advanced_colors/ActivityInfo.qml index 2e3bdc3e8..e35313748 100644 --- a/src/activities/advanced_colors/ActivityInfo.qml +++ b/src/activities/advanced_colors/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "advanced_colors/AdvancedColors.qml" difficulty: 6 icon: "advanced_colors/advanced_colors.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Advanced colors") //: Help title description: qsTr("Select the butterfly of the correct color") //intro: "click on the required color" //: Help goal goal: qsTr("Learn to recognize unusual colors.") //: Help prerequisite prerequisite: qsTr("Can read") //: Help manual manual: qsTr("You will see dancing butterflies of different colors and a question. You have to find the correct butterfly and touch it.") credit: "" - section: "discovery colors" + section: "reading colors vocabulary" createdInVersion: 0 } diff --git a/src/activities/algebra_by/ActivityInfo.qml b/src/activities/algebra_by/ActivityInfo.qml index 7c0eb95f7..4f9f3bb80 100644 --- a/src/activities/algebra_by/ActivityInfo.qml +++ b/src/activities/algebra_by/ActivityInfo.qml @@ -1,41 +1,41 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "algebra_by/AlgebraBy.qml" difficulty: 3 icon: "algebra_by/algebra_by.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Multiplication of numbers") //: Help title description: qsTr("Practice the multiplication operation") // intro: "Multiply the two numbers together and type in your answer before the balloon lands in the water" //: Help goal goal: qsTr("Learn to multiply numbers within a limited period of time") //: Help prerequisite prerequisite: qsTr("Multiplication tables from 1 to 10") //: Help manual manual: qsTr("A multiplication is displayed on the screen. Quickly find the result and use your computer's keyboard or the on-screen keypad to type the product of the numbers. You have to be fast and submit the answer before the penguins in their balloon land!") credit: "" - section: "math multiplication" + section: "math multiplication arithmetic" createdInVersion: 0 levels: "1,2,3,4" } diff --git a/src/activities/algebra_div/ActivityInfo.qml b/src/activities/algebra_div/ActivityInfo.qml index 048017c21..1f8c8c38a 100644 --- a/src/activities/algebra_div/ActivityInfo.qml +++ b/src/activities/algebra_div/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Sayan Biswas * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "algebra_div/AlgebraDiv.qml" difficulty: 6 icon: "algebra_div/algebra_div.svg" author: "Sayan Biswas <techsayan01@gmail.com>" demo: false //: Activity title title: qsTr("Division of numbers") //: Help title description: qsTr("Practice the division operation") // intro: "Find the result of the division and type in your answer before the balloon lands in the water" //: Help goal goal: qsTr("Find the result of the division within a limited period of time") //: Help prerequisite prerequisite: qsTr("Division of small numbers") //: Help manual manual: qsTr("A division is displayed on the screen. Quickly find the result and use your computer's keyboard or the on-screen keypad to type it. You have to be fast and submit the answer before the penguins in their balloon land!") credit: "" - section: "math division" + section: "math division arithmetic" createdInVersion: 4000 } diff --git a/src/activities/algebra_minus/ActivityInfo.qml b/src/activities/algebra_minus/ActivityInfo.qml index a6b780b62..ef03fd04d 100644 --- a/src/activities/algebra_minus/ActivityInfo.qml +++ b/src/activities/algebra_minus/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "algebra_minus/AlgebraMinus.qml" difficulty: 4 icon: "algebra_minus/algebra_minus.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Subtraction of numbers") //: Help title description: qsTr("Practice the subtraction operation") // intro: "Subtract the two numbers and type in your answer before the balloon lands in the water" //: Help goal goal: qsTr("Learn to find the difference between two numbers within a limited period of time") //: Help prerequisite prerequisite: qsTr("Subtraction of small numbers") //: Help manual manual: qsTr("A subtraction is displayed on the screen. Quickly find the result and use your computer's keyboard or the on-screen keypad to type it. You have to be fast and submit the answer before the penguins in their balloon land!") credit: "" - section: "math subtraction" + section: "math subtraction arithmetic" createdInVersion: 0 } diff --git a/src/activities/algebra_plus/ActivityInfo.qml b/src/activities/algebra_plus/ActivityInfo.qml index 8e5fb3225..ff654e1e0 100644 --- a/src/activities/algebra_plus/ActivityInfo.qml +++ b/src/activities/algebra_plus/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "algebra_plus/AlgebraPlus.qml" difficulty: 3 icon: "algebra_plus/algebra_plus.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Addition of numbers") //: Help title description: qsTr("Practice the addition of numbers") // intro: "Add the two numbers together and type in your answer before the balloon lands in the water" //: Help goal goal: qsTr("Learn to find the sum of two numbers within a limited period of time") //: Help prerequisite prerequisite: qsTr("Simple addition. Can recognize written numbers") //: Help manual manual: qsTr("An addition is displayed on the screen. Quickly find the result and use your computer's keyboard or the on-screen keypad to type it. You have to be fast and submit the answer before the penguins land in their balloon!") credit: "" - section: "math addition" + section: "math addition arithmetic" createdInVersion: 0 } diff --git a/src/activities/algorithm/ActivityInfo.qml b/src/activities/algorithm/ActivityInfo.qml index 0a2d2829a..eeb26b74a 100644 --- a/src/activities/algorithm/ActivityInfo.qml +++ b/src/activities/algorithm/ActivityInfo.qml @@ -1,38 +1,38 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bharath M S * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "algorithm/Algorithm.qml" difficulty: 2 icon: "algorithm/algorithm.svg" author: "Bharath M S <brat.197@gmail.com>" demo: true //: Activity title title: qsTr("Logical associations") //: Help title description: qsTr("Complete the arrangement of fruits") // intro: "Click on the missing items on the table and follow the logical sequence displayed above it." //: Help goal goal: qsTr("Logic training activity") //: Help manual manual: qsTr("Look at the two sequences. Each fruit in the first sequence has been replaced by another fruit in the second sequence. Complete the second sequence by using the correct fruits, after studying this pattern.") credit: "" - section: "discovery" + section: "discovery logic" createdInVersion: 0 } diff --git a/src/activities/alphabet-sequence/ActivityInfo.qml b/src/activities/alphabet-sequence/ActivityInfo.qml index b7ffdbe04..27712f3a1 100644 --- a/src/activities/alphabet-sequence/ActivityInfo.qml +++ b/src/activities/alphabet-sequence/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "alphabet-sequence/AlphabetSequence.qml" difficulty: 2 icon: "alphabet-sequence/alphabet-sequence.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Alphabet sequence") //: Help title description: qsTr("Move the helicopter to catch the clouds following the order of the alphabet") // intro: "Move the helicopter to catch the clouds following the order of the alphabet." //: Help goal goal: qsTr("Alphabet sequence") //: Help prerequisite prerequisite: qsTr("Can decode letters") //: Help manual manual: qsTr("Catch the alphabet letters. With a keyboard use the arrow keys to move the helicopter. With a pointing device you just click or tap on the target location. To know which letter you have to catch you can either remember it or check the bottom right corner.") credit: "" - section: "reading" - createdInVersion: 0 + section: "reading letters" + createdInVersion: 0 } diff --git a/src/activities/baby_wordprocessor/ActivityInfo.qml b/src/activities/baby_wordprocessor/ActivityInfo.qml index 3b01d84f0..4f47376b1 100644 --- a/src/activities/baby_wordprocessor/ActivityInfo.qml +++ b/src/activities/baby_wordprocessor/ActivityInfo.qml @@ -1,43 +1,43 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "baby_wordprocessor/BabyWordprocessor.qml" difficulty: 1 icon: "baby_wordprocessor/baby_wordprocessor.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("A baby wordprocessor") //: Help title description: qsTr("A simplistic word processor to let the children play around with a keyboard and see letters.") //intro: "A simplistic word processor to play around with the keyboard" //: Help goal goal: qsTr("Discover the keyboard and the letters.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Just type on the real or virtual keyboard like in a wordprocessor. Clicking on the 'Title' button will make the text bigger. Similarly, the 'subtitle' button will make the text slightly less bigger. Clicking on 'paragraph' will remove the formatting. Press 'Shift' and use the arrow keys to select the text. Use Ctrl+C to copy, Ctrl+V to paste and Crtl+X to cut text. Ctrl+Z can be used to undo changes. Try to fiddle around and find more shortcuts. For example, what is the shortcut to select all the text?") credit: "" - section: "computer keyboard reading" + section: "computer keyboard reading letters" createdInVersion: 6000 } diff --git a/src/activities/babymatch/ActivityInfo.qml b/src/activities/babymatch/ActivityInfo.qml index f972e95a3..dc5dfa069 100644 --- a/src/activities/babymatch/ActivityInfo.qml +++ b/src/activities/babymatch/ActivityInfo.qml @@ -1,43 +1,43 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Pulkit Gupta * * Authors: * Pulkit Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "babymatch/Babymatch.qml" difficulty: 1 icon: "babymatch/babymatch.svg" author: "Pulkit Gupta <pulkitgenius@gmail.com>" demo: true //: Activity title title: qsTr("Matching Items") //: Help title description: qsTr("Drag and Drop the items to make them match") // intro: "Drag and drop the objects matching the pictures" //: Help goal goal: qsTr("Motor coordination. Conceptual matching.") //: Help prerequisite prerequisite: qsTr("Cultural references.") //: Help manual manual: qsTr("In the main board area, a set of objects is displayed. In the vertical box (at the left of the main board) another set of objects is shown, each object in the group on the left matching exactly one object in the main board area. This game challenges you to find the logical link between these objects. How do they fit together? Drag each object to the correct red space in the main area.") credit: "" - section: "discovery" + section: "reading vocabulary" createdInVersion: 4000 } diff --git a/src/activities/babyshapes/ActivityInfo.qml b/src/activities/babyshapes/ActivityInfo.qml index 28d978b19..2b0777715 100644 --- a/src/activities/babyshapes/ActivityInfo.qml +++ b/src/activities/babyshapes/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Pulkit Gupta * * Authors: * Pulkit Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "babyshapes/Babyshapes.qml" difficulty: 1 icon: "babyshapes/babyshapes.svg" author: "Pulkit Gupta <pulkitgenius@gmail.com>" demo: true //: Activity title title: qsTr("Complete the puzzle") //: Help title description: qsTr("Drag and Drop the shapes on their respective targets") // intro: "Drag and drop the objects matching the shapes." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Complete the puzzle by dragging each piece from the set of pieces on the left, to the matching space in the puzzle.") credit: qsTr("The dog is provided by Andre Connes and released under the GPL") - section: "discovery" + section: "computer" createdInVersion: 4000 } diff --git a/src/activities/binary_bulb/ActivityInfo.qml b/src/activities/binary_bulb/ActivityInfo.qml index 4bfe56eb6..cb78b84a8 100644 --- a/src/activities/binary_bulb/ActivityInfo.qml +++ b/src/activities/binary_bulb/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2018 Rajat Asthana * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "binary_bulb/BinaryBulb.qml" difficulty: 3 icon: "binary_bulb/binary_bulb.svg" author: "Rajat Asthana <rajatasthana4@gmail.com>" demo: true //: Activity title title: qsTr("Binary bulbs") //: Help title description: qsTr("This activity helps you to learn the concept of conversion of decimal number system to binary number system.") //intro: "Turn on the right bulbs to represent the binary of the given decimal number. When you have achieved it, press OK" //: Help goal goal: qsTr("To get familiar with the binary number system") //: Help prerequisite prerequisite: qsTr("Decimal number system") //: Help manual manual: qsTr("Turn on the right bulbs to represent the binary of the given decimal number. When you have achieved it, press OK.") credit: "" - section: "experiment" + section: "experiment sciences" createdInVersion: 9500 } diff --git a/src/activities/braille_alphabets/ActivityInfo.qml b/src/activities/braille_alphabets/ActivityInfo.qml index e65b305e1..382815280 100644 --- a/src/activities/braille_alphabets/ActivityInfo.qml +++ b/src/activities/braille_alphabets/ActivityInfo.qml @@ -1,41 +1,41 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Arkit Vora * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "braille_alphabets/BrailleAlphabets.qml" difficulty: 5 icon: "braille_alphabets/braille_alphabets.svg" author: "Arkit Vora <arkitvora123@gmail.com>" demo: true //: Activity title title: qsTr("Discover the Braille system") //: Help title description: qsTr("Learn and memorize the Braille system") //intro: "Click on Tux to start and then re-create the Braille cells." //: Help goal goal: qsTr("Let children discover the Braille system.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("The screen has 3 sections: an interactive braille cell, an instruction telling you the letter to reproduce, " + "and at the top the Braille letters to use as a reference. Each level teaches a set of 10 letters.") credit: "" - section: "discovery braille" + section: "reading letters braille" createdInVersion: 0 } diff --git a/src/activities/braille_fun/ActivityInfo.qml b/src/activities/braille_fun/ActivityInfo.qml index 3d31b7ce3..1fafde044 100644 --- a/src/activities/braille_fun/ActivityInfo.qml +++ b/src/activities/braille_fun/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Arkit Vora * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "braille_fun/BrailleFun.qml" difficulty: 6 icon: "braille_fun/braille_fun.svg" author: "Arkit Vora <arkitvora123@gmail.com>" demo: true //: Activity title title: qsTr("Braille Fun") //: Help title description: qsTr("Braille the letters") //intro: "Create the Braille cell for the letter." //: Help goal goal: "" //: Help prerequisite prerequisite: qsTr("Braille Alphabet Codes") //: Help manual manual: qsTr("Enter the braille code in the tile for the letters on the banner pulled by Tux in his plane across the screen. Check the braille chart by clicking on the toggle button for help.") credit: "" - section: "discovery braille" + section: "reading braille letters" createdInVersion: 4000 } diff --git a/src/activities/calendar/ActivityInfo.qml b/src/activities/calendar/ActivityInfo.qml index 799a059e0..44df7af7e 100644 --- a/src/activities/calendar/ActivityInfo.qml +++ b/src/activities/calendar/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2017 Amit Sagtani * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "calendar/Calendar.qml" difficulty: 4 icon: "calendar/calendar.svg" author: "Amit Sagtani <asagtani06@gmail.com>" demo: true //: Activity title title: qsTr("Calendar") //: Help title description: qsTr("Read the instructions and select the correct date on the calendar") //intro: "Select the asked date on the calendar" //: Help goal goal: qsTr("Learn how to use a calendar") //: Help prerequisite prerequisite: qsTr("Concept of week, month and year") //: Help manual manual: qsTr("Read the instructions and select the correct date on the calendar.") credit: "" - section: "discovery" + section: "math measures" createdInVersion: 9000 } diff --git a/src/activities/canal_lock/ActivityInfo.qml b/src/activities/canal_lock/ActivityInfo.qml index d5f8dcac6..509e7d387 100644 --- a/src/activities/canal_lock/ActivityInfo.qml +++ b/src/activities/canal_lock/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "canal_lock/CanalLock.qml" difficulty: 2 icon: "canal_lock/canal_lock.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Operate a canal lock") //: Help title description: qsTr("Tux is in trouble, and needs to take his boat through a lock. Help Tux and find out how a canal lock works.") //intro: "You are responsible for the lock and you must help Tux pass through. Click on the valves to cause either a drop or an increase in the water level, and click on the gates to open or close a path." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("You are in charge of the canal lock. Open the gates and the locks in the right order, so Tux can travel through the gates in both directions.") credit: qsTr("Drawing by Stephane Cabaraux.") - section: "experiment" + section: "experiment sciences" createdInVersion: 0 } diff --git a/src/activities/categorization/ActivityInfo.qml b/src/activities/categorization/ActivityInfo.qml index 500e13c5d..4ca53827b 100644 --- a/src/activities/categorization/ActivityInfo.qml +++ b/src/activities/categorization/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Divyam Madaan * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "categorization/Categorization.qml" difficulty: 4 icon: "categorization/categorization.svg" author: "Divyam Madaan <divyam3897@gmail.com>" demo: true //: Activity title title: qsTr("Categorization") //: Help title description: qsTr("Categorize the elements into correct and incorrect groups") //intro: "Categorize the elements into the correct group" //: Help goal goal: qsTr("Build conceptual thinking and enrich knowledge") //: Help prerequisite prerequisite: qsTr("Can drag elements using mouse") //: Help manual manual: qsTr("Review the instructions and then drag and drop the elements as specified") credit: "" - section: "fun" + section: "reading vocabulary" createdInVersion: 8000 } diff --git a/src/activities/chronos/ActivityInfo.qml b/src/activities/chronos/ActivityInfo.qml index 0f8c7032e..b1d98b635 100644 --- a/src/activities/chronos/ActivityInfo.qml +++ b/src/activities/chronos/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Pulkit Gupta * * Authors: * Pulkit Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "chronos/Chronos.qml" difficulty: 1 icon: "chronos/chronos.svg" author: "Pulkit Gupta <pulkitgenius@gmail.com>" demo: true //: Activity title title: qsTr("Chronos") //: Help title description: qsTr("Drag and Drop the items to organize the story") // intro: "Slide the pictures into the order that tells the story" //: Help goal goal: qsTr("Sort the pictures into the order that tells the story") //: Help prerequisite prerequisite: qsTr("Tell a short story") //: Help manual manual: qsTr("Pick from the pictures on the left and put them on the red dots") credit: qsTr("Moon photo is copyright NASA. The space sounds come from Tuxpaint and Vegastrike which are released under the GPL license. The transportation images are copyright Franck Doucet. Dates of Transportation are based on those found in <http://www.wikipedia.org>.") - section: "discovery" + section: "experiment history" createdInVersion: 4000 } diff --git a/src/activities/click_on_letter/ActivityInfo.qml b/src/activities/click_on_letter/ActivityInfo.qml index a52967919..09505f9f3 100644 --- a/src/activities/click_on_letter/ActivityInfo.qml +++ b/src/activities/click_on_letter/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Holger Kaelberer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "click_on_letter/ClickOnLetter.qml" difficulty: 2 icon: "click_on_letter/click_on_letter.svg" author: "Holger Kaelberer <holger.k@elberer.de>" demo: true //: Activity title title: qsTr("Click on a lowercase letter") //: Help title description: qsTr("Listen to a letter and click on the right one") // intro: "Click on the required letter. You can listen to it again by clicking on the mouth." //: Help goal goal: qsTr("Letter-name recognition") //: Help prerequisite prerequisite: qsTr("Visual letter-recognition.") //: Help manual manual: qsTr("A letter is spoken. Click on the matching letter in the main area. You can listen to the letter again, by clicking on the mouth icon.") credit: "" - section: "reading" + section: "reading letters" createdInVersion: 0 } diff --git a/src/activities/click_on_letter_up/ActivityInfo.qml b/src/activities/click_on_letter_up/ActivityInfo.qml index c244cbade..fcd6d387a 100644 --- a/src/activities/click_on_letter_up/ActivityInfo.qml +++ b/src/activities/click_on_letter_up/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Holger Kaelberer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "click_on_letter_up/ClickOnLetterUp.qml" difficulty: 2 icon: "click_on_letter_up/click_on_letter_up.svg" author: "Holger Kaelberer <holger.k@elberer.de>" demo: true //: Activity title title: qsTr("Click on an uppercase letter") //: Help title description: qsTr("Listen to a letter and click on the right one") // intro: "Click on the required letter. You can listen to it again by clicking on the mouth." //: Help goal goal: qsTr("Letter-name recognition") //: Help prerequisite prerequisite: qsTr("Visual letter-recognition.") //: Help manual manual: qsTr("A letter is spoken. Click on the matching letter in the main area. You can listen to the letter again, by clicking on the mouth icon in the bottom box.") credit: "" - section: "reading" + section: "reading letters" createdInVersion: 0 } diff --git a/src/activities/clockgame/ActivityInfo.qml b/src/activities/clockgame/ActivityInfo.qml index 4b9e3ce32..6e035a471 100644 --- a/src/activities/clockgame/ActivityInfo.qml +++ b/src/activities/clockgame/ActivityInfo.qml @@ -1,41 +1,41 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Stephane Mankowski * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "clockgame/Clockgame.qml" difficulty: 2 icon: "clockgame/clockgame.svg" author: "Stephane Mankowski <stephane@mankowski.fr>" demo: true //: Activity title title: qsTr("Learning Clock") //: Help title description: qsTr("Learn how to tell the time on an analog clock") // intro: "Drag and drop the needles of the clock to display the required time" //: Help goal goal: qsTr("Distinguish between time-units (hour, minute and second). Set and display time on an analog clock.") //: Help prerequisite prerequisite: qsTr("The concept of time.") //: Help manual manual: qsTr("Set the clock to the given time, in the time-units shown (hours:minutes or hours:minutes:seconds). Drag the different arrows, to make the respective time unit go up or down.") credit: "" - section: "discovery" + section: "math measures" createdInVersion: 0 levels: "1,2" } diff --git a/src/activities/color_mix/ActivityInfo.qml b/src/activities/color_mix/ActivityInfo.qml index 33ebc2575..a2cb7655c 100644 --- a/src/activities/color_mix/ActivityInfo.qml +++ b/src/activities/color_mix/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Stephane Mankowski * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "color_mix/ColorMix.qml" difficulty: 4 icon: "color_mix/color_mix.svg" author: "Stephane Mankowski <stephane@mankowski.fr>" demo: true //: Activity title title: qsTr("Mixing color of paint") //: Help title description: qsTr("Discover paint color mixing.") // intro: "Match the colour by moving the sliders on the tubes of paint" //: Help goal goal: qsTr("Mix the primary colors to match to the given color") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr(" The activity deals with mixing primary colors of paint (subtractive mixing). In case of paints the inks absorb different colors of light falling on it, subtracting it from what you see. The more ink you add, the more light is absorbed, and the darker the combined color gets. We can mix just three primary colors to make many new colors. The primary colors for paint/ink are cyan (a special shade of blue), magenta (a special shade of pink), and yellow. ") credit: qsTr("Images from http://openclipart.org") - section: "experiment color" + section: "experiment color sciences" createdInVersion: 0 } diff --git a/src/activities/color_mix_light/ActivityInfo.qml b/src/activities/color_mix_light/ActivityInfo.qml index 8583a0d28..462ef2cc8 100644 --- a/src/activities/color_mix_light/ActivityInfo.qml +++ b/src/activities/color_mix_light/ActivityInfo.qml @@ -1,43 +1,43 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Stephane Mankowski * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "color_mix_light/ColorMixLight.qml" difficulty: 4 icon: "color_mix_light/color_mix_light.svg" author: "Stephane Mankowski <stephane@mankowski.fr>" demo: true //: Activity title title: qsTr("Mixing colors of light") //: Help title description: qsTr("Discover light color mixing.") // intro: "Match the colour by moving the sliders on the torches" //: Help goal goal: qsTr("Mix the primary colors to match to the given color.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr(" The activity deals with mixing primary colors of light (additive mixing). In case of light it is just the opposite of mixing color with paints! The more light you add the lighter the resultant color will get. Primary colors of light are red, green and blue.") credit: qsTr("Images from http://openclipart.org") - section: "experiment color" + section: "experiment color sciences" createdInVersion: 0 } diff --git a/src/activities/colors/ActivityInfo.qml b/src/activities/colors/ActivityInfo.qml index 53b89348f..09d704896 100644 --- a/src/activities/colors/ActivityInfo.qml +++ b/src/activities/colors/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "colors/Colors.qml" difficulty: 1 icon: "colors/colors.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Colors") //: Help title description: qsTr("Click on the right color") // intro: "Click on the right color" //: Help goal goal: qsTr("This activity teaches you to recognize different colors. When you hear the name of the color, touch the duck wearing it.") //: Help prerequisite prerequisite: qsTr("Identifying colours") //: Help manual manual: qsTr("Listen to the color and touch the matching duck.") credit: "" - section: "discovery color" + section: "reading color vocabulary" createdInVersion: 0 } diff --git a/src/activities/details/ActivityInfo.qml b/src/activities/details/ActivityInfo.qml index 3e74e1818..3ead83eec 100644 --- a/src/activities/details/ActivityInfo.qml +++ b/src/activities/details/ActivityInfo.qml @@ -1,43 +1,43 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Pulkit Gupta * * Authors: * Pulkit Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "details/Details.qml" difficulty: 1 icon: "details/details.svg" author: "Pulkit Gupta <pulkitgenius@gmail.com>" demo: true //: Activity title title: qsTr("Find the details") //: Help title description: qsTr("Drag and Drop the shapes on their respective targets") // intro: "Slide the images on their respective targets" //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Complete the puzzle by dragging each piece from the set of pieces on the left, to the matching space in the puzzle.") credit: qsTr("The images are from Wikimedia Commons.") - section: "discovery" + section: "discovery arts" createdInVersion: 4000 } diff --git a/src/activities/digital_electricity/ActivityInfo.qml b/src/activities/digital_electricity/ActivityInfo.qml index c684940cf..1a66246d9 100644 --- a/src/activities/digital_electricity/ActivityInfo.qml +++ b/src/activities/digital_electricity/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Pulkit Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "digital_electricity/DigitalElectricity.qml" difficulty: 6 icon: "digital_electricity/digital_electricity.svg" author: "Pulkit Gupta <pulkitnsit@gmail.com>" demo: true //: Activity title title: qsTr("Digital Electricity") //: Help title description: qsTr("Create and simulate a digital electric schema") //intro: "Learn how digital electronics work and create your own circuit." //: Help goal goal: qsTr("Freely create a digital electric schema with a real time simulation of it.") //: Help prerequisite prerequisite: qsTr("Requires some basic understanding of the concept of digital electronics.") //: Help manual manual: qsTr("Drag electrical components from the selector and drop them in the working area. In the working area, you can move the components by dragging them. To delete a component, select the deletion tool on top of the component selector, and select the component. You can click on the component and then on the rotate button to rotate it or info button to get information about it. You can click on the switch to open and close it. To connect two terminals, click on first terminal, then on second terminal. To deselect terminal or delete tool, click on any empty area. The simulation is updated in real time by any user action.") credit: "" - section: "experimental" + section: "experiment sciences" createdInVersion: 9000 } diff --git a/src/activities/drawletters/ActivityInfo.qml b/src/activities/drawletters/ActivityInfo.qml index 92a5a7029..263e20428 100644 --- a/src/activities/drawletters/ActivityInfo.qml +++ b/src/activities/drawletters/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Nitish Chauhan * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "drawletters/Drawletters.qml" difficulty: 1 icon: "drawletters/drawletters.svg" author: "Nitish Chauhan <nitish.nc18@gmail.com>" demo: true //: Activity title title: qsTr("Draw Letters") //: Help title description: qsTr("Connect the dots to draw letters") // intro: "Click on the selected points and draw the letter" //: Help goal goal: qsTr("Learning how to draw the letters in a funny way.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Draw the letter by connecting the dots in the correct order") credit: "" - section: "reading" + section: "reading letters" createdInVersion: 7000 } diff --git a/src/activities/explore_farm_animals/ActivityInfo.qml b/src/activities/explore_farm_animals/ActivityInfo.qml index f73438cce..c089bc62e 100644 --- a/src/activities/explore_farm_animals/ActivityInfo.qml +++ b/src/activities/explore_farm_animals/ActivityInfo.qml @@ -1,47 +1,47 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Djalil Mesli * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "explore_farm_animals/ExploreFarmAnimals.qml" difficulty: 2 icon: "explore_farm_animals/explore_farm_animals.svg" author: "Djalil Mesli <djalilmesli@gmail.com>" demo: true //: Activity title title: qsTr("Explore Farm Animals") //: Help title description: qsTr("Learn about farm animals, what sounds they make, and interesting facts.") // intro: "Learn about farmyard animals and the noises that they make." //: Help goal goal: qsTr("Learn to associate animal sounds with the animal name and what the animal looks like.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("There are three levels in this game. In level one, players enjoy exploring each animal on the screen. Click on an animal and learn about it, what its name is, what sound it makes, and what it looks like. Study well this information, because you will be tested in level 2 and 3! In level two, a random animal sound is played and you must find which animal makes this sound. Click on the corresponding animal. If you'd like to hear the animal sound repeated, click on the play button. When you have matched all animals correctly, you win! In level three, a random text prompt is displayed and you must click on the animal that matches the text. When you have matched all texts correctly, you win! ") credit: "" - section: "discovery sound_group" + section: "experiment sciences" createdInVersion: 0 } diff --git a/src/activities/explore_monuments/ActivityInfo.qml b/src/activities/explore_monuments/ActivityInfo.qml index 41972d3ab..9ecff49ea 100644 --- a/src/activities/explore_monuments/ActivityInfo.qml +++ b/src/activities/explore_monuments/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Ayush Agrawal * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "explore_monuments/Explore_monuments.qml" difficulty: 3 icon: "explore_monuments/explore_monuments.svg" author: "Ayush Agrawal <ayushagrawal288@gmail.com>" demo: true //: Activity title title: qsTr("Explore Monuments") //: Help title description: qsTr("Explore Monuments around the world.") //intro: "Explore Monuments around the world." //: Help goal goal: qsTr("To learn about different monuments on the basis of their location.") //: Help prerequisite prerequisite: qsTr("Knowledge of different monuments.") //: Help manual manual: qsTr("Click on the given keys to learn more of the monuments and then identify where the monuments is on the map by its name.") credit: qsTr("Photos taken from Wikipedia.") - section: "discovery" + section: "discovery arts" createdInVersion: 6000 } diff --git a/src/activities/explore_world_animals/ActivityInfo.qml b/src/activities/explore_world_animals/ActivityInfo.qml index 87bca7ce7..1678b97eb 100644 --- a/src/activities/explore_world_animals/ActivityInfo.qml +++ b/src/activities/explore_world_animals/ActivityInfo.qml @@ -1,49 +1,49 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Johnny Jazeix * * Authors: * Beth Hadley (GTK+ version) * Johnny Jazeix (Qt Quick port) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "explore_world_animals/ExploreWorldAnimals.qml" difficulty: 4 icon: "explore_world_animals/explore_world_animals.svg" author: "Johnny Jazeix <jazeix@gmail.com>" demo: true //: Activity title title: qsTr("Explore World Animals") //: Help title description: qsTr("Learn about world animals, interesting facts and their location on a map.") // intro: "Learn about world animals and locate them on a map." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("There are two levels in this game. In level one, players enjoy exploring each animal on the screen. Click on the question mark, and learn about the animal, what it's name is, and what it looks like. Study well this information, because you will be tested in level 2! In level two, a random text prompt is displayed and you must click on the animal that matches the text. When you have matched all texts correctly, you win! ") credit: "" - section: "discovery miscellaneous" + section: "experiment sciences" createdInVersion: 0 } diff --git a/src/activities/explore_world_music/ActivityInfo.qml b/src/activities/explore_world_music/ActivityInfo.qml index 68451ae08..0cd4efb3a 100644 --- a/src/activities/explore_world_music/ActivityInfo.qml +++ b/src/activities/explore_world_music/ActivityInfo.qml @@ -1,47 +1,47 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Johnny Jazeix * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "explore_world_music/ExploreWorldMusic.qml" difficulty: 4 icon: "explore_world_music/explore_world_music.svg" author: "Johnny Jazeix <jazeix@gmail.com>" demo: true //: Activity title title: qsTr("Explore World Music") //: Help title description: qsTr("Learn about the music of the world.") // intro: "Click on the suitcases to learn about music from around the world." //: Help goal goal: qsTr("Develop a better understanding of the variety of music present in the world") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("There are three levels in this activity. In the first level, enjoy exploring music from around the world. Click on each suitcase to learn about the music from that area, and listen to a short sample. Study well, because there will be two games related to this information next! The second level is a matching game. You will hear a clip of music, and you must select the location that corresponds to that music. Click the play button if you'd like to hear the music again. You win the level when you have correctly matched all sound clips. The third level is also a matching game. You must select the location that matches the text description on the screen. You win the level when you have correctly matched all text prompts. ") credit: qsTr("Images from http://commons.wikimedia.org/wiki, http://archive.org") - section: "discovery sound_group" + section: "discovery music" createdInVersion: 0 } diff --git a/src/activities/family/ActivityInfo.qml b/src/activities/family/ActivityInfo.qml index 10055e3b0..97443b4fd 100644 --- a/src/activities/family/ActivityInfo.qml +++ b/src/activities/family/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Rajdeep Kaur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "family/Family.qml" difficulty: 2 icon: "family/family.svg" author: "Rajdeep Kaur <rajdeep.kaur@kde.org>" demo: true //: Activity title title: qsTr("Family") //: Help title description: qsTr("Select the name you should call this family member") //intro: "Let us understand what to call our relatives" //: Help goal goal: qsTr("Learn the relationships in a family, according to the lineal system used in most Western societies") //: Help prerequisite prerequisite: qsTr("Reading skills") //: Help manual manual: qsTr("A family tree is shown.\n" + "The circles are linked with lines to mark the relations. Married couples are marked with a ring on the link.\n" + "You are the person in the white circle. Select the name you should call the person in the orange circle.\n") credit: "" - section: "discovery" + section: "experiment history" createdInVersion: 9000 } diff --git a/src/activities/family_find_relative/ActivityInfo.qml b/src/activities/family_find_relative/ActivityInfo.qml index 2e73c4217..ba00432d9 100644 --- a/src/activities/family_find_relative/ActivityInfo.qml +++ b/src/activities/family_find_relative/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2017 Rudra Nil Basu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "family_find_relative/Family_find_relative.qml" difficulty: 2 icon: "family_find_relative/family_find_relative.svg" author: "Rudra Nil Basu <rudra.nil.basu.1996@gmail.com>" demo: true //: Activity title title: qsTr("Point the relatives") //: Help title description: "Click on a pair corresponding to the given relation" //intro: "Click on a pair that defines the given relation" //: Help goal goal: qsTr("Learn the relationships in a family, according to the lineal system used in most Western societies") //: Help prerequisite prerequisite: qsTr("Reading, moving and clicking with the mouse") //: Help manual manual: qsTr("A family tree is shown, with some instructions.\n" + "The circles are linked with lines to mark the relations. Married couples are marked with a ring on the link.\n" + "Click on a pair of family members which corresponds to the given relation.") credit: "" - section: "discovery" + section: "experiment history" createdInVersion: 9000 } diff --git a/src/activities/fifteen/ActivityInfo.qml b/src/activities/fifteen/ActivityInfo.qml index 48c37daee..ffc85e014 100644 --- a/src/activities/fifteen/ActivityInfo.qml +++ b/src/activities/fifteen/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "fifteen/Fifteen.qml" difficulty: 5 icon: "fifteen/fifteen.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("The fifteen game") //: Help title description: qsTr("Move each item to recreate the image.") //intro: "Click or drag an element next to a free space, the element will move and release its space. You must put all the pieces in the correct order. The numbers on the pieces can help you." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Click or drag on any pieces that has a free block beside it, and it will be swapped with the empty one.") credit: "" - section: "puzzle" + section: "discovery logic" createdInVersion: 0 } diff --git a/src/activities/find_the_day/ActivityInfo.qml b/src/activities/find_the_day/ActivityInfo.qml index 5f1ae1e07..99c75ac0f 100644 --- a/src/activities/find_the_day/ActivityInfo.qml +++ b/src/activities/find_the_day/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2018 Amit Sagtani * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "find_the_day/FindTheDay.qml" difficulty: 6 icon: "find_the_day/find_the_day.svg" author: "Amit Sagtani <asagtani06@gmail.com>" demo: true //: Activity title title: qsTr("Find the day") //: Help title description: qsTr("Find the correct date and select it on the calendar.") //intro: "Select the required day." //: Help goal goal: qsTr("Learn how to count days and find a date on a calendar.") //: Help prerequisite prerequisite: qsTr("Basics of calendar") //: Help manual manual: qsTr("Read the instructions and perform the requested calculation to find a date. Then select this date on the calendar.") credit: "" - section: "discovery" + section: "math measures" createdInVersion: 9000 } diff --git a/src/activities/geo-country/ActivityInfo.qml b/src/activities/geo-country/ActivityInfo.qml index fcfcbab6a..dd1fab39b 100644 --- a/src/activities/geo-country/ActivityInfo.qml +++ b/src/activities/geo-country/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Pulkit Gupta * * Authors: * Pulkit Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "geo-country/GeoCountry.qml" difficulty: 2 icon: "geo-country/geo-country.svg" author: "Pulkit Gupta <pulkitgenius@gmail.com>" demo: true //: Activity title title: qsTr("Locate the region") //: Help title description: qsTr("Drag and Drop the regions to redraw the whole country") // intro: "Drag and drop the regions to complete the country maps." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Drag and drop different regions of the country to correct locations to redraw the whole country.") credit: "" - section: "discovery" + section: "experiment history" createdInVersion: 4000 } diff --git a/src/activities/geography/ActivityInfo.qml b/src/activities/geography/ActivityInfo.qml index 8f58637a9..d4db0b118 100644 --- a/src/activities/geography/ActivityInfo.qml +++ b/src/activities/geography/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Pulkit Gupta * * Authors: * Pulkit Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "geography/Geography.qml" difficulty: 2 icon: "geography/geography.svg" author: "Pulkit Gupta <pulkitgenius@gmail.com>" demo: true //: Activity title title: qsTr("Locate the countries") //: Help title description: qsTr("Drag and Drop the items to redraw the whole map") // intro: "Drag and drop the objects to complete the map." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Drag and drop the map pieces to correct locations to redraw the whole map.") credit: "" - section: "discovery" + section: "experiment geography" createdInVersion: 4000 } diff --git a/src/activities/gletters/ActivityInfo.qml b/src/activities/gletters/ActivityInfo.qml index 408210e4c..08af48ca2 100644 --- a/src/activities/gletters/ActivityInfo.qml +++ b/src/activities/gletters/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Holger Kaelberer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "gletters/Gletters.qml" difficulty: 2 icon: "gletters/gletters.svg" author: "Holger Kaelberer <holger.k@elberer.de>" demo: true //: Activity title title: qsTr("Simple Letters") //: Help title description: qsTr("Type the falling letters before they reach the ground") // intro: "Type the letters on your keyboard before they reach the ground." //: Help goal goal: qsTr("Letter association between the screen and the keyboard") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Type the falling letters before they reach the ground") credit: "" - section: "computer keyboard reading" + section: "computer keyboard reading letters" createdInVersion: 0 } diff --git a/src/activities/gnumch-equality/ActivityInfo.qml b/src/activities/gnumch-equality/ActivityInfo.qml index 13a8bc73c..e97325bf9 100644 --- a/src/activities/gnumch-equality/ActivityInfo.qml +++ b/src/activities/gnumch-equality/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Manuel Tondeur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "gnumch-equality/GnumchEquality.qml" difficulty: 3 icon: "gnumch-equality/gnumch-equality.svg" author: "Manuel Tondeur <manueltondeur@gmail.com>" demo: true //: Activity title title: qsTr("Gnumch Equality") //: Help title description: qsTr("Guide the Number Muncher to the expressions that equal the number at the bottom of the screen.") // intro: "Guide the number eater with the arrow keys to the required numbers and press the space bar to swallow them." //: Help goal goal: qsTr("Practice addition, multiplication, division and subtraction.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Guide the Number Muncher to the expressions that equal the number at the bottom of the screen.") + "

" + qsTr("If you have a keyboard you can use the arrow keys to move and hit space to swallow a number. With a mouse you can click on the block next to your position to move and click again to swallow the number. With a touch screen you can do like with a mouse or swipe anywhere in the direction you want to move and tap to swallow the number.") + "

" + qsTr("Take care to avoid the Troggles.") credit: "" - section: "math" + section: "math arithmetic" createdInVersion: 0 } diff --git a/src/activities/gnumch-factors/ActivityInfo.qml b/src/activities/gnumch-factors/ActivityInfo.qml index a6ce7a53c..84586a792 100644 --- a/src/activities/gnumch-factors/ActivityInfo.qml +++ b/src/activities/gnumch-factors/ActivityInfo.qml @@ -1,45 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Manuel Tondeur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 -// Must be updated once GnumchEquality is reviewed ActivityInfo { name: "gnumch-factors/GnumchFactors.qml" difficulty: 5 icon: "gnumch-factors/gnumch-factors.svg" author: "Manuel Tondeur <manueltondeur@gmail.com>" demo: true //: Activity title title: qsTr("Gnumch Factors") //: Help title description: qsTr("Guide the Number Muncher to all the factors of the number at the bottom of the screen.") // intro: "Guide the number eater with the arrow keys to the factors of the displayed number and press space to swallow them." //: Help goal goal: qsTr("Learn about multiples and factors.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("The factors of a number are all the numbers that divide that number evenly. For example, the factors of 6 are 1, 2, 3 and 6. 4 is not a factor of 6 because 6 cannot be divided into 4 equal pieces. If one number is a multiple of a second number, then the second number is a factor of the first number. You can think of multiples as families, and factors are the people in those families. So 1, 2, 3 and 6 all fit into the 6 family, but 4 belongs to another family.") + "

" + qsTr("If you have a keyboard you can use the arrow keys to move and hit space to swallow a number. With a mouse you can click on the block next to your position to move and click again to swallow the number. With a touch screen you can do like with a mouse or swipe anywhere in the direction you want to move and tap to swallow the number.") + "

" + qsTr("Take care to avoid the Troggles.") credit: "" - section: "math" + section: "math arithmetic" createdInVersion: 0 } diff --git a/src/activities/gnumch-inequality/ActivityInfo.qml b/src/activities/gnumch-inequality/ActivityInfo.qml index 8f68b9331..4509a63c7 100644 --- a/src/activities/gnumch-inequality/ActivityInfo.qml +++ b/src/activities/gnumch-inequality/ActivityInfo.qml @@ -1,43 +1,43 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Manuel Tondeur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 // Must be updated once GnumchEquality is reviewed ActivityInfo { name: "gnumch-inequality/GnumchInequality.qml" difficulty: 3 icon: "gnumch-inequality/gnumch-inequality.svg" author: "Manuel Tondeur <manueltondeur@gmail.com>" demo: true //: Activity title title: qsTr("Gnumch Inequality") //: Help title description: qsTr("Guide the Number Muncher to all the expressions that do not equal the number at the bottom of the screen.") // intro: "Guide the number eater with the arrow keys to the numbers that are different from the ones displayed and press the space bar to swallow them." //: Help goal goal: qsTr("Practice addition, subtraction, multiplication and division.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("If you have a keyboard you can use the arrow keys to move and hit space to swallow a number. With a mouse you can click on the block next to your position to move and click again to swallow the number. With a touch screen you can do like with a mouse or swipe anywhere in the direction you want to move and tap to swallow the number.") + "

" + qsTr("Take care to avoid the Troggles.") credit: "" - section: "math" + section: "math arithmetic" createdInVersion: 0 } diff --git a/src/activities/gnumch-multiples/ActivityInfo.qml b/src/activities/gnumch-multiples/ActivityInfo.qml index d13bb17b5..1918c5a4a 100644 --- a/src/activities/gnumch-multiples/ActivityInfo.qml +++ b/src/activities/gnumch-multiples/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Manuel Tondeur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "gnumch-multiples/GnumchMultiples.qml" difficulty: 3 icon: "gnumch-multiples/gnumch-multiples.svg" author: "Manuel Tondeur <manueltondeur@gmail.com>" demo: true //: Activity title title: qsTr("Gnumch Multiples") //: Help title description: qsTr("Guide the Number Muncher to all the multiples of the number at the bottom of the screen.") // intro: "Guide the number eater with the arrow keys to the multiples of the displayed number and press space to swallow them." //: Help goal goal: qsTr("Learn about multiples and factors.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("The multiples of a number are all the numbers that are equal to the original number times another number. For example, 24, 36, 48 and 60 are all multiples of 12. 25 is not a multiple of 12 because there isn't any number that can be multiplied by 12 to get 25. If one number is a factor of a second number, then the second number is a multiple of the first number. Again, you can think of multiples as families, and factors are the people who belong to those families. The factor 5, has parents 10, grandparents 15, great-grandparents 20, great-great-grandparents 25, and every extra step of 5 is another great- in front! But the number 5 does not belong in the 8 or 23 families. You can't fit any number of 5s into 8 or 23 with nothing left over. So 8 isn't a multiple of 5, nor is 23. Only 5, 10, 15, 20, 25 ... are multiples (or families or steps) of 5.") + "

" + qsTr("If you have a keyboard you can use the arrow keys to move and hit space to swallow a number. With a mouse you can click on the block next to your position to move and click again to swallow the number. With a touch screen you can do like with a mouse or swipe anywhere in the direction you want to move and tap to swallow the number.") + "

" + qsTr("Take care to avoid the Troggles.") credit: "" - section: "math" + section: "math arithmetic" createdInVersion: 0 } diff --git a/src/activities/gnumch-primes/ActivityInfo.qml b/src/activities/gnumch-primes/ActivityInfo.qml index 417053150..bdb03cce2 100644 --- a/src/activities/gnumch-primes/ActivityInfo.qml +++ b/src/activities/gnumch-primes/ActivityInfo.qml @@ -1,45 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Manuel Tondeur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 -// Must be updated once GnumchEquality is reviewed ActivityInfo { name: "gnumch-primes/GnumchPrimes.qml" difficulty: 6 icon: "gnumch-primes/gnumch-primes.svg" author: "Manuel Tondeur <manueltondeur@gmail.com>" demo: true //: Activity title title: qsTr("Gnumch Primes") //: Help title description: qsTr("Guide the Number Muncher to all the prime numbers.") // intro: "Guide the number eater with the arrow keys to the prime numbers and press space to swallow them." //: Help goal goal: qsTr("Learn about prime numbers.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Prime numbers are numbers that are only divisible by themselves and 1. For example, 3 is a prime number, but 4 isn't (because 4 is divisible by 2). You can think of prime numbers as very small families: they only ever have two people in them! Only themselves and 1. You can't fit any other numbers into them with nothing left over. 5 is one of these lonely numbers (only 5 × 1 = 5), but you can see that 6 has 2 and 3 in its family as well (6 × 1 = 6, 2 × 3 = 6). So 6 is not a prime number.") + "

" + qsTr("If you have a keyboard you can use the arrow keys to move and hit space to swallow a number. With a mouse you can click on the block next to your position to move and click again to swallow the number. With a touch screen you can do like with a mouse or swipe anywhere in the direction you want to move and tap to swallow the number.") + "

" + qsTr("Take care to avoid the Troggles.") credit: "" - section: "math" + section: "math arithmetic" createdInVersion: 0 } diff --git a/src/activities/graph-coloring/ActivityInfo.qml b/src/activities/graph-coloring/ActivityInfo.qml index 5dbe1ed18..c65da209d 100644 --- a/src/activities/graph-coloring/ActivityInfo.qml +++ b/src/activities/graph-coloring/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Akshat Tandon * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "graph-coloring/GraphColoring.qml" difficulty: 1 icon: "graph-coloring/graph-coloring.svg" author: "Akshat Tandon <akshat.tandon@research.iiit.ac.in>" demo: true //: Activity title title: qsTr("Graph Coloring") //: Help title description: qsTr("Color the graph so that no two adjacent nodes have the same color.") //intro: "Color the graph so that no two adjacent nodes have the same color." //: Help goal goal: qsTr("Learn to distinguish between different colors/shapes and learn about relative positions.") //: Help prerequisite prerequisite: qsTr("Ability to distinguish different colors/shapes, sense of positions") //: Help manual manual: "" credit: "" - section: "math" + section: "discovery logic" createdInVersion: 6000 } diff --git a/src/activities/guesscount/ActivityInfo.qml b/src/activities/guesscount/ActivityInfo.qml index 79796ce57..09535ed42 100644 --- a/src/activities/guesscount/ActivityInfo.qml +++ b/src/activities/guesscount/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Rahul Yadav * * Authors: * Pascal Georges (GTK+ version) * RAHUL YADAV (Qt Quick port) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "guesscount/Guesscount.qml" difficulty: 3 icon: "guesscount/guesscount.svg" author: "Rahul Yadav <rahulyadav170923@gmail.com>" demo: true //: Activity title title: qsTr("Guesscount") //: Help title description:qsTr("Guess the algebraic expression and drag the tiles to get a result equal to the Guesscount.") //intro: "Use the numbers and operations suggested to find the results proposed above." //: Help goal goal: qsTr("Intuition and practice of algebraic-like calculations.") //: Help prerequisite prerequisite: qsTr("knowledge of arithmetic operations") //: Help manual manual: qsTr("Drag the appropriate numbers and the operators to the boxes to obtain the number to guess in the instruction.") credit: "" - section: "math" + section: "math arithmetic" createdInVersion: 8000 } diff --git a/src/activities/hangman/ActivityInfo.qml b/src/activities/hangman/ActivityInfo.qml index 14e0cea61..e742e4f11 100644 --- a/src/activities/hangman/ActivityInfo.qml +++ b/src/activities/hangman/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Rajdeep Kaur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "hangman/Hangman.qml" difficulty: 5 icon: "hangman/hangman.svg" author: "Rajdeep kaur <rajdeep1994@gmail.com>" demo: true //: Activity title title: qsTr("The classic hangman game") //: Help title description: qsTr("Guess the letters of the given word. To help you, on every wrong try, a part of the image representing the word will be revealed.") //: Help goal goal: qsTr("This is a good exercise to improve reading and spelling skills.") //: Help prerequisite prerequisite: "" // intro: "A word is hidden, you must discover it letter by letter." //: Help manual manual: qsTr("You can enter the letters using the virtual keyboard on the screen or with the real keyboard.") credit: "" - section: "keyboard reading" + section: "keyboard reading words" createdInVersion: 5000 } diff --git a/src/activities/hanoi/ActivityInfo.qml b/src/activities/hanoi/ActivityInfo.qml index 9c4e9924b..dc265ec43 100644 --- a/src/activities/hanoi/ActivityInfo.qml +++ b/src/activities/hanoi/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Johnny Jazeix * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "hanoi/Hanoi.qml" difficulty: 2 icon: "hanoi/hanoi.svg" author: "Johnny Jazeix <jazeix@gmail.com>" demo: true //: Activity title title: qsTr("Simplified Tower of Hanoi") //: Help title description: qsTr("Reproduce the given tower") //intro: "Rebuild the same tower in the empty area as the one you see on the right hand side." //: Help goal goal: qsTr("Reproduce the tower on the right in the empty space on the left") //: Help prerequisite prerequisite: qsTr("Mouse-manipulation") //: Help manual manual: qsTr("Drag and Drop one top piece at a time, from one peg to another, to reproduce the tower on the right in the empty space on the left.") credit: qsTr("Concept taken from EPI games.") - section: "puzzle" + section: "discovery logic" createdInVersion: 4000 } diff --git a/src/activities/hanoi_real/ActivityInfo.qml b/src/activities/hanoi_real/ActivityInfo.qml index b20b00f1d..423e324f1 100644 --- a/src/activities/hanoi_real/ActivityInfo.qml +++ b/src/activities/hanoi_real/ActivityInfo.qml @@ -1,43 +1,43 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Amit Tomar * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "hanoi_real/HanoiReal.qml" difficulty: 5 icon: "hanoi_real/hanoi_real.svg" author: "Amit Tomar <a.tomar@outlook.com>" demo: true //: Activity title title: qsTr("The Tower of Hanoi") //: Help title description: qsTr("Reproduce the tower on the right side") //intro: "Rebuild the model tower on the right support. Take care, no disc may be placed atop a smaller disc." //: Help goal goal: qsTr("The object of the game is to move the entire stack to another peg, obeying the following rules: only one disc may be moved at a time no disc may be placed atop a smaller disc ") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Drag and drop the top pieces only from one peg to another, to reproduce the initial left side tower on the right peg.") credit: qsTr("The puzzle was invented by the French mathematician Edouard Lucas in 1883. There is a legend about a Hindu temple whose priests were constantly engaged in moving a set of 64 discs according to the rules of the Tower of Hanoi puzzle. According to the legend, the world would end when the priests finished their work. The puzzle is therefore also known as the Tower of Brahma puzzle. It is not clear whether Lucas invented this legend or was inspired by it. (source Wikipedia: http://en.wikipedia.org/wiki/Tower_of_hanoi)") - section: "puzzle" + section: "discovery logic" createdInVersion: 4000 } diff --git a/src/activities/imagename/ActivityInfo.qml b/src/activities/imagename/ActivityInfo.qml index 98a661e79..221d8d4b4 100644 --- a/src/activities/imagename/ActivityInfo.qml +++ b/src/activities/imagename/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Pulkit Gupta * * Authors: * Pulkit Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "imagename/Imagename.qml" difficulty: 3 icon: "imagename/imagename.svg" author: "Pulkit Gupta <pulkitgenius@gmail.com>" demo: true //: Activity title title: qsTr("Image Name") //: Help title description: qsTr("Drag and Drop each item above its name") // intro: "Drag and drop each item above its name." //: Help goal goal: qsTr("Vocabulary and reading") //: Help prerequisite prerequisite: qsTr("Reading") //: Help manual manual: qsTr("Drag each image from the (vertical) box on the left to its (corresponding) name on the right. Click the OK button to check your answer.") - section: "reading" + section: "reading words" createdInVersion: 4000 } diff --git a/src/activities/intro_gravity/ActivityInfo.qml b/src/activities/intro_gravity/ActivityInfo.qml index 41c566492..aacb13f42 100644 --- a/src/activities/intro_gravity/ActivityInfo.qml +++ b/src/activities/intro_gravity/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Siddhesh suthar * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "intro_gravity/IntroGravity.qml" difficulty: 4 icon: "intro_gravity/intro_gravity.svg" author: "Siddhesh suthar <siddhesh.it@gmail.com>" demo: true //: Activity title title: qsTr("Intro gravity") //: Help title description: qsTr("Introduction to the concept of gravity") //intro: "Change the planets' gravitational force by moving the sliders up and down. Be careful not to crash Tux's spaceship." //: Help goal goal: qsTr("Maintain the spaceship in the middle without crashing into the planets or the asteroids") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Follow the instructions when you run the activity.") credit: "" - section: "experiment" + section: "experiment sciences" createdInVersion: 4000 } diff --git a/src/activities/land_safe/ActivityInfo.qml b/src/activities/land_safe/ActivityInfo.qml index 79566b2c7..00e3e06f5 100644 --- a/src/activities/land_safe/ActivityInfo.qml +++ b/src/activities/land_safe/ActivityInfo.qml @@ -1,49 +1,49 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Holger Kaelberer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "land_safe/LandSafe.qml" difficulty: 4 icon: "land_safe/land_safe.svg" author: "Matilda Bernard <serah4291@gmail.com> (Gtk+), Holger Kaelberer <holger.k@elberer.de> (Qt Quick)" demo: true //: Activity title title: qsTr("Land Safe") //: Help title description: qsTr("Understanding acceleration due to gravity.") // intro: "Use the arrow keys to pilot your spaceship safely onto the landing pad." //: Help goal goal: qsTr("Pilot the spaceship towards the green landing area.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Acceleration due to gravity experienced by the spaceship is directly proportional to the mass of the planet and inversely proportional to the square of the distance from the center of the planet. Thus, with every planet the acceleration will differ and as the spaceship comes closer and closer to the planet the acceleration increases. Use the up/down keys to control the thrust and the right/left keys to control direction. On touch screens you can control the rocket through the corresponding on-screen buttons. The accelerometer on the right border shows your rocket's overall vertical acceleration including gravitational force. In the upper green area of the accelerometer your acceleration is higher than the gravitational force, in the lower red area it's lower, and on the blue baseline in the yellow middle area the two forces cancel each other out. In higher levels, you can use the right/left keys to rotate the spaceship. By rotating the spaceship you can trigger an acceleration in non-vertical direction using the up/down keys. The landing platform is green if your speed is fine for a safe landing.") credit: "" - section: "experiment" + section: "experiment sciences" enabled: ApplicationInfo.isBox2DInstalled //ApplicationInfo.hasShader createdInVersion: 6000 } diff --git a/src/activities/lang/ActivityInfo.qml b/src/activities/lang/ActivityInfo.qml index dd3be82c5..0de2366d5 100644 --- a/src/activities/lang/ActivityInfo.qml +++ b/src/activities/lang/ActivityInfo.qml @@ -1,48 +1,48 @@ /* GCompris - lang.qml * * Copyright (C) Siddhesh suthar (Qt Quick port) * * Authors: * Pascal Georges (pascal.georges1@free.fr) (GTK+ version) * Holger Kaelberer (Qt Quick port of imageid) * Siddhesh suthar (Qt Quick port) * Bruno Coudoin (Integration Lang dataset) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "lang/Lang.qml" difficulty: 4 icon: "lang/lang.svg" author: "siddhesh suthar <siddhesh.it@gmail.com>" demo: true //: Activity title title: qsTr("Enrich your vocabulary") //: Help title description: qsTr("Complete language learning activities.") // intro: "Select the language you want to learn then review the words before doing the exercises." //: Help goal goal: qsTr("Enrich your vocabulary in your native language or in a foreign one.") //: Help prerequisite prerequisite: qsTr("Reading") //: Help manual manual: qsTr("Review a set of words. Each word is shown with a voice, a text and an image.
" + "When done, you are suggested an exercise in which, given the voice, " + "you must find the right word. In the configuration, you can select the language you want to learn.") credit: qsTr("The images and voices come from the Art4Apps project: http://www.art4apps.org/.") - section: "reading" + section: "reading vocabulary" createdInVersion: 5000 } diff --git a/src/activities/leftright/ActivityInfo.qml b/src/activities/leftright/ActivityInfo.qml index 935f55e00..e2d8d7deb 100644 --- a/src/activities/leftright/ActivityInfo.qml +++ b/src/activities/leftright/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "leftright/Leftright.qml" difficulty: 2 icon: "leftright/leftright.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Find your left and right hands") //: Help title description: qsTr("Determine if a hand is a right or a left hand") // intro: "Guess if the picture presents a left or right hand and click on the correct answer." //: Help goal goal: qsTr("Distinguish right and left hands from different points of view. Spatial representation") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("You can see a hand: is it a left hand or a right hand? Click on the left button, or the right button depending on the displayed hand.") credit: "" - section: "discovery" - createdInVersion: 0 + section: "puzzle" + createdInVersion: 0 } diff --git a/src/activities/letter-in-word/ActivityInfo.qml b/src/activities/letter-in-word/ActivityInfo.qml index bbc17dd2b..3428e40d9 100644 --- a/src/activities/letter-in-word/ActivityInfo.qml +++ b/src/activities/letter-in-word/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Akshat Tandon * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "letter-in-word/LetterInWord.qml" difficulty: 2 icon: "letter-in-word/letter-in-word.svg" author: "Akshat Tandon <akshat.tandon@research.iiit.ac.ins>" demo: true //: Activity title title: qsTr("Letter in which word") //: Help title description: qsTr("A letter is written and/or spoken. Some words are displayed, the children must find the word or the words in which this letter appears.") //intro: "Click on all the words containing the wanted letter." //: Help goal goal: qsTr("Select all the words which contain the spoken letter.") //: Help prerequisite prerequisite: qsTr("spellings, letter recognition") //: Help manual manual: qsTr("A letter is displayed on the flag attached to the plane, select all the words or the objects in which the letter appears and then press OK.") credit: "" - section: "reading" + section: "reading words" createdInVersion: 7000 } diff --git a/src/activities/lightsoff/ActivityInfo.qml b/src/activities/lightsoff/ActivityInfo.qml index bfec4d233..15a701018 100644 --- a/src/activities/lightsoff/ActivityInfo.qml +++ b/src/activities/lightsoff/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Stephane Mankowski * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "lightsoff/Lightsoff.qml" difficulty: 6 icon: "lightsoff/lightsoff.svg" author: "Stephane Mankowski <stephane@mankowski.fr>" demo: true //: Activity title title: qsTr("Lights Off") //: Help title description: qsTr("The aim is to switch off all the lights.") // intro: "Click on the lamps to turn them off." //: Help goal goal: qsTr("The aim is to switch off all the lights.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("The effect of pressing a button is to toggle the state of that button, and of its immediate vertical and horizontal neighbors. The sun and the color of the sky depend on the number of clicks needed to solve the puzzle. If you click on Tux, the solution is shown.") credit: qsTr("The solver algorithm is described on Wikipedia. To know more about the Lights Off game: <http://en.wikipedia.org/wiki/Lights_Out_(game)>") - section: "puzzle" + section: "discovery logic" createdInVersion: 0 } diff --git a/src/activities/louis-braille/ActivityInfo.qml b/src/activities/louis-braille/ActivityInfo.qml index d78708121..7e277cc0f 100644 --- a/src/activities/louis-braille/ActivityInfo.qml +++ b/src/activities/louis-braille/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Arkit Vora * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "louis-braille/LouisBraille.qml" difficulty: 4 icon: "louis-braille/louis-braille.svg" author: "Arkit Vora <arkitvora123@gmail.com>" demo: true //: Activity title title: qsTr("The History of Louis Braille") //: Help title description: qsTr("Review the major dates of the inventor of the Braille System") //intro: "Discover the history of Louis Braille." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Read the history of Louis Braille, his biography, and the invention of the Braille system. Click on the previous and next buttons to move between the story pages. At the end, arrange the sequence in chronological order.") credit: qsTr("Louis Braille Video: <http:\/\/www.youtube.com/watch?v=9bdfC2j_4x4>") - section: "discovery braille" + section: "experiment history" createdInVersion: 4000 } diff --git a/src/activities/magic-hat-minus/ActivityInfo.qml b/src/activities/magic-hat-minus/ActivityInfo.qml index f960174ae..51f3276e3 100644 --- a/src/activities/magic-hat-minus/ActivityInfo.qml +++ b/src/activities/magic-hat-minus/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Thibaut ROMAIN * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "magic-hat-minus/MagicHat.qml" difficulty: 2 icon: "magic-hat-minus/magic-hat-minus.svg" author: "Thibaut ROMAIN <thibrom@gmail.com>" demo: true //: Activity title title: qsTr("The magician hat") //: Help title description: qsTr("Count how many items are under the magic hat after some have got away") // intro: "Click on the hat. How many stars are still hiding under the hat." //: Help goal goal: qsTr("Learn subtraction") //: Help prerequisite prerequisite: qsTr("Subtraction") //: Help manual manual: qsTr("Click on the hat to open it. Stars go in and a few stars escape. You have to count how many are still under the hat. Click on the bottom area to input your answer and on the OK button to validate your answer.") credit: "" - section: "math numeration" + section: "math arithmetic" createdInVersion: 0 } diff --git a/src/activities/magic-hat-plus/ActivityInfo.qml b/src/activities/magic-hat-plus/ActivityInfo.qml index 9739e21eb..363966f9e 100644 --- a/src/activities/magic-hat-plus/ActivityInfo.qml +++ b/src/activities/magic-hat-plus/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Thib ROMAIN * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "magic-hat-plus/MagicHatPlus.qml" difficulty: 2 icon: "magic-hat-plus/magic-hat-plus.svg" author: "Thib ROMAIN <thibrom@gmail.com>" demo: true //: Activity title title: qsTr("The magician hat") //: Help title description: qsTr("Count how many items are under the magic hat") // intro: "Count the number of stars hidden under the hat and then click on the stars to indicate their number." //: Help goal goal: qsTr("Learn addition") //: Help prerequisite prerequisite: qsTr("Addition") //: Help manual manual: qsTr("Click on the hat to open it. Under the hat, how many stars can you see moving around? Count carefully. Click on the bottom area to input your answer and on the OK button to validate your answer.") credit: "" - section: "math numeration" + section: "math arithmetic" createdInVersion: 0 } diff --git a/src/activities/maze/ActivityInfo.qml b/src/activities/maze/ActivityInfo.qml index 582056658..5e2b94fed 100644 --- a/src/activities/maze/ActivityInfo.qml +++ b/src/activities/maze/ActivityInfo.qml @@ -1,45 +1,45 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Stephane Mankowski * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "maze/Maze.qml" difficulty: 1 icon: "maze/maze.svg" author: "Stephane Mankowski <stephane@mankowski.fr>" demo: true //: Activity title title: qsTr("Maze") //: Help title description: qsTr("Help Tux get out of this maze") // intro: "Use the arrows keys or swipe the touch screen to help Tux find his way out." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Use the arrow keys or swipe the touch screen to move Tux up to the door.") + "

" + qsTr("At the first levels, Tux walks comfortably, one step on each move request, through the maze.") + "

" + qsTr("For larger mazes, there is a special walking mode, called \"run-fast-mode\". If this run-fast-mode is enabled, Tux will run all the way automatically until he reaches a fork and you have to decide which way to go further.") + "

" + qsTr("You can see whether this mode is enabled or not, by looking at Tux's feet: If Tux is barefooted, \"run-fast-mode\" is disabled. And if he wears red sport shoes, \"run-fast-mode\" is enabled.") + "

" + qsTr("At higher levels, run-fast-mode will be enabled automatically. If you want to use this feature in earlier levels or want to disable it in advanced levels, click on the \"barefoot / sportshoe\"-icon in the upper left corner of the screen to toggle the run-fast-mode. \t") credit: "" - section: "discovery maze" + section: "fun maze" createdInVersion: 0 } diff --git a/src/activities/mazeinvisible/ActivityInfo.qml b/src/activities/mazeinvisible/ActivityInfo.qml index cefc988ba..64059e7f7 100644 --- a/src/activities/mazeinvisible/ActivityInfo.qml +++ b/src/activities/mazeinvisible/ActivityInfo.qml @@ -1,45 +1,45 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Stephane Mankowski * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "mazeinvisible/Mazeinvisible.qml" difficulty: 4 icon: "mazeinvisible/mazeinvisible.svg" author: "Stephane Mankowski <stephane@mankowski.fr>" demo: true //: Activity title title: qsTr("Invisible Maze") //: Help title description: qsTr("Guide Tux out of the invisible maze") // intro: "Use the arrow keys or swipe the touch screen to guide Tux out. Use the maze icon or the space key to see the map." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Use the arrow keys or swipe the touch screen to move Tux up to the door. Use the maze icon or the spacebar to switch between invisible and visible modes. Visible mode just gives you an indication of your position, like a map. You cannot move Tux in visible mode.") + "

" + qsTr("At the first levels, Tux walks comfortably, one step on each move request, through the maze.") + "

" + qsTr("For larger mazes, there is a special walking mode, called \"run-fast-mode\". If this run-fast-mode is enabled, Tux will run all the way automatically until he reaches a fork and you have to decide which way to go further.") + "

" + qsTr("You can see whether this mode is enabled or not, by looking at Tux's feet: If Tux is barefooted, \"run-fast-mode\" is disabled. And if he wears red sport shoes, \"run-fast-mode\" is enabled.") + "

" + qsTr("At higher levels, run-fast-mode will be enabled automatically. If you want to use this feature in earlier levels or want to disable it in advanced levels, click on the \"barefoot / sportshoe\"-icon in the upper left corner of the screen to toggle the run-fast-mode. \t") credit: "" - section: "discovery maze" + section: "fun maze" createdInVersion: 0 } diff --git a/src/activities/mazerelative/ActivityInfo.qml b/src/activities/mazerelative/ActivityInfo.qml index 13c2b6fc4..c6bc67544 100644 --- a/src/activities/mazerelative/ActivityInfo.qml +++ b/src/activities/mazerelative/ActivityInfo.qml @@ -1,46 +1,46 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Stephane Mankowski * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "mazerelative/Mazerelative.qml" difficulty: 3 icon: "mazerelative/mazerelative.svg" author: "Stephane Mankowski <stephane@mankowski.fr>" demo: true //: Activity title title: qsTr("Relative Maze") //: Help title description: qsTr("Help Tux get out of this maze (Move is relative)") // intro: "Help Tux find his way out. Left and right are used to turn and up to go forward." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Use the arrow keys or swipe the touch screen to move Tux up to the door.") + "

" + qsTr("In this maze, the move is relative (first person). Left and right are used to turn and up to go forward.") + "

" + qsTr("At the first levels, Tux walks comfortably, one step on each move request, through the maze.") + "

" + qsTr("For larger mazes, there is a special walking mode, called \"run-fast-mode\". If this run-fast-mode is enabled, Tux will run all the way automatically until he reaches a fork and you have to decide which way to go further.") + "

" + qsTr("You can see whether this mode is enabled or not, by looking at Tux's feet: If Tux is barefooted, \"run-fast-mode\" is disabled. And if he wears red sport shoes, \"run-fast-mode\" is enabled.") + "

" + qsTr("At higher levels, run-fast-mode will be enabled automatically. If you want to use this feature in earlier levels or want to disable it in advanced levels, click on the \"barefoot / sportshoe\"-icon in the upper left corner of the screen to toggle the run-fast-mode. \t") credit: "" - section: "discovery mazeMenu" + section: "fun maze" createdInVersion: 0 } diff --git a/src/activities/memory-case-association-tux/ActivityInfo.qml b/src/activities/memory-case-association-tux/ActivityInfo.qml index 2f0bbe390..2d79e9e6e 100644 --- a/src/activities/memory-case-association-tux/ActivityInfo.qml +++ b/src/activities/memory-case-association-tux/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2017 Aman Kumar Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-case-association-tux/MemoryCaseAssociationTux.qml" difficulty: 2 icon: "memory-case-association-tux/memory-case-association-tux.svg" author: "Aman Kumar Gupta <gupta2140@gmail.com>" demo: true //: Activity title title: qsTr("Case association memory game against Tux") //: Help title description: qsTr("Turn the cards over to match the alphabet with its lower/uppercase value against Tux.") //intro: "Match the upper case card with its lower case pair." //: Help goal goal: qsTr("Learning lower and upper case alphabets, memory.") //: Help prerequisite prerequisite: qsTr("Knowing alphabets") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding the lower/uppercase of an alphabet, and you have to associate all the upper case letters with its lower case and vice versa. Tux teacher does the same.") credit: "" - section: "reading" + section: "reading letters" createdInVersion: 9000 } diff --git a/src/activities/memory-case-association/ActivityInfo.qml b/src/activities/memory-case-association/ActivityInfo.qml index 96bed2b5a..658e70f24 100644 --- a/src/activities/memory-case-association/ActivityInfo.qml +++ b/src/activities/memory-case-association/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2017 Aman Kumar Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-case-association/MemoryCaseAssociation.qml" difficulty: 2 icon: "memory-case-association/memory-case-association.svg" author: "Aman Kumar Gupta <gupta2140@gmail.com>" demo: true //: Activity title title: qsTr("Case association memory game") //: Help title description: qsTr("Turn the cards over to match the alphabet with its lower/uppercase value.") //intro: "Match the upper case card with its lower case pair." //: Help goal goal: qsTr("Learning lower and upper case alphabets, memory.") //: Help prerequisite prerequisite: qsTr("Knowing alphabets") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding the lower/uppercase of an alphabet, and you have to associate all the upper case letters with its lower case and vice versa.") credit: "" - section: "reading" + section: "reading letters" createdInVersion: 9000 } diff --git a/src/activities/memory-math-add-minus-mult-div-tux/ActivityInfo.qml b/src/activities/memory-math-add-minus-mult-div-tux/ActivityInfo.qml index 9a7ddf4dc..1ca17be19 100644 --- a/src/activities/memory-math-add-minus-mult-div-tux/ActivityInfo.qml +++ b/src/activities/memory-math-add-minus-mult-div-tux/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-add-minus-mult-div-tux/MemoryMathAddMinusMultDivTux.qml" difficulty: 6 icon: "memory-math-add-minus-mult-div-tux/memory-math-add-minus-mult-div-tux.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("All operations memory game against Tux") //: Help title description: qsTr("Turn the cards over to find a matching operation, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice addition, subtraction, multiplication, division, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Addition, subtraction, multiplication, division") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found more than Tux, you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-add-minus-mult-div/ActivityInfo.qml b/src/activities/memory-math-add-minus-mult-div/ActivityInfo.qml index 4db5a7ed2..1016e378e 100644 --- a/src/activities/memory-math-add-minus-mult-div/ActivityInfo.qml +++ b/src/activities/memory-math-add-minus-mult-div/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-add-minus-mult-div/MemoryMathAddMinusMultDiv.qml" difficulty: 6 icon: "memory-math-add-minus-mult-div/memory-math-add-minus-mult-div.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("All operations memory game") //: Help title description: qsTr("Turn the cards over to find a matching operation, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice addition, subtraction, multiplication, division, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Addition, subtraction, multiplication, division") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found all the operations, you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-add-minus-tux/ActivityInfo.qml b/src/activities/memory-math-add-minus-tux/ActivityInfo.qml index a13d0f3b4..8c367bbff 100644 --- a/src/activities/memory-math-add-minus-tux/ActivityInfo.qml +++ b/src/activities/memory-math-add-minus-tux/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-add-minus-tux/MemoryMathAddMinusTux.qml" difficulty: 4 icon: "memory-math-add-minus-tux/memory-math-add-minus-tux.svg" author: "JB BUTET <ashashiwa@mgail.com>" demo: true //: Activity title title: qsTr("Addition and subtraction memory game against Tux") //: Help title description: qsTr("Turn the cards over to find two numbers which add or subtract the same, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice addition, subtraction, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Addition and subtraction") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found more than Tux, and you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-add-minus/ActivityInfo.qml b/src/activities/memory-math-add-minus/ActivityInfo.qml index 20acb2ee0..6266444d5 100644 --- a/src/activities/memory-math-add-minus/ActivityInfo.qml +++ b/src/activities/memory-math-add-minus/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-add-minus/MemoryMathAddMinus.qml" difficulty: 4 icon: "memory-math-add-minus/memory-math-add-minus.svg" author: "JB BUTET <ashashiwa@mgail.com>" demo: true //: Activity title title: qsTr("Addition and subtraction memory game") //: Help title description: qsTr("Turn the cards over to find two numbers which add or subtract the same, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice addition, subtraction, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Addition and subtraction") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found all the operations, you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-add-tux/ActivityInfo.qml b/src/activities/memory-math-add-tux/ActivityInfo.qml index 157946de9..cad9ba748 100644 --- a/src/activities/memory-math-add-tux/ActivityInfo.qml +++ b/src/activities/memory-math-add-tux/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-add-tux/MemoryMathAddTux.qml" difficulty: 3 icon: "memory-math-add-tux/memory-math-add-tux.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Addition memory game against Tux") //: Help title description: qsTr("Turn the cards over to find two numbers which add up the same, until all the cards are gone. Tux will do the same. You have to beat it!") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice adding up, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Addition") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an adding-up sum, or the answer to the sum. An adding-up sum looks like this: 2 + 2 = 4 The numbers on one side of the equals sign (=) have to be the same as the number on the other side. So 2 (1, 2) and 2 more (3, 4) makes 4. Count aloud when you work this out, and count on your fingers, because the more ways you do something, the better you remember it. You can also use blocks, or buttons, or anything you can count. If you have lots of brothers and sisters, you can count them! Or the kids in your class at school. Sing counting songs. Count lots of things, for practice, and you'll be very good at adding-up! In this game, these cards are hiding the two parts of an adding-up sum (also called an addition sum). You need to find the two parts of the sum, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole sum. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper sum. When you do that, both those cards disappear! When you've made them all disappear, found more sums than Tux and you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-add/ActivityInfo.qml b/src/activities/memory-math-add/ActivityInfo.qml index 6029a6c4b..75d880a6d 100644 --- a/src/activities/memory-math-add/ActivityInfo.qml +++ b/src/activities/memory-math-add/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-add/MemoryMathAdd.qml" difficulty: 3 icon: "memory-math-add/memory-math-add.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Addition memory game") //: Help title description: qsTr("Turn the cards over to find two numbers which add up the same, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice adding up, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Addition") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an adding-up sum, or the answer to the sum. An adding-up sum looks like this: 2 + 2 = 4 The numbers on one side of the equals sign (=) have to be the same as the number on the other side. So 2 (1, 2) and 2 more (3, 4) makes 4. Count aloud when you work this out, and count on your fingers, because the more ways you do something, the better you remember it. You can also use blocks, or buttons, or anything you can count. If you have lots of brothers and sisters, you can count them! Or the kids in your class at school. Sing counting songs. Count lots of things, for practice, and you'll be very good at adding-up! In this game, these cards are hiding the two parts of an adding-up sum (also called an addition sum). You need to find the two parts of the sum, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole sum. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper sum. When you do that, both those cards disappear! When you've made them all disappear, found all the sums, you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-div-tux/ActivityInfo.qml b/src/activities/memory-math-div-tux/ActivityInfo.qml index 98613b573..887d3be1b 100644 --- a/src/activities/memory-math-div-tux/ActivityInfo.qml +++ b/src/activities/memory-math-div-tux/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-div-tux/MemoryMathDivTux.qml" difficulty: 6 icon: "memory-math-div-tux/memory-math-div-tux.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Division memory game against Tux") //: Help title description: qsTr("Turn the cards over to find a matching operation, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice division, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Division") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found more than Tux and you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-div/ActivityInfo.qml b/src/activities/memory-math-div/ActivityInfo.qml index 202cdd160..4ae865257 100644 --- a/src/activities/memory-math-div/ActivityInfo.qml +++ b/src/activities/memory-math-div/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-div/MemoryMathDiv.qml" difficulty: 6 icon: "memory-math-div/memory-math-div.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Division memory game") //: Help title description: qsTr("Turn the cards over to find a matching operation, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice division, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Division") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found all the operations, you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-minus-tux/ActivityInfo.qml b/src/activities/memory-math-minus-tux/ActivityInfo.qml index a27d8271f..5d14d7c8b 100644 --- a/src/activities/memory-math-minus-tux/ActivityInfo.qml +++ b/src/activities/memory-math-minus-tux/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-minus-tux/MemoryMathMinusTux.qml" difficulty: 4 icon: "memory-math-minus-tux/memory-math-minus-tux.svg" author: "JB BUTET <ashashiwa@mgail.com>" demo: true //: Activity title title: qsTr("Subtraction memory game against Tux") //: Help title description: qsTr("Turn the cards over to find two numbers which subtract the same, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice subtraction, until all the cards are gone. Tux will do the same") //: Help prerequisite prerequisite: qsTr("subtraction") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found more operations than Tux and you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-minus/ActivityInfo.qml b/src/activities/memory-math-minus/ActivityInfo.qml index 61c840ca0..c233d0e4d 100644 --- a/src/activities/memory-math-minus/ActivityInfo.qml +++ b/src/activities/memory-math-minus/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-minus/MemoryMathMinus.qml" difficulty: 4 icon: "memory-math-minus/memory-math-minus.svg" author: "JB BUTET <ashashiwa@mgail.com>" demo: true //: Activity title title: qsTr("Subtraction memory game") //: Help title description: qsTr("Turn the cards over to find two numbers which subtract the same, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice subtraction, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Subtraction") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found all the operations, you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-mult-div-tux/ActivityInfo.qml b/src/activities/memory-math-mult-div-tux/ActivityInfo.qml index 8c226ac5e..ad51dcc25 100644 --- a/src/activities/memory-math-mult-div-tux/ActivityInfo.qml +++ b/src/activities/memory-math-mult-div-tux/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-mult-div-tux/MemoryMathMultDivTux.qml" difficulty: 6 icon: "memory-math-mult-div-tux/memory-math-mult-div-tux.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Multiplication and division memory game against Tux") //: Help title description: qsTr("Turn the cards over to find a matching operation, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice multiplication, division, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Multiplication, division") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found more than Tux and you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-mult-div/ActivityInfo.qml b/src/activities/memory-math-mult-div/ActivityInfo.qml index 4f94d8bdf..6c5d5463c 100644 --- a/src/activities/memory-math-mult-div/ActivityInfo.qml +++ b/src/activities/memory-math-mult-div/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-mult-div/MemoryMathMultDiv.qml" difficulty: 6 icon: "memory-math-mult-div/memory-math-mult-div.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Multiplication and division memory game") //: Help title description: qsTr("Turn the cards over to find a matching operation, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice multiplication, division, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Multiplication, division") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found all the operations, you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-mult-tux/ActivityInfo.qml b/src/activities/memory-math-mult-tux/ActivityInfo.qml index fde9ad3df..ac396868f 100644 --- a/src/activities/memory-math-mult-tux/ActivityInfo.qml +++ b/src/activities/memory-math-mult-tux/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-mult-tux/MemoryMathMultTux.qml" difficulty: 5 icon: "memory-math-mult-tux/memory-math-mult-tux.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Multiplication memory game against Tux") //: Help title description: qsTr("Turn the cards over to find two numbers which multiply the same, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice multiplication, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Multiplication") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found more than Tux and you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-math-mult/ActivityInfo.qml b/src/activities/memory-math-mult/ActivityInfo.qml index dff39dc20..28cd54d21 100644 --- a/src/activities/memory-math-mult/ActivityInfo.qml +++ b/src/activities/memory-math-mult/ActivityInfo.qml @@ -1,42 +1,42 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-math-mult/MemoryMathMult.qml" difficulty: 5 icon: "memory-math-mult/memory-math-mult.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Multiplication memory game") //: Help title description: qsTr("Turn the cards over to find two numbers which multiply the same, until all the cards are gone.") // intro: "Turn over two cards to match the calculation with its answer." //: Help goal goal: qsTr("Practice multiplication, until all the cards are gone.") //: Help prerequisite prerequisite: qsTr("Multiplication") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding an operation, or the answer to it. In this game, these cards are hiding the two parts of an operation. You need to find the two parts of the operation, and bring them together again. Click on a card to see what number it's hiding, then try to find the other card that goes with it, to make a whole operation. You can only turn over two cards in one go, so you need to remember where the numbers are hiding, then you can match them when you find their other half. You're doing the job of the equals sign, and the numbers need you to put them together and make a proper equality. When you do that, both those cards disappear! When you've made them all disappear, found all the operations, you've won the game!") credit: "" - section: "math memory" + section: "math memory arithmetic" createdInVersion: 0 } diff --git a/src/activities/memory-tux/ActivityInfo.qml b/src/activities/memory-tux/ActivityInfo.qml index 730e5277e..51170261f 100644 --- a/src/activities/memory-tux/ActivityInfo.qml +++ b/src/activities/memory-tux/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-tux/MemoryTux.qml" difficulty: 1 icon: "memory-tux/memory-tux.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Memory Game with images against Tux") //: Help title description: qsTr("Flip the cards to find the matching pairs against Tux") // intro: "Click on a card and find its double." //: Help goal goal: qsTr("Train your memory and remove all the cards") //: Help prerequisite prerequisite: qsTr("Mouse-manipulation") //: Help manual manual: qsTr("A set of blank cards is shown. Each card has a picture on the other side, and each picture card has a twin exactly the same. Click on a card to see its hidden picture, and try to match the twins. You can only turn over two cards at once, so you need to remember where a picture is, while you look for its twin. When you turn over the twins, they both disappear. Tux teacher do the same.") credit: "" - section: "discovery memory" + section: "fun memory" createdInVersion: 0 } diff --git a/src/activities/memory-wordnumber/ActivityInfo.qml b/src/activities/memory-wordnumber/ActivityInfo.qml index 7bb5179b7..fe8e35147 100644 --- a/src/activities/memory-wordnumber/ActivityInfo.qml +++ b/src/activities/memory-wordnumber/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory-wordnumber/MemoryWordnumber.qml" difficulty: 3 icon: "memory-wordnumber/memory-wordnumber.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Wordnumber memory game") //: Help title description: qsTr("Turn the cards over to match the number with the word matching it.") // intro: "Match the numeric with the word." //: Help goal goal: qsTr("Reading numbers, memory.") //: Help prerequisite prerequisite: qsTr("Reading") //: Help manual manual: qsTr("You can see some cards, but you can't see what's on the other side of them. Each card is hiding the numeral form of a number, or the word to write it.") credit: "" - section: "reading" + section: "math numeration" createdInVersion: 0 } diff --git a/src/activities/memory/ActivityInfo.qml b/src/activities/memory/ActivityInfo.qml index d039d2ead..6af2b18cf 100644 --- a/src/activities/memory/ActivityInfo.qml +++ b/src/activities/memory/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 JB BUTET * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "memory/Memory.qml" difficulty: 1 icon: "memory/memory.svg" author: "JB BUTET <ashashiwa@gmail.com>" demo: true //: Activity title title: qsTr("Memory Game with images") //: Help title description: qsTr("Flip the cards to find the matching pairs") // intro: "Click on a card and find its double." //: Help goal goal: qsTr("Train your memory and remove all the cards") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("A set of blank cards is shown. Each card has a picture on the other side, and each picture card has a twin exactly the same. Click on a card to see its hidden picture, and try to match the twins. You can only turn over two cards at once, so you need to remember where a picture is, while you look for its twin. When you turn over the twins, they both disappear.") credit: "" - section: "discovery memory" + section: "fun memory" createdInVersion: 0 } diff --git a/src/activities/menu/Menu.qml b/src/activities/menu/Menu.qml index 365c05a3e..9c8d2cd7a 100644 --- a/src/activities/menu/Menu.qml +++ b/src/activities/menu/Menu.qml @@ -1,781 +1,890 @@ /* GCompris - Menu.qml * * Copyright (C) 2014 Bruno Coudoin * * Authors: * Bruno Coudoin (Qt Quick port) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import QtQuick 2.6 import "../../core" import GCompris 1.0 import QtGraphicalEffects 1.0 import "qrc:/gcompris/src/core/core.js" as Core import QtQuick.Controls 1.5 import QtQuick.Controls.Styles 1.4 /** * GCompris' top level menu screen. * * Displays a grid of available activities divided subdivided in activity * categories/sections. * * The visibility of the section row is toggled by the setting * ApplicationSettings.sectionVisible. * * The list of available activities depends on the following settings: * * * ApplicationSettings.showLockedActivities * * ApplicationSettings.filterLevelMin * * ApplicationSettings.filterLevelMax * * @inherit QtQuick.Item */ ActivityBase { id: activity focus: true activityInfo: ActivityInfoTree.rootMenu onBack: { pageView.pop(to); // Restore focus that has been taken by the loaded activity if(pageView.currentItem == activity) focus = true; } onHome: { if(pageView.depth === 1 && !ApplicationSettings.isKioskMode) { Core.quit(main); } else { pageView.pop(); // Restore focus that has been taken by the loaded activity if(pageView.currentItem == activity) focus = true; } } onDisplayDialog: pageView.push(dialog) onDisplayDialogs: { var toPush = new Array(); for (var i = 0; i < dialogs.length; i++) { toPush.push({item: dialogs[i]}); } pageView.push(toPush); } Connections { // At the launch of the application, box2d check is performed after we // first initialize the menu. This connection is to refresh // automatically the menu at start. target: ApplicationInfo onIsBox2DInstalledChanged: { - ActivityInfoTree.filterByTag(activity.currentTag) + ActivityInfoTree.filterByTag(activity.currentTag, currentCategory) ActivityInfoTree.filterLockedActivities() ActivityInfoTree.filterEnabledActivities() } } // @cond INTERNAL_DOCS property string url: "qrc:/gcompris/src/activities/menu/resource/" property var sections: [ { icon: activity.url + "all.svg", tag: "favorite" }, { icon: activity.url + "computer.svg", tag: "computer" }, { icon: activity.url + "discovery.svg", - tag: "discovery" + tag: "discovery", + categories: [{ "logic": qsTr("Logic") }, + { "arts": qsTr("Fine Arts") }, + { "music": qsTr("Music") } + ] }, { icon: activity.url + "experience.svg", - tag: "experiment" + tag: "experiment", + categories: [{ "sciences": qsTr("Sciences") }, + { "history": qsTr("History") }, + { "geography": qsTr("Geography") } + ] }, { icon: activity.url + "fun.svg", tag: "fun" }, { icon: activity.url + "math.svg", - tag: "math" + tag: "math", + categories: [{ "numeration": qsTr("Numeration") }, + { "arithmetic": qsTr("Arithmetic") }, + { "measures": qsTr("Measures") } + ] }, { icon: activity.url + "puzzle.svg", tag: "puzzle" }, { icon: activity.url + "reading.svg", - tag: "reading" + tag: "reading", + categories: [{ "letters": qsTr("Letters") }, + { "words": qsTr("Words") }, + { "vocabulary": qsTr("Vocabulary") } + ] }, { icon: activity.url + "strategy.svg", tag: "strategy" }, { icon: activity.url + "search-icon.svg", tag: "search" } ] property string currentTag: sections[0].tag + property var currentTagCategories: [] + property string currentCategory: "" /// @endcond property string clickMode: "play" pageComponent: Image { id: background source: activity.url + "background.svg" sourceSize.width: Math.max(parent.width, parent.height) height: main.height fillMode: Image.PreserveAspectCrop Timer { // triggered once at startup to populate the keyboard id: keyboardFiller interval: 1000; running: true; onTriggered: { keyboard.populate(); } } function loadActivity() { // @TODO init of item would be better in setsource but it crashes on Qt5.6 // https://bugreports.qt.io/browse/QTBUG-49793 activityLoader.item.audioVoices = audioVoices activityLoader.item.audioEffects = audioEffects activityLoader.item.loading = loading //take the focus away from textField before starting an activity searchTextField.focus = false pageView.push(activityLoader.item) } Loader { id: activityLoader asynchronous: true onStatusChanged: { if (status == Loader.Loading) { loading.start(); } else if (status == Loader.Ready) { loading.stop(); loadActivity(); } else if (status == Loader.Error) loading.stop(); } } // Filters property bool horizontal: main.width >= main.height property int sectionIconWidth: { if(horizontal) return Math.min(100 * ApplicationInfo.ratio, main.width / (sections.length + 1)) else if(activity.currentTag === "search" && ApplicationSettings.isVirtualKeyboard) return Math.min(100 * ApplicationInfo.ratio, (background.height - (bar.height+keyboard.height)) / (sections.length + 1)) else return Math.min(100 * ApplicationInfo.ratio, (background.height - bar.height) / (sections.length + 1)) } property int sectionIconHeight: sectionIconWidth property int sectionCellWidth: sectionIconWidth * 1.1 property int sectionCellHeight: sectionIconHeight * 1.1 property var currentActiveGrid: activitiesGrid property bool keyboardMode: false Keys.onPressed: { // Ctrl-modifiers should never be handled by the search-field if (event.modifiers === Qt.ControlModifier) { if (event.key === Qt.Key_S) { // Ctrl+S toggle show / hide section ApplicationSettings.sectionVisible = !ApplicationSettings.sectionVisible } } else if(currentTag === "search") { // forward to the virtual keyboard the pressed keys if(event.key == Qt.Key_Backspace) keyboard.keypress(keyboard.backspace); else keyboard.keypress(event.text); } else if(event.key === Qt.Key_Space && currentActiveGrid.currentItem) { currentActiveGrid.currentItem.selectCurrentItem() } } Keys.onReleased: { keyboardMode = true event.accepted = false } - Keys.onTabPressed: currentActiveGrid = ((currentActiveGrid == activitiesGrid) ? - section : activitiesGrid); + Keys.onTabPressed: { + if(currentActiveGrid == section) { + if(currentTagCategories && currentTagCategories.length != 0) { + currentActiveGrid = categoriesGrid; + } + else { + currentActiveGrid = activitiesGrid; + } + } + else if(currentActiveGrid == categoriesGrid) { + currentActiveGrid = activitiesGrid; + } + else { + currentActiveGrid = section; + } + } Keys.onEnterPressed: if(currentActiveGrid.currentItem) currentActiveGrid.currentItem.selectCurrentItem(); Keys.onReturnPressed: if(currentActiveGrid.currentItem) currentActiveGrid.currentItem.selectCurrentItem(); Keys.onRightPressed: if(currentActiveGrid.currentItem) currentActiveGrid.moveCurrentIndexRight(); Keys.onLeftPressed: if(currentActiveGrid.currentItem) currentActiveGrid.moveCurrentIndexLeft(); Keys.onDownPressed: if(currentActiveGrid.currentItem && !currentActiveGrid.atYEnd) currentActiveGrid.moveCurrentIndexDown(); Keys.onUpPressed: if(currentActiveGrid.currentItem && !currentActiveGrid.atYBeginning) currentActiveGrid.moveCurrentIndexUp(); GridView { id: section model: sections width: horizontal ? main.width : sectionCellWidth height: { if(horizontal) return sectionCellHeight else if(activity.currentTag === "search" && ApplicationSettings.isVirtualKeyboard) return sectionCellHeight * (sections.length+1) else return main.height - bar.height } x: ApplicationSettings.sectionVisible ? section.initialX : -sectionCellWidth y: ApplicationSettings.sectionVisible ? section.initialY : -sectionCellHeight visible: ApplicationSettings.sectionVisible cellWidth: sectionCellWidth cellHeight: sectionCellHeight interactive: false keyNavigationWraps: true property int initialX: 4 property int initialY: 4 Component { id: sectionDelegate Item { id: backgroundSection width: sectionCellWidth height: sectionCellHeight Image { source: modelData.icon sourceSize.height: sectionIconHeight anchors.margins: 5 anchors.horizontalCenter: parent.horizontalCenter } ParticleSystemStarLoader { id: particles anchors.fill: backgroundSection clip: false } MouseArea { anchors.fill: backgroundSection onClicked: { selectCurrentItem() } } function selectCurrentItem() { section.currentIndex = index activity.currentTag = modelData.tag + activity.currentTagCategories = modelData.categories + if(modelData.categories != undefined) { + currentCategory = Object.keys(modelData.categories[0])[0]; + } + else { + currentCategory = "" + } particles.burst(10) if(modelData.tag === "search") { ActivityInfoTree.filterBySearch(searchTextField.text); } else { - ActivityInfoTree.filterByTag(modelData.tag) + ActivityInfoTree.filterByTag(modelData.tag, currentCategory) ActivityInfoTree.filterLockedActivities() ActivityInfoTree.filterEnabledActivities() } } } } delegate: sectionDelegate highlight: Item { width: sectionCellWidth height: sectionCellHeight Rectangle { anchors.fill: parent color: "#5AFFFFFF" } Image { source: "qrc:/gcompris/src/core/resource/button.svg" anchors.fill: parent } Behavior on x { SpringAnimation { spring: 2; damping: 0.2 } } Behavior on y { SpringAnimation { spring: 2; damping: 0.2 } } } } // Activities property int iconWidth: 120 * ApplicationInfo.ratio property int activityCellWidth: horizontal ? background.width / Math.floor(background.width / iconWidth) : (background.width - section.width) / Math.floor((background.width - section.width) / iconWidth) property int activityCellHeight: iconWidth * 1.7 Loader { id: warningOverlay anchors { top: horizontal ? section.bottom : parent.top bottom: parent.bottom left: horizontal ? parent.left : section.right right: parent.right margins: 4 } active: (ActivityInfoTree.menuTree.length === 0) && (currentTag === "favorite") sourceComponent: Item { anchors.fill: parent GCText { id: instructionTxt fontSize: smallSize y: height * 0.2 x: (parent.width - width) / 2 z: 2 width: parent.width * 0.6 horizontalAlignment: Text.AlignHCenter wrapMode: Text.WordWrap font.weight: Font.DemiBold color: 'white' text: qsTr("Put your favorite activities here by selecting the " + "sun at the top right of that activity.") } Rectangle { anchors.fill: instructionTxt anchors.margins: -6 z: 1 opacity: 0.5 radius: 10 border.width: 2 border.color: "black" gradient: Gradient { GradientStop { position: 0.0; color: "#000" } GradientStop { position: 0.9; color: "#666" } GradientStop { position: 1.0; color: "#AAA" } } } } } + GridView { + id: categoriesGrid + model: currentTagCategories + anchors.top: horizontal ? section.bottom : parent.top + interactive: false + keyNavigationWraps: true + width: horizontal ? main.width : main.width - section.width + visible: activity.currentTag !== "search" + x: { + if(currentTagCategories) { + if(horizontal) { + return categoriesGrid.width / (4 * (currentTagCategories.length+1)) + } + else { + return categoriesGrid.width / (4 * (currentTagCategories.length+1)) + section.width + } + } + else { + return 0 + } + } + + cellWidth: currentTagCategories ? categoriesGrid.width / currentTagCategories.length : 0 + cellHeight: height + height: searchTextField.height + + delegate: Button { + id: button + style: GCButtonStyle { + selected: currentCategory === button.category + } + width: categoriesGrid.width / (currentTagCategories.length + 1) + height: categoriesGrid.cellHeight + text: Object.values(modelData)[0] + property string category: Object.keys(modelData)[0] + onClicked: { + selectCurrentItem() + } + + function selectCurrentItem() { + categoriesGrid.currentIndex = index + currentCategory = Object.keys(modelData)[0] + ActivityInfoTree.filterByTag(currentTag, currentCategory) + ActivityInfoTree.filterLockedActivities() + ActivityInfoTree.filterEnabledActivities() + } + } + highlight: Rectangle { + width: activityCellWidth - activitiesGrid.spacing + height: activityCellHeight - activitiesGrid.spacing + color: "#AAFFFFFF" + border.width: 3 + border.color: "black" + visible: background.keyboardMode + Behavior on x { SpringAnimation { spring: 2; damping: 0.2 } } + Behavior on y { SpringAnimation { spring: 2; damping: 0.2 } } + } + } + GridView { id: activitiesGrid anchors { top: { if(searchBar.visible) return searchBar.bottom else - return horizontal ? section.bottom : parent.top + return categoriesGrid.bottom } bottom: bar.top left: horizontal ? parent.left : section.right margins: 4 } width: background.width cellWidth: activityCellWidth cellHeight: activityCellHeight clip: true model: ActivityInfoTree.menuTree keyNavigationWraps: true property int spacing: 10 delegate: Item { id: delegateItem width: activityCellWidth - activitiesGrid.spacing height: activityCellHeight - activitiesGrid.spacing enabled: clickMode === "play" || currentLevel != "" Rectangle { id: activityBackground width: parent.width height: parent.height anchors.horizontalCenter: parent.horizontalCenter color: "white" opacity: 0.5 } Image { source: "qrc:/gcompris/src/activities/" + icon; anchors.top: activityBackground.top anchors.horizontalCenter: parent.horizontalCenter width: iconWidth - activitiesGrid.spacing height: width sourceSize.width: width fillMode: Image.PreserveAspectFit anchors.margins: 5 opacity: delegateItem.enabled ? 1 : 0.5 Image { source: "qrc:/gcompris/src/core/resource/difficulty" + ActivityInfoTree.menuTree[index].difficulty + ".svg"; anchors.top: parent.top sourceSize.width: iconWidth * 0.15 x: 5 } Image { anchors { horizontalCenter: parent.horizontalCenter top: parent.top rightMargin: 4 } source: demo || !ApplicationSettings.isDemoMode ? "" : activity.url + "lock.svg" sourceSize.width: 30 * ApplicationInfo.ratio } Image { anchors { left: parent.left bottom: parent.bottom } source: ActivityInfoTree.menuTree[index].createdInVersion == ApplicationInfo.GCVersionCode ? activity.url + "new.svg" : "" sourceSize.width: 30 * ApplicationInfo.ratio } GCText { id: title anchors.top: parent.bottom anchors.horizontalCenter: parent.horizontalCenter horizontalAlignment: Text.AlignHCenter width: activityBackground.width fontSizeMode: Text.Fit minimumPointSize: 7 fontSize: regularSize elide: Text.ElideRight maximumLineCount: 2 wrapMode: Text.WordWrap text: ActivityInfoTree.menuTree[index].title } // If we have enough room at the bottom display the description GCText { id: description visible: delegateItem.height - (title.y + title.height) > description.height ? 1 : 0 anchors.top: title.bottom anchors.horizontalCenter: parent.horizontalCenter horizontalAlignment: Text.AlignHCenter width: activityBackground.width fontSizeMode: Text.Fit minimumPointSize: 7 fontSize: regularSize elide: Text.ElideRight maximumLineCount: 3 wrapMode: Text.WordWrap text: ActivityInfoTree.menuTree[index].description } } ParticleSystemStarLoader { id: particles anchors.fill: activityBackground } MouseArea { anchors.fill: activityBackground onClicked: selectCurrentItem() } Image { source: activity.url + (favorite ? "all.svg" : "all_disabled.svg"); anchors { top: parent.top right: parent.right rightMargin: 4 * ApplicationInfo.ratio } sourceSize.width: iconWidth * 0.25 visible: ApplicationSettings.sectionVisible MouseArea { anchors.fill: parent onClicked: favorite = !favorite } } DialogChooseLevel { id: dialogChooseLevel onClose: { home() } onSaveData: { currentLevel = dialogChooseLevel.chosenLevel ApplicationSettings.setCurrentLevel(name, currentLevel) } onStartActivity: { clickMode = "play" selectCurrentItem() } } function selectCurrentItem() { if(pageView.busy || !delegateItem.enabled) return if(clickMode == "play") { particles.burst(50) ActivityInfoTree.currentActivity = ActivityInfoTree.menuTree[index] activityLoader.setSource("qrc:/gcompris/src/activities/" + ActivityInfoTree.currentActivity.name, { 'menu': activity, 'activityInfo': ActivityInfoTree.currentActivity, 'levelFolder': currentLevel }) if (activityLoader.status == Loader.Ready) loadActivity() } else { dialogChooseLevel.currentActivity = ActivityInfoTree.menuTree[index] displayDialog(dialogChooseLevel); } } } highlight: Rectangle { width: activityCellWidth - activitiesGrid.spacing height: activityCellHeight - activitiesGrid.spacing color: "#AAFFFFFF" border.width: 3 border.color: "black" visible: background.keyboardMode Behavior on x { SpringAnimation { spring: 2; damping: 0.2 } } Behavior on y { SpringAnimation { spring: 2; damping: 0.2 } } } Rectangle { id: activitiesMask visible: false anchors.fill: activitiesGrid gradient: Gradient { GradientStop { position: 0.0; color: "#FFFFFFFF" } GradientStop { position: 0.92; color: "#FFFFFFFF" } GradientStop { position: 0.96; color: "#00FFFFFF"} } } layer.enabled: ApplicationInfo.useOpenGL layer.effect: OpacityMask { id: activitiesOpacity source: activitiesGrid maskSource: activitiesMask anchors.fill: activitiesGrid } } // The scroll buttons GCButtonScroll { visible: !ApplicationInfo.useOpenGL anchors.right: parent.right anchors.rightMargin: 5 * ApplicationInfo.ratio anchors.bottom: activitiesGrid.bottom anchors.bottomMargin: 30 * ApplicationInfo.ratio onUp: activitiesGrid.flick(0, 1127) onDown: activitiesGrid.flick(0, -1127) upVisible: activitiesGrid.visibleArea.yPosition <= 0 ? false : true downVisible: activitiesGrid.visibleArea.yPosition >= 1 ? false : true } - + + Rectangle { + id: categories + width: horizontal ? parent.width : parent.width - (section.width+10) + height: searchTextField.height + visible: sections[activity.currentTag] === "search" + anchors { + top: horizontal ? section.bottom : categoriesGrid.top + left: horizontal ? undefined : section.right + } + } + Rectangle { id: searchBar width: horizontal ? parent.width/2 : parent.width - (section.width+10) height: searchTextField.height visible: clickMode === "activityConfig" || activity.currentTag === "search" anchors { top: horizontal ? section.bottom : parent.top left: horizontal ? undefined : section.right } anchors.topMargin: horizontal ? 0 : 4 anchors.bottomMargin: horizontal ? 0 : 4 anchors.horizontalCenter: horizontal ? parent.horizontalCenter : undefined opacity: 0.5 radius: 10 border.width: 2 border.color: "black" gradient: Gradient { GradientStop { position: 0.3; color: "#000" } GradientStop { position: 0.9; color: "#666" } GradientStop { position: 1.0; color: "#AAA" } } Connections { // On mobile with GCompris' virtual keyboard activated: // Force invisibility of Androids virtual keyboard: target: (ApplicationInfo.isMobile && activity.currentTag === "search" && ApplicationSettings.isVirtualKeyboard) ? Qt.inputMethod : null onVisibleChanged: { if (ApplicationSettings.isVirtualKeyboard && visible) Qt.inputMethod.hide(); } onAnimatingChanged: { // note: seems to be never fired! if (ApplicationSettings.isVirtualKeyboard && Qt.inputMethod.visible) Qt.inputMethod.hide(); } } Connections { target: activity onCurrentTagChanged: { if (activity.currentTag === 'search') { searchTextField.focus = true; } else activity.focus = true; } } GCText { id: activitySettingsLabel text: qsTr("Activity Settings") visible: clickMode === "activityConfig" width: parent.width height: paintedHeight anchors.verticalCenter: parent.verticalCenter horizontalAlignment: Text.AlignHCenter color: "black" } TextField { id: searchTextField width: parent.width visible: activity.currentTag === "search" textColor: "black" font.pointSize: 16 font.bold: true horizontalAlignment: TextInput.AlignHCenter verticalAlignment: TextInput.AlignVCenter font.family: GCSingletonFontLoader.fontLoader.name inputMethodHints: Qt.ImhNoPredictiveText // Note: we give focus to the textfield also in case // isMobile && !ApplicationSettings.isVirtualKeyboard // in conjunction with auto-hiding the inputMethod to always get // an input-cursor: activeFocusOnPress: true //ApplicationInfo.isMobile ? !ApplicationSettings.isVirtualKeyboard : true Keys.onReturnPressed: { if (ApplicationInfo.isMobile && !ApplicationSettings.isVirtualKeyboard) Qt.inputMethod.hide(); activity.focus = true; } onEditingFinished: { if (ApplicationInfo.isMobile && !ApplicationSettings.isVirtualKeyboard) Qt.inputMethod.hide(); activity.focus = true; } style: TextFieldStyle { placeholderTextColor: "black" } placeholderText: qsTr("Search specific activities") onTextChanged: ActivityInfoTree.filterBySearch(searchTextField.text); } } VirtualKeyboard { id: keyboard readonly property var letter: ActivityInfoTree.characters width: parent.width visible: activity.currentTag === "search" && ApplicationSettings.isVirtualKeyboard anchors.bottom: parent.bottom anchors.horizontalCenter: parent.horizontalCenter onKeypress: { if(text == keyboard.backspace) { searchTextField.text = searchTextField.text.slice(0, -1); } else if(text == keyboard.space) { searchTextField.text = searchTextField.text.concat(" "); } else { searchTextField.text = searchTextField.text.concat(text); } } function populate() { var tmplayout = []; var row = 0; var offset = 0; var cols; while(offset < letter.length-1) { if(letter.length <= 100) { cols = Math.ceil((letter.length-offset) / (3 - row)); } else { cols = background.horizontal ? (Math.ceil((letter.length-offset) / (15 - row))) :(Math.ceil((letter.length-offset) / (22 - row))) if(row == 0) { tmplayout[row] = new Array(); tmplayout[row].push({ label: keyboard.backspace }); tmplayout[row].push({ label: keyboard.space }); row ++; } } tmplayout[row] = new Array(); for (var j = 0; j < cols; j++) tmplayout[row][j] = { label: letter[j+offset] }; offset += j; row ++; } if(letter.length <= 100) { tmplayout[0].push({ label: keyboard.space }); tmplayout[row-1].push({ label: keyboard.backspace }); } keyboard.layout = tmplayout } } Bar { id: bar // No exit button on mobile, UI Guidelines prohibits it content: BarEnumContent { value: help | config | activityConfig | about | (ApplicationInfo.isMobile ? 0 : exit) } anchors.bottom: keyboard.visible ? keyboard.top : parent.bottom onAboutClicked: { searchTextField.focus = false displayDialog(dialogAbout) } onHelpClicked: { searchTextField.focus = false displayDialog(dialogHelp) } onActivityConfigClicked: { if(clickMode == "play") { clickMode = "activityConfig" } else { clickMode = "play" } } onConfigClicked: { searchTextField.focus = false dialogActivityConfig.active = true dialogActivityConfig.loader.item.loadFromConfig() displayDialog(dialogActivityConfig) } } DialogAbout { id: dialogAbout onClose: home() } DialogHelp { id: dialogHelp onClose: home() activityInfo: ActivityInfoTree.rootMenu } DialogActivityConfig { id: dialogActivityConfig currentActivity: activity content: Component { ConfigurationItem { id: configItem width: dialogActivityConfig.width - 50 * ApplicationInfo.ratio } } onSaveData: { dialogActivityConfig.configItem.save(); } onClose: { if(activity.currentTag != "search") { - ActivityInfoTree.filterByTag(activity.currentTag) + ActivityInfoTree.filterByTag(activity.currentTag, currentCategory) ActivityInfoTree.filterLockedActivities() ActivityInfoTree.filterEnabledActivities() } else ActivityInfoTree.filterBySearch(searchTextField.text); home() } } } } diff --git a/src/activities/missing-letter/ActivityInfo.qml b/src/activities/missing-letter/ActivityInfo.qml index f268113b3..c275acabb 100644 --- a/src/activities/missing-letter/ActivityInfo.qml +++ b/src/activities/missing-letter/ActivityInfo.qml @@ -1,41 +1,41 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Amit Tomar * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "missing-letter/MissingLetter.qml" difficulty: 2 icon: "missing-letter/missing-letter.svg" author: "Amit Tomar <a.tomar@outlook.com>" demo: true //: Activity title title: qsTr("Missing Letter") //: Help title description: "" // intro: "Find the missing letter and complete the word by clicking on one of the letters proposed on the side." //: Help goal goal: qsTr("Training reading skills") //: Help prerequisite prerequisite: qsTr("Word reading") //: Help manual manual: qsTr("An object is displayed in the main area, and an incomplete word is printed under the picture. Select the missing letter to complete the word.") credit: "" - section: "reading" + section: "reading words" createdInVersion: 0 } diff --git a/src/activities/money/ActivityInfo.qml b/src/activities/money/ActivityInfo.qml index ab30d78fb..6ce672997 100644 --- a/src/activities/money/ActivityInfo.qml +++ b/src/activities/money/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "money/Money.qml" difficulty: 2 icon: "money/money.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Money") //: Help title description: qsTr("Practice money usage") // intro: "Click or tap on the money to pay." //: Help goal goal: qsTr("You must buy the different items and give the exact price. At higher levels, several items are displayed, and you must first calculate the total price.") //: Help prerequisite prerequisite: qsTr("Can count") //: Help manual manual: qsTr("Click or tap on the coins or paper money at the bottom of the screen to pay. If you want to remove a coin or note, click or tap on it on the upper screen area.") credit: "" - section: "math numeration money" + section: "math money measures" createdInVersion: 0 } diff --git a/src/activities/money_back/ActivityInfo.qml b/src/activities/money_back/ActivityInfo.qml index ccbd91d09..7aa1f6d95 100644 --- a/src/activities/money_back/ActivityInfo.qml +++ b/src/activities/money_back/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "money_back/MoneyBack.qml" difficulty: 3 icon: "money_back/money_back.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Give Tux his change") //: Help title description: qsTr("Practice money usage by giving Tux his change") // intro: "Click on the money at the bottom of the screen to give Tux his change." //: Help goal goal: qsTr("Tux bought different items from you and shows you his money. You must give him back his change. At higher levels, several items are displayed, and you must first calculate the total price.") //: Help prerequisite prerequisite: qsTr("Can count") //: Help manual manual: qsTr("Click on the coins or paper money at the bottom of the screen to pay. If you want to remove a coin or note, click on it on the upper screen area.") credit: "" - section: "math numeration money" + section: "math money measures" createdInVersion: 0 } diff --git a/src/activities/money_back_cents/ActivityInfo.qml b/src/activities/money_back_cents/ActivityInfo.qml index 6709efb9e..d667f3e0e 100644 --- a/src/activities/money_back_cents/ActivityInfo.qml +++ b/src/activities/money_back_cents/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "money_back_cents/MoneyBackCents.qml" difficulty: 5 icon: "money_back_cents/money_back_cents.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Give Tux his change, including cents") //: Help title description: qsTr("Practice money usage by giving Tux his change") // intro: "Click on the money at the bottom of the screen to give Tux his change." //: Help goal goal: qsTr("Tux bought different items from you and shows you his money. You must give him back his change. At higher levels, several items are displayed, and you must first calculate the total price.") //: Help prerequisite prerequisite: qsTr("Can count") //: Help manual manual: qsTr("Click on the coins or paper money at the bottom of the screen to pay. If you want to remove a coin or note, click on it on the upper screen area.") credit: "" - section: "math numeration money" + section: "math money measures" createdInVersion: 0 } diff --git a/src/activities/money_cents/ActivityInfo.qml b/src/activities/money_cents/ActivityInfo.qml index 8171023e0..8074124da 100644 --- a/src/activities/money_cents/ActivityInfo.qml +++ b/src/activities/money_cents/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "money_cents/MoneyCents.qml" difficulty: 5 icon: "money_cents/money_cents.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Money with cents") //: Help title description: qsTr("Practice money usage including cents") // intro: "Click on the money to pay." //: Help goal goal: qsTr("You must buy the different items and give the exact price. At higher levels, several items are displayed, and you must first calculate the total price.") //: Help prerequisite prerequisite: qsTr("Can count") //: Help manual manual: qsTr("Click on the coins or paper money at the bottom of the screen to pay. If you want to remove a coin or note, click on it on the upper screen area.") credit: "" - section: "math numeration money" + section: "math money measures" createdInVersion: 0 } diff --git a/src/activities/mosaic/ActivityInfo.qml b/src/activities/mosaic/ActivityInfo.qml index d53439ac6..59dc615e5 100644 --- a/src/activities/mosaic/ActivityInfo.qml +++ b/src/activities/mosaic/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "mosaic/Mosaic.qml" difficulty: 1 icon: "mosaic/mosaic.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Rebuild the mosaic") //: Help title description: qsTr("Put each item at the same place as in the given example.") // intro: "Put each item at the same place as in the given example." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("First select the item you want to put then click on a spot on the empty area") credit: "" - section: "discovery" + section: "puzzle" createdInVersion: 0 } diff --git a/src/activities/note_names/ActivityInfo.qml b/src/activities/note_names/ActivityInfo.qml index dba16ab19..ef88981e8 100644 --- a/src/activities/note_names/ActivityInfo.qml +++ b/src/activities/note_names/ActivityInfo.qml @@ -1,43 +1,43 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2018 Aman Kumar Gupta * * Authors: * Aman Kumar Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "note_names/NoteNames.qml" difficulty: 4 icon: "note_names/note_names.svg" author: "Aman Kumar Gupta <gupta2140@gmail.com>" demo: true //: Activity title title: qsTr("Name that Note") //: Help title description: qsTr("Learn the names of the notes, in bass and treble clef.") //intro: "Identify the note and press the correct piano key" //: Help goal goal: qsTr("To develop a good understanding of note position and naming convention. To prepare for the piano player and composition activity.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Identify the notes correctly and score a 100% to complete a level.") credit: "" - section: "discovery sound" + section: "discovery music" createdInVersion: 9500 } diff --git a/src/activities/paintings/ActivityInfo.qml b/src/activities/paintings/ActivityInfo.qml index ac86f40a8..3ed701476 100644 --- a/src/activities/paintings/ActivityInfo.qml +++ b/src/activities/paintings/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Pulkit Gupta * * Authors: * Bruno Coudoin (bruno.coudoin@gcompris.net) (GTK+ version) * Pulkit Gupta (Qt Quick port) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "paintings/Paintings.qml" difficulty: 1 icon: "paintings/paintings.svg" author: "Pulkit Gupta <pulkitgenius@gmail.com>" demo: true //: Activity title title: qsTr("Assemble the puzzle") //: Help title description: qsTr("Drag and Drop the items to rebuild the original paintings") // intro: "Catch and drop each piece on the points." //: Help goal goal: qsTr("Spatial representation") //: Help prerequisite prerequisite: qsTr("Mouse-manipulation: movement, drag and drop") //: Help manual manual: qsTr("Drag the image parts from the box on the left to create a painting on the main board.") - section: "puzzle" + section: "discovery arts puzzle" createdInVersion: 5000 } diff --git a/src/activities/photo_hunter/ActivityInfo.qml b/src/activities/photo_hunter/ActivityInfo.qml index 6c5feddd2..8659dc695 100644 --- a/src/activities/photo_hunter/ActivityInfo.qml +++ b/src/activities/photo_hunter/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Stefan Toncu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "photo_hunter/PhotoHunter.qml" difficulty: 2 icon: "photo_hunter/photo_hunter.svg" author: "Stefan Toncu <stefan.toncu29@gmail.com>" demo: true //: Activity title title: qsTr("Photo Hunter") //: Help title description: qsTr("Find the differences between the two pictures!") //intro: "look at the two pictures carefully and click where you see a difference" //: Help goal goal: qsTr("Visual Discrimination") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Observe the two pictures carefully. There are some slight differences. When you find a difference you must click on it.") credit: "" - section: "puzzle" + section: "fun" createdInVersion: 6000 } diff --git a/src/activities/piano_composition/ActivityInfo.qml b/src/activities/piano_composition/ActivityInfo.qml index 17c9ebbb1..a00d89258 100644 --- a/src/activities/piano_composition/ActivityInfo.qml +++ b/src/activities/piano_composition/ActivityInfo.qml @@ -1,58 +1,58 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Johnny Jazeix * Copyright (C) 2018 Aman Kumar Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "piano_composition/Piano_composition.qml" difficulty: 2 icon: "piano_composition/piano_composition.svg" author: "Aman Kumar Gupta <gupta2140@gmail.com>" demo: true //: Activity title title: qsTr("Piano Composition") //: Help title description: qsTr("An activity to learn how the piano keyboard works, how notes are written on a musical staff and explore music composition by loading and saving your work.") //: Help goal goal: qsTr("Develop an understanding of music composition, and increase interest in making music with a piano keyboard. This activity covers many fundamental aspects of music, but there is much more to explore about music composition. If you enjoy this activity but want a more advanced tool, try downloading Minuet (https://minuet.kde.org/), an open source software for music education or MuseScore (http://musescore.org/en/download), an open source music notation tool.") //: Help prerequisite prerequisite: qsTr("Familiarity with note naming conventions, note-names activity useful to learn this notation.") //: Help manual manual: qsTr("This activity has several levels, each level adds a new functionality to the previous level. Level 1: Basic piano keyboard (white keys only) and students can experiment with clicking the colored rectangle keys to write music. Level 2: The musical staff switches to bass clef, so pitches are lower than in previous level. Level 3: Option to choose between treble and bass clef, addition of black keys (sharp keys). Level 4: Flat notation used for black keys. Level 5: Option to select note duration (whole, half, quarter, eighth notes). Level 6: Addition of rests (whole, half, quarter, eighth rests) Level 7: Load children's melodies from around the world and also save your composition. The following keyboard bindings work in this game: - backspace: undo - delete: erase attempt - enter/return: OK button - space bar: play - left/right arrow keys: switch keyboard octave - number keys: - 1 to 8: Corresponding white keys in the order on the displayed octave. - F1 to F5: Corresponding black keys in the order on the displayed octave. ") credit: qsTr("The synthesizer original code is https://github.com/vsr83/miniSynth") - section: "discovery sound_group" + section: "discovery music" createdInVersion: 9500 } diff --git a/src/activities/play_piano/ActivityInfo.qml b/src/activities/play_piano/ActivityInfo.qml index 723aeca1a..ba3a579ea 100644 --- a/src/activities/play_piano/ActivityInfo.qml +++ b/src/activities/play_piano/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2018 Aman Kumar Gupta * * Authors: * Beth Hadley (GTK+ version) * Aman Kumar Gupta (Qt Quick port) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "play_piano/PlayPiano.qml" difficulty: 1 icon: "play_piano/play_piano.svg" author: "Aman Kumar Gupta <gupta2140@gmail.com>" demo: true //: Activity title title: qsTr("Play piano") //: Help title description: "" //intro: "Click on the keyboard keys that match the notes that you see and hear" //: Help goal goal: qsTr("Understand how the piano keyboard can play music as written on the musical staff.") //: Help prerequisite prerequisite: qsTr("Knowledge of musical notation and musical staff. Play the activity named 'Piano Composition' first.") //: Help manual manual: qsTr("The notes you see will be played to you. Click on the corresponding keys on the keyboard that match the notes you hear and see.
Levels 1-5 will offer treble clef to practice and levels 6-10 will offer bass clef.") credit: qsTr("The synthesizer original code is https://github.com/vsr83/miniSynth") - section: "discovery sound_group" + section: "discovery music" createdInVersion: 9500 } diff --git a/src/activities/play_rhythm/ActivityInfo.qml b/src/activities/play_rhythm/ActivityInfo.qml index 9e66f147f..4a42678b0 100644 --- a/src/activities/play_rhythm/ActivityInfo.qml +++ b/src/activities/play_rhythm/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2018 Aman Kumar Gupta * * Authors: * Beth Hadley (GTK+ version) * Aman Kumar Gupta (Qt Quick port) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "play_rhythm/PlayRhythm.qml" difficulty: 1 icon: "play_rhythm/play_rhythm.svg" author: "Aman Kumar Gupta <gupta2140@gmail.com>" demo: true //: Activity title title: qsTr("Play rhythm") //: Help title description: "" //intro: "Click the drum to recreate the rhythm" //: Help goal goal: qsTr("Learn to beat rhythms precisely and accurately based on what you see and hear.") //: Help prerequisite prerequisite: qsTr("Simple understanding of musical rhythm and beat.") //: Help manual manual: qsTr("Listen to the rhythm played, and follow along with the music. When you're ready to perform the identical rhythm, click the drum to the rhythm. If you clicked tempo at correct times, another rhythm is displayed. If not, you must try again.
Odd levels display a vertical playing line when you click the drum, which helps you see when to click, to follow the rhythm. Click on the drum when the line is in the middle of the notes.
Even levels are harder, because there is no vertical playing line. You must read the rhythm, and click it back in tempo. Click the metronome to hear the quarter note tempos.
Click on the reload button to replay the rhythm.") credit: "" - section: "discovery sound_group" + section: "discovery music" createdInVersion: 9500 } diff --git a/src/activities/railroad/ActivityInfo.qml b/src/activities/railroad/ActivityInfo.qml index c01c72203..a4b0c0a74 100644 --- a/src/activities/railroad/ActivityInfo.qml +++ b/src/activities/railroad/ActivityInfo.qml @@ -1,47 +1,47 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2017 Utkarsh Tiwari * Copyright (C) 2018 Amit Sagtani * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "railroad/Railroad.qml" difficulty: 1 icon: "railroad/railroad.svg" author: "Utkarsh Tiwari <iamutkarshtiwari@kde.org>" demo: true //: Activity title title: qsTr("Railroad activity") //: Help title description: qsTr("Rebuild the displayed train at the top of the screen by dragging the appropriate carriages and locomotive. Deselect an item by dragging it down.") //intro: "Observe the train and then click on the items to set up a similar train" //: Help goal goal: qsTr("Memory training") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("A train - a locomotive and carriage(s) - is displayed at the top of the main area for a few seconds. Rebuild it at the top of the screen by dragging the appropriate carriages and locomotive. Deselect an item by dragging it down.

") + qsTr("Keyboard Controls:

") + qsTr("1. Use arrow keys to move in the answer or sample zone.
") + qsTr("2. Use Enter or Return key to submit the answers.
") + qsTr("3. Use Space key to swap two wagons or locomotives in answer zone.
") + qsTr("4. Use Space key to add a wagon or locomotive from samples to answer list.
") + qsTr("5. Use Delete key to remove a wagon or locomotive from answer zone.
") credit: "" - section: "discovery memory" + section: "discovery logic" createdInVersion: 9500 } diff --git a/src/activities/readingh/ActivityInfo.qml b/src/activities/readingh/ActivityInfo.qml index 9fc125c85..f80964bda 100644 --- a/src/activities/readingh/ActivityInfo.qml +++ b/src/activities/readingh/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Johnny Jazeix * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "readingh/Readingh.qml" difficulty: 2 icon: "readingh/readingh.svg" author: "Johnny Jazeix <jazeix@gmail.com>" demo: true //: Activity title title: qsTr("Horizontal reading practice") //: Help title description: qsTr("Read a list of words and work out if a given word is in it.") // intro: "Read a list of words and say if a given word is in it." //: Help goal goal: qsTr("Reading training in a limited time") //: Help prerequisite prerequisite: qsTr("Reading") //: Help manual manual: qsTr("A word is shown on the board. A list of words, displayed horizontally, will appear and disappear. Does the given word belong to the list?") credit: "" - section: "reading" + section: "reading words" createdInVersion: 5000 } diff --git a/src/activities/readingv/ActivityInfo.qml b/src/activities/readingv/ActivityInfo.qml index 64c463b27..26f5945b7 100644 --- a/src/activities/readingv/ActivityInfo.qml +++ b/src/activities/readingv/ActivityInfo.qml @@ -1,41 +1,41 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Johnny Jazeix * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "readingv/Readingv.qml" difficulty: 2 icon: "readingv/readingv.svg" author: "Johnny Jazeix <jazeix@gmail.com>" demo: true //: Activity title title: qsTr("Vertical-reading practice") //: Help title description: qsTr("Read a vertical list of words and work out if a given word is in it.") // intro: "Read a list of words and say if a given word is in it." //: Help goal goal: qsTr("Reading training in a limited time") //: Help prerequisite prerequisite: qsTr("Reading") //: Help manual manual: qsTr("A word is shown on the board. A list of words, displayed vertically, will appear and disappear. Does the given word belong to the list?") credit: "" - section: "reading" + section: "reading words" createdInVersion: 5000 } diff --git a/src/activities/redraw/ActivityInfo.qml b/src/activities/redraw/ActivityInfo.qml index 63d699d27..ea944dfc4 100644 --- a/src/activities/redraw/ActivityInfo.qml +++ b/src/activities/redraw/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "redraw/Redraw.qml" difficulty: 3 icon: "redraw/redraw.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Redraw the given image") //: Help title description: qsTr("Draw perfectly the given image on the empty grid.") //intro: "Use the drawing tools to build an identical pattern on the right." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("First, select the proper color from the toolbar. Then click on the grid and drag to paint, then release the click to stop painting.") credit: "" - section: "math geometry puzzle" + section: "puzzle" createdInVersion: 0 } diff --git a/src/activities/redraw_symmetrical/ActivityInfo.qml b/src/activities/redraw_symmetrical/ActivityInfo.qml index ee400e6ca..752fa6716 100644 --- a/src/activities/redraw_symmetrical/ActivityInfo.qml +++ b/src/activities/redraw_symmetrical/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "redraw_symmetrical/RedrawSymmetrical.qml" difficulty: 4 icon: "redraw_symmetrical/redraw_symmetrical.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Mirror the given image") //: Help title description: qsTr("Draw the image on the empty grid as if you see it in a mirror.") //intro: "Use the drawing tools to reproduce symmetrically the pattern on the right." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("First, select the proper color from the toolbar. Then click on the grid and drag to paint, then release the click to stop painting.") credit: "" - section: "math geometry symmetry puzzle" + section: "puzzle" createdInVersion: 0 } diff --git a/src/activities/renewable_energy/ActivityInfo.qml b/src/activities/renewable_energy/ActivityInfo.qml index b1d757dd7..b3281d8f4 100644 --- a/src/activities/renewable_energy/ActivityInfo.qml +++ b/src/activities/renewable_energy/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Sagar Chand Agarwal * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "renewable_energy/RenewableEnergy.qml" difficulty: 4 icon: "renewable_energy/renewable_energy.svg" author: "Sagar Chand Agarwal <atomsagar@gmail.com>" demo: true //: Activity title title: qsTr("Renewable Energy") //: Help title description: qsTr("Tux has come back from fishing on his boat. Bring the electrical system back up so he can have light in his home. ") //intro: "Click on the different stages that go to make up the power supply." //: Help goal goal: qsTr("Learn about an electrical system based on renewable energy") //: Help manual manual: qsTr("Click on different active elements: sun, cloud, dam, solar array, wind farm and transformers, in order to reactivate the entire electrical system. When the system is back up and Tux is in his home, push the light button for him. To win you must switch on all the consumers while all the producers are up. ") //: Help prerequisite prerequisite: "" credit: qsTr("Drawing by Stephane Cabaraux") - section: "experiment" + section: "experiment sciences" createdInVersion: 5000 } diff --git a/src/activities/roman_numerals/ActivityInfo.qml b/src/activities/roman_numerals/ActivityInfo.qml index 4bb6ae6e8..cdfee06ae 100644 --- a/src/activities/roman_numerals/ActivityInfo.qml +++ b/src/activities/roman_numerals/ActivityInfo.qml @@ -1,44 +1,44 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Bruno Coudoin < bruno.coudoin@gcompris.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "roman_numerals/RomanNumerals.qml" difficulty: 4 icon: "roman_numerals/roman_numerals.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: true //: Activity title title: qsTr("Roman numerals") //: Help title description: "" //intro: "Learn and practice roman to arabic numerals conversion" //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("A Roman numeral is the name for a number when it is written in the way the Romans used to write numbers. Roman numerals are not used very often today in the west. They are used to write the names of kings and queens, or popes. For example: Queen Elizabeth II. They may be used to write the year a book or movie was made.\n The building of the roman numbers is made up by an agglutination of numbers (the thousands, joined with the hundreds, joined with the tens, joined with the units → just like the arab decimal system). This agglutination of numbers is interpreted as the sum of these particular numbers (again → just like the arab decimal system: you add up thousands+hundreds+tens+units, and you write the respective figures combined).\n Examples:\n 2394: we got a sum of 2000 (MM), 300 (CCC), 90 (XC) and 4 units (IV), so we write this combined: MMCCCXCIV\n MMMCMXLIX: we got first thousands (MMM=3000), then we got hundreds (CM=1000–100=900), then we got tens (XL=50–10=40), and at last we got units (IX=10–1=9), so we write this in the decimal system: 3949.") credit: "" - section: "math" + section: "experiment history" createdInVersion: 7000 } diff --git a/src/activities/scalesboard/ActivityInfo.qml b/src/activities/scalesboard/ActivityInfo.qml index dfd5f6954..dfa3677dc 100644 --- a/src/activities/scalesboard/ActivityInfo.qml +++ b/src/activities/scalesboard/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "scalesboard/ScaleNumber.qml" difficulty: 2 icon: "scalesboard/scalesboard.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Balance the scales properly") //: Help title description: qsTr("Drag and Drop weights to balance the scales") // intro: "Drag the weights up to balance the scales." //: Help goal goal: qsTr("Mental calculation, arithmetic equality") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("To balance the scales, move the weights to the left or the right side (on higher levels). The weights can be arranged in any order.") credit:"" - section: "math" + section: "math measures" createdInVersion: 0 } diff --git a/src/activities/scalesboard_weight/ActivityInfo.qml b/src/activities/scalesboard_weight/ActivityInfo.qml index 5979cb629..2d52338c5 100644 --- a/src/activities/scalesboard_weight/ActivityInfo.qml +++ b/src/activities/scalesboard_weight/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "scalesboard_weight/ScalesboardWeight.qml" difficulty: 4 icon: "scalesboard_weight/scalesboard_weight.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Balance the scales properly") //: Help title description: qsTr("Drag and Drop masses to balance the scales and calculate the weight") // intro: "Drag the weights up to balance the scales." //: Help goal goal: qsTr("Mental calculation, arithmetic equality, unit conversion") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("To balance the scales, move the masses to the left or the right side (on higher levels). They can be arranged in any order. Take care of the weight and the unit of the masses, remember that a kilogram (kg) is 1000 grams (g).") credit: "" - section: "math" + section: "math measures" createdInVersion: 0 } diff --git a/src/activities/scalesboard_weight_avoirdupois/ActivityInfo.qml b/src/activities/scalesboard_weight_avoirdupois/ActivityInfo.qml index a4e63d06b..878e915e7 100644 --- a/src/activities/scalesboard_weight_avoirdupois/ActivityInfo.qml +++ b/src/activities/scalesboard_weight_avoirdupois/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "scalesboard_weight_avoirdupois/ScalesboardWeight.qml" difficulty: 4 icon: "scalesboard_weight_avoirdupois/scalesboard_weight_avoirdupois.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Balance the scales properly") //: Help title description: qsTr("Drag and Drop masses to balance the scales and calculate the weight in the avoirdupois unit") // intro: "Drag the weights up to balance the scales." //: Help goal goal: qsTr("Mental calculation, arithmetic equality, unit conversion") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("To balance the scales, move the masses to the left or the right side (on higher levels). They can be arranged in any order. Take care of the weight and the unit of the masses, remember that a pound (lb) is 16 ounce (oz).") credit: "" - section: "math" + section: "math measures" createdInVersion: 0 } diff --git a/src/activities/share/ActivityInfo.qml b/src/activities/share/ActivityInfo.qml index 8caaf4096..d58016ca6 100644 --- a/src/activities/share/ActivityInfo.qml +++ b/src/activities/share/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2016 Stefan Toncu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "share/Share.qml" difficulty: 2 icon: "share/share.svg" author: "Stefan Toncu <stefan.toncu29@gmail.com>" demo: true //: Activity title title: qsTr("Share pieces of candy") //: Help title description: qsTr("Try to split the pieces of candy to a given number of children") //intro: "Share the candies equally among the specified number of children and notice that there may be a rest left" //: Help goal goal: qsTr("Learn the division of numbers") //: Help prerequisite prerequisite: qsTr("Know how to count") //: Help manual manual: qsTr("Follow the instructions shown on the screen: first, drag the given number of boys/girls to the middle, then drag pieces of candy to each child's rectangle.") credit: "" - section: "math" + section: "math arithmetic" createdInVersion: 7000 } diff --git a/src/activities/solar_system/ActivityInfo.qml b/src/activities/solar_system/ActivityInfo.qml index 8409fc6a6..65264a4dd 100644 --- a/src/activities/solar_system/ActivityInfo.qml +++ b/src/activities/solar_system/ActivityInfo.qml @@ -1,43 +1,43 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2018 Aman Kumar Gupta * * Authors: * Aman Kumar Gupta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "solar_system/SolarSystem.qml" difficulty: 5 icon: "solar_system/solar_system.svg" author: "Aman Kumar Gupta <gupta2140@gmail.com>" demo: true //: Activity title title: qsTr("Solar System") //: Help title description: qsTr("Answer the questions with a correctness of 100%.") //intro: "Answer the questions presented and get a 100% correctness among the options." //: Help goal goal: qsTr("Learn information about the solar system. If you want to learn more about astronomy, try downloading KStars (https://edu.kde.org/kstars/) or Stellarium (http://stellarium.org/) which are open source astronomy softwares.") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Click on a planet or the Sun to reveal questions. Each question contains 4 options. One of those is 100% correct. Try to answer the questions until you get a 100% closeness in the closeness meter.") credit: "" - section: "experiment" + section: "experiment sciences" createdInVersion: 9500 } diff --git a/src/activities/submarine/ActivityInfo.qml b/src/activities/submarine/ActivityInfo.qml index 21273db53..5392bb226 100644 --- a/src/activities/submarine/ActivityInfo.qml +++ b/src/activities/submarine/ActivityInfo.qml @@ -1,60 +1,60 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2017 Rudra Nil Basu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "submarine/Submarine.qml" difficulty: 5 icon: "submarine/submarine.svg" author: "Rudra Nil Basu <rudra.nil.basu.1996@gmail.com>" demo: true //: Activity title title: qsTr("Pilot a Submarine") //: Help title description: qsTr("Drive the submarine to the end point.") //intro: "Drive the submarine to the right end of the screen without colliding with any objects" //: Help goal goal: qsTr("Learn how to control a submarine") //: Help prerequisite prerequisite: qsTr("Move and click using the mouse, physics basics") //: Help manual manual: qsTr("Control the various parts of the submarine (the engine, rudders and ballast tanks) to reach the end point. Controls: Engine: D / Right arrow: Increase velocity A / Left arrow: Decrease velocity Ballast tanks: Switch filling of Ballast tanks: W / Up arrow: Central ballast tank R: Left ballast tank T: Right ballast tank Switch flush ballast tanks: S / Down arrow: Central ballast tank F: Left ballast tank G: Right ballast tank Diving planes: + : Increase diving plane angle - : Decrease diving plane angle") credit: "" - section: "experimental" + section: "experiment sciences" enabled: ApplicationInfo.isBox2DInstalled createdInVersion: 9000 } diff --git a/src/activities/sudoku/ActivityInfo.qml b/src/activities/sudoku/ActivityInfo.qml index 6d678c8fc..e4f762342 100644 --- a/src/activities/sudoku/ActivityInfo.qml +++ b/src/activities/sudoku/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Johnny Jazeix * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "sudoku/Sudoku.qml" difficulty: 4 icon: "sudoku/sudoku.svg" author: "Johnny Jazeix <jazeix@gmail.com>" demo: true //: Activity title title: qsTr("Sudoku, place unique symbols in a grid") //: Help title description: qsTr("Symbols must be unique in a row, in a column, and (if defined) each region.") // intro: "Select a number or a symbol and click its target area. Each symbol must appear only once in a row, in a column and in a subregion if any." //: Help goal goal: qsTr("The aim of the puzzle is to enter a symbol or numeral from 1 through 9 in each cell of a grid. In the official Sudoku the grid is 9x9 made up of 3x3 subgrids (called 'regions'). In GCompris we start at lower levels with a simpler version using symbols and with no regions. In all cases the grid is presented with various symbols or numerals given in some cells (the 'givens'). Each row, column and region must contain only one instance of each symbol or numeral (Source <http://en.wikipedia.org/wiki/Sudoku>).") //: Help prerequisite prerequisite: qsTr("Completing the puzzle requires patience and logical ability") //: Help manual manual: qsTr("Select a number or a symbol on the left and click on its target position. GCompris will not let you enter invalid data.") credit: "" - section: "puzzle" + section: "discovery logic" createdInVersion: 0 } diff --git a/src/activities/superbrain/ActivityInfo.qml b/src/activities/superbrain/ActivityInfo.qml index 4884c113a..742a61e59 100644 --- a/src/activities/superbrain/ActivityInfo.qml +++ b/src/activities/superbrain/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Holger Kaelberer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "superbrain/Superbrain.qml" difficulty: 2 icon: "superbrain/superbrain.svg" author: "Holger Kaelberer <holger.k@elberer.de>" demo: true //: Activity title title: qsTr("Super Brain") //: Help title description: qsTr("Tux has hidden several items. Find them again in the correct order") //intro: "Find out the right combination of colors. A dot framed in a black square means that you found the correct colour in the correct position, while a dot framed in a white square means it's the correct colour, but in the wrong position." //: Help goal goal: qsTr("Tux has hidden several items. Find them again in the correct order") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Click on the items until you find what you think is the correct answer. Then, click on the OK button. In the lower levels, Tux gives you an indication if you found a hiding place by marking the item with a black box. In the levels 4 and 8 an item may be hidden several times.
You can use the right mouse button to flip the items in the opposite order or the item chooser to directly pick an item. Press and hold a mouse button or on the touch screen to automatically choose the last item selected on a column. Double click or tap on a previously selected item in your guess history to mark it as 'correct'. Such marked items are automatically selected in your current and future guesses until you un-mark them, again by double clicking or tapping.") credit: "" - section: "puzzle" + section: "discovery logic" createdInVersion: 4000 } diff --git a/src/activities/target/ActivityInfo.qml b/src/activities/target/ActivityInfo.qml index e1c6cef0e..5be887ab9 100644 --- a/src/activities/target/ActivityInfo.qml +++ b/src/activities/target/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "target/Target.qml" difficulty: 2 icon: "target/target.svg" author: "Bruno Coudoin <bruno.coudoin@gcompris.net>" demo: false //: Activity title title: qsTr("Practice addition with a target game") //: Help title description: qsTr("Hit the target and count your points") // intro: "Click on the target to launch darts, then count your final score!" //: Help goal goal: qsTr("Throw darts at a target and count your score.") //: Help prerequisite prerequisite: qsTr("Can move the mouse, can read numbers and count up to 15 for the first level") //: Help manual manual: qsTr("Check the speed and direction of the target, and then click on it to launch a dart. When all your darts are thrown, you are asked to count your score. Enter the score with the keyboard.") credit: "" - section: "math addition" + section: "math addition arithmetic" createdInVersion: 0 } diff --git a/src/activities/traffic/ActivityInfo.qml b/src/activities/traffic/ActivityInfo.qml index 3c7c0d020..8c20f70b6 100644 --- a/src/activities/traffic/ActivityInfo.qml +++ b/src/activities/traffic/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Holger Kaelberer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "traffic/Traffic.qml" difficulty: 2 icon: "traffic/traffic.svg" author: "Holger Kaelberer <holger.k@elberer.de>" demo: true //: Activity title title: qsTr("A sliding-block puzzle game") //: Help title description: qsTr("Remove the red car from the parking lot through the gate on the right") // intro: "Slide the cars to make a space so that the red car can go out of the box." //: Help goal goal: "" //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Each car can only move either horizontally or vertically. You must make some room in order to let the red car move through the gate on the right.") credit: "" - section: "puzzle" + section: "discovery logic" createdInVersion: 0 } diff --git a/src/activities/watercycle/ActivityInfo.qml b/src/activities/watercycle/ActivityInfo.qml index f1bdaee96..1b18af88c 100644 --- a/src/activities/watercycle/ActivityInfo.qml +++ b/src/activities/watercycle/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Sagar Chand Agarwal (Qt Quick port) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "watercycle/Watercycle.qml" difficulty: 3 icon: "watercycle/watercycle.svg" author: "Sagar Chand Agarwal <atomsagar@gmail.com>" demo: true //: Activity title title: qsTr("Watercycle") //: Help title description: qsTr("Tux has come back from fishing on his boat. Bring the water system back up so he can take a shower.") //intro: "Click on the various active elements that make up the water supply. Then press the shower button for Tux." //: Help goal goal: qsTr("Learn the water cycle") //: Help prerequisite prerequisite: "" //: Help manual manual: qsTr("Click on different active elements: sun, cloud, pumping station, and the sewage treatment plant, in order to reactivate the entire water system. When the system is back up and Tux is in the shower, push the shower button for him.") credit: qsTr("Drawing by Stephane Cabaraux.") - section: "experiment" + section: "experiment sciences" createdInVersion: 5000 } diff --git a/src/activities/wordsgame/ActivityInfo.qml b/src/activities/wordsgame/ActivityInfo.qml index 21a68cbd4..bc28e4b22 100644 --- a/src/activities/wordsgame/ActivityInfo.qml +++ b/src/activities/wordsgame/ActivityInfo.qml @@ -1,40 +1,40 @@ /* GCompris - ActivityInfo.qml * * Copyright (C) 2015 Holger Kaelberer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import GCompris 1.0 ActivityInfo { name: "wordsgame/Wordsgame.qml" difficulty: 2 icon: "wordsgame/wordsgame.svg" author: "Holger Kaelberer <holger.k@elberer.de>" demo: true //: Activity title title: qsTr("Falling Words") //: Help title description: qsTr("Type the falling words before they reach the ground") // intro: "Type the words on your keyboard before they reach the ground." //: Help goal goal: qsTr("Keyboard training") //: Help prerequisite prerequisite: qsTr("Keyboard manipulation") //: Help manual manual: qsTr("Type the complete word as it falls, before it reaches the ground") credit: "" - section: "computer keyboard reading" + section: "computer keyboard reading words" createdInVersion: 0 } diff --git a/src/core/ActivityInfoTree.cpp b/src/core/ActivityInfoTree.cpp index 5a6f2d13f..8f7b16b24 100644 --- a/src/core/ActivityInfoTree.cpp +++ b/src/core/ActivityInfoTree.cpp @@ -1,340 +1,342 @@ /* GCompris - ActivityInfoTree.cpp * * Copyright (C) 2014 Bruno Coudoin * * Authors: * Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ #include "ActivityInfoTree.h" #include "ApplicationInfo.h" #include #include #include #include #include #include #include ActivityInfoTree::ActivityInfoTree(QObject *parent) : QObject(parent), m_rootMenu(nullptr), m_currentActivity(nullptr) { } void ActivityInfoTree::setRootMenu(ActivityInfo *rootMenu) { m_rootMenu = rootMenu; } ActivityInfo *ActivityInfoTree::getRootMenu() const { return m_rootMenu; } QQmlListProperty ActivityInfoTree::menuTree() { return {this, nullptr, &menuTreeCount, &menuTreeAt}; } int ActivityInfoTree::menuTreeCount(QQmlListProperty *property) { ActivityInfoTree *obj = qobject_cast(property->object); if(obj != nullptr) return obj->m_menuTree.count(); return 0; } ActivityInfo *ActivityInfoTree::menuTreeAt(QQmlListProperty *property, int index) { ActivityInfoTree *obj = qobject_cast(property->object); if(obj != nullptr) return obj->m_menuTree.at(index); return nullptr; } ActivityInfo *ActivityInfoTree::menuTree(int index) const { return m_menuTree.at(index); } void ActivityInfoTree::setCurrentActivity(ActivityInfo *currentActivity) { m_currentActivity = currentActivity; emit currentActivityChanged(); } ActivityInfo *ActivityInfoTree::getCurrentActivity() const { return m_currentActivity; } void ActivityInfoTree::menuTreeAppend(ActivityInfo *menu) { m_menuTreeFull.append(menu); } void ActivityInfoTree::menuTreeAppend(QQmlEngine *engine, const QDir &menuDir, const QString &menuFile) { QQmlComponent component(engine, QUrl::fromLocalFile(menuDir.absolutePath() + '/' + menuFile)); QObject *object = component.create(); if(component.isReady()) { if(QQmlProperty::read(object, "section").toString() == "/") { menuTreeAppend(qobject_cast(object)); } } else { qDebug() << menuFile << ": Failed to load"; } } void ActivityInfoTree::sortByDifficulty(bool emitChanged) { std::sort(m_menuTree.begin(), m_menuTree.end(), SortByDifficulty()); if (emitChanged) Q_EMIT menuTreeChanged(); } void ActivityInfoTree::sortByName(bool emitChanged) { std::sort(m_menuTree.begin(), m_menuTree.end(), SortByName()); if (emitChanged) Q_EMIT menuTreeChanged(); } // Filter the current activity list by the given tag // the tag 'all' means no filter // the tag 'favorite' means only marked as favorite // The level is also filtered based on the global property -void ActivityInfoTree::filterByTag(const QString &tag, bool emitChanged) +void ActivityInfoTree::filterByTag(const QString &tag, const QString &category, bool emitChanged) { m_menuTree.clear(); // https://www.kdab.com/goodbye-q_foreach/, for loops on QList may cause detach const auto constMenuTreeFull = m_menuTreeFull; for(const auto &activity: constMenuTreeFull) { - if((activity->section().indexOf(tag) != -1 || + // filter on category if given else on tag + if(((category != "" && activity->section().indexOf(category) != -1) || + (category == "" && activity->section().indexOf(tag) != -1) || tag == "all" || (tag == "favorite" && activity->favorite())) && (activity->difficulty() >= ApplicationSettings::getInstance()->filterLevelMin() && activity->difficulty() <= ApplicationSettings::getInstance()->filterLevelMax())) { m_menuTree.push_back(activity); } } sortByDifficulty(); if (emitChanged) Q_EMIT menuTreeChanged(); } void ActivityInfoTree::filterByDifficulty(quint32 levelMin, quint32 levelMax) { auto it = std::remove_if(m_menuTree.begin(), m_menuTree.end(), [&](const ActivityInfo* activity) { return activity->difficulty() < levelMin || activity->difficulty() > levelMax; }); m_menuTree.erase(it, m_menuTree.end()); } void ActivityInfoTree::filterLockedActivities(bool emitChanged) { // If we have the full version or if we show all the activities, we don't need to do anything if(!ApplicationSettings::getInstance()->isDemoMode() || ApplicationSettings::getInstance()->showLockedActivities()) return; // Remove non free activities if needed. We need to already have a menuTree filled! auto it = std::remove_if(m_menuTree.begin(), m_menuTree.end(), [](const ActivityInfo* activity) { return !activity->demo(); }); m_menuTree.erase(it, m_menuTree.end()); if (emitChanged) Q_EMIT menuTreeChanged(); } void ActivityInfoTree::filterEnabledActivities(bool emitChanged) { auto it = std::remove_if(m_menuTree.begin(), m_menuTree.end(), [](const ActivityInfo* activity) { return !activity->enabled(); }); m_menuTree.erase(it, m_menuTree.end()); if (emitChanged) Q_EMIT menuTreeChanged(); } void ActivityInfoTree::filterCreatedWithinVersions(int firstVersion, int lastVersion, bool emitChanged) { m_menuTree.clear(); const auto constMenuTreeFull = m_menuTreeFull; for(const auto &activity: constMenuTreeFull) { if(firstVersion < activity->createdInVersion() && activity->createdInVersion() <= lastVersion) { m_menuTree.push_back(activity); } } if (emitChanged) Q_EMIT menuTreeChanged(); } void ActivityInfoTree::exportAsSQL() { QTextStream cout(stdout); ApplicationSettings::getInstance()->setFilterLevelMin(1); ApplicationSettings::getInstance()->setFilterLevelMax(6); filterByTag("all"); cout << "CREATE TABLE activities (" << "id INT UNIQUE, " << "name TEXT," << "section TEXT," << "author TEXT," << "difficulty INT," << "icon TEXT," << "title TEXT," << "description TEXT," << "prerequisite TEXT," << "goal TEXT," << "manual TEXT," << "credit TEXT," << "demo INT);" << endl; cout << "DELETE FROM activities" << endl; int i(0); const auto constMenuTree = m_menuTree; for(const auto &activity: constMenuTree) { cout << "INSERT INTO activities VALUES(" << i++ << ", " << "'" << activity->name() << "', " << "'" << activity->section() << "', " << "'" << activity->author() << "', " << activity->difficulty() << ", " << "'" << activity->icon() << "', " << "\"" << activity->title() << "\", " << "\"" << activity->description() << "\", " << "\"" << activity->prerequisite() << "\", " << "\"" << activity->goal().toHtmlEscaped() << "\", " << "\"" << activity->manual().toHtmlEscaped() << "\", " << "\"" << activity->credit() << "\", " << static_cast(activity->demo()) << ");" << endl; } } QObject *ActivityInfoTree::menuTreeProvider(QQmlEngine *engine, QJSEngine *scriptEngine) { Q_UNUSED(scriptEngine) ActivityInfoTree *menuTree = new ActivityInfoTree(nullptr); QQmlComponent componentRoot(engine, QUrl("qrc:/gcompris/src/activities/menu/ActivityInfo.qml")); QObject *objectRoot = componentRoot.create(); menuTree->setRootMenu(qobject_cast(objectRoot)); QFile file(":/gcompris/src/activities/activities_out.txt"); if(!file.open(QFile::ReadOnly)) { qDebug() << "Failed to load the activity list"; } QTextStream in(&file); while (!in.atEnd()) { QString line = in.readLine(); if(!line.startsWith(QLatin1String("#"))) { QString url = QString("qrc:/gcompris/src/activities/%1/ActivityInfo.qml").arg(line); if(!QResource::registerResource( ApplicationInfo::getFilePath(line + ".rcc"))) qDebug() << "Failed to load the resource file " << line + ".rcc"; QQmlComponent componentRoot(engine, QUrl(url)); QObject *objectRoot = componentRoot.create(); if(objectRoot != nullptr) { menuTree->menuTreeAppend(qobject_cast(objectRoot)); } else { qDebug() << "ERROR: failed to load " << line << " " << componentRoot.errors(); } } } file.close(); menuTree->filterByTag("favorite"); menuTree->filterLockedActivities(); menuTree->filterEnabledActivities(); return menuTree; } void ActivityInfoTree::registerResources() { if(!QResource::registerResource(ApplicationInfo::getFilePath("core.rcc"))) qDebug() << "Failed to load the resource file " << ApplicationInfo::getFilePath("core.rcc"); if(!QResource::registerResource(ApplicationInfo::getFilePath("menu.rcc"))) qDebug() << "Failed to load the resource file menu.rcc"; if(!QResource::registerResource(ApplicationInfo::getFilePath("activities.rcc"))) qDebug() << "Failed to load the resource file activities.rcc"; if(QResource::registerResource(ApplicationSettings::getInstance()->cachePath() + "/data2/" + QString("full-%1.rcc").arg(COMPRESSED_AUDIO))) qDebug() << "Registered the pre-download " << QString("full-%1.rcc").arg(COMPRESSED_AUDIO); } void ActivityInfoTree::filterBySearch(const QString& text) { m_menuTree.clear(); if(!text.trimmed().isEmpty()) { // perform search on each word entered in the searchField const QStringList wordsList = text.split(' ', QString::SkipEmptyParts); for(const QString &searchTerm: wordsList) { const QString trimmedText = searchTerm.trimmed(); const auto &constMenuTreeFull = m_menuTreeFull; for(const auto &activity: constMenuTreeFull) { if(activity->title().contains(trimmedText, Qt::CaseInsensitive) || activity->name().contains(trimmedText, Qt::CaseInsensitive) || activity->description().contains(trimmedText, Qt::CaseInsensitive)) { // add the activity only if it's not added if(m_menuTree.indexOf(activity) == -1) m_menuTree.push_back(activity); } } } } else m_menuTree = m_menuTreeFull; filterEnabledActivities(false); filterLockedActivities(false); filterByDifficulty(ApplicationSettings::getInstance()->filterLevelMin(), ApplicationSettings::getInstance()->filterLevelMax()); sortByDifficulty(false); Q_EMIT menuTreeChanged(); } QVariantList ActivityInfoTree::allCharacters() { QSet keyboardChars; const auto constMenuTreeFull = m_menuTreeFull; for(const auto &tree: constMenuTreeFull) { const QString &title = tree->title(); for(const QChar &letter: title) { if(!letter.isSpace() && !letter.isPunct()) { keyboardChars.insert(letter.toLower()); } } } for(const QChar &letters: keyboardChars) { m_keyboardCharacters.push_back(letters); } std::sort(m_keyboardCharacters.begin(), m_keyboardCharacters.end()); return m_keyboardCharacters; } diff --git a/src/core/ActivityInfoTree.h b/src/core/ActivityInfoTree.h index 817be12b3..b0df06cf6 100644 --- a/src/core/ActivityInfoTree.h +++ b/src/core/ActivityInfoTree.h @@ -1,99 +1,99 @@ /* GCompris - ActivityInfoTree.h * * Copyright (C) 2014 Bruno Coudoin * * Authors: * Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ #ifndef ACTIVITYINFOTREE_H #define ACTIVITYINFOTREE_H #include "ActivityInfo.h" #include #include class ActivityInfoTree : public QObject { Q_OBJECT Q_PROPERTY(ActivityInfo* rootMenu READ getRootMenu CONSTANT) Q_PROPERTY(QQmlListProperty menuTree READ menuTree NOTIFY menuTreeChanged) Q_PROPERTY(ActivityInfo* currentActivity READ getCurrentActivity WRITE setCurrentActivity NOTIFY currentActivityChanged) Q_PROPERTY(QVariantList characters READ allCharacters CONSTANT) public: explicit ActivityInfoTree(QObject *parent = 0); QQmlListProperty menuTree(); ActivityInfo *getRootMenu() const; void setRootMenu(ActivityInfo *rootMenu); ActivityInfo *menuTree(int) const; void setCurrentActivity(ActivityInfo *currentActivity); ActivityInfo *getCurrentActivity() const; void menuTreeAppend(ActivityInfo *menu); void menuTreeAppend(QQmlEngine *engine, const QDir &menuDir, const QString &menuFile); void sortByDifficulty(bool emitChanged = true); void sortByName(bool emitChanged = true); QVariantList allCharacters(); protected Q_SLOTS: - Q_INVOKABLE void filterByTag(const QString &tag, bool emitChanged = true); + Q_INVOKABLE void filterByTag(const QString &tag, const QString &category = "", bool emitChanged = true); Q_INVOKABLE void filterLockedActivities(bool emitChanged = true); Q_INVOKABLE void filterEnabledActivities(bool emitChanged = true); // create a tree from the whole list of activities with the activities created between the two versions Q_INVOKABLE void filterCreatedWithinVersions(int firstVersion, int lastVersion, bool emitChanged = true); Q_INVOKABLE void filterBySearch(const QString& text); Q_INVOKABLE void filterByDifficulty(quint32 levelMin, quint32 levelMax); signals: void menuTreeChanged(); void currentActivityChanged(); void allCharactersChanged(); private: // this is the full activity list, it never changes QList m_menuTreeFull; // represents the Menu view and can be filtered QList m_menuTree; ActivityInfo *m_rootMenu; ActivityInfo *m_currentActivity; QVariantList m_keyboardCharacters; static int menuTreeCount(QQmlListProperty *property); static ActivityInfo *menuTreeAt(QQmlListProperty *property, int index); struct SortByDifficulty { bool operator()(const ActivityInfo *a, const ActivityInfo *b) const { return a->difficulty() < b->difficulty(); } }; struct SortByName { bool operator()(const ActivityInfo *a, const ActivityInfo *b) const { return a->name() < b->name(); } }; public: static void registerResources(); static QObject *menuTreeProvider(QQmlEngine *engine, QJSEngine *scriptEngine); void exportAsSQL(); }; #endif // ACTIVITYINFOTREE_H diff --git a/src/core/GCButtonStyle.qml b/src/core/GCButtonStyle.qml index 722c4e918..569aa5472 100644 --- a/src/core/GCButtonStyle.qml +++ b/src/core/GCButtonStyle.qml @@ -1,142 +1,143 @@ /* GCompris - GCButtonStyle.qml * * Copyright (C) 2014 Bruno Coudoin * * Authors: * Bruno Coudoin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ import QtQuick 2.6 import QtQuick.Controls 1.5 import QtQuick.Controls.Styles 1.4 import GCompris 1.0 /** * Provides styling for GCompris' Buttons. * @ingroup components * * @inherit QtQuick.Controls.Styles.ButtonStyle */ ButtonStyle { + id: buttonStyle /** * type:real * Fixed font size of the label in pt. * * Set to a value > 0 for enforcing a fixed font.pointSize for the label, * that won't be updated with ApplicationSettings.baseFontSize. * @sa ApplicationSettings.baseFontSize, GCText.fixFontSize */ property real fixedFontSize: -1 /** * type:string * theme of the button. For now, three themes are accepted: "light" and "dark" and "highContrast" * * Default is dark. */ property string theme: "dark" /** * type:var * existing themes for the button. * A theme is composed of: * the colors of the button when selected: selectedColorGradient0 and selectedColorGradient1. * the colors of the button when not selected: backgroundColorGradient0 and backgroundColorGradient1. * the button's border color * the text color */ property var themes: { "dark": { backgroundColorGradient0: "#23373737", selectedColorGradient0: "#C03ACAFF", backgroundColorGradient1: "#13373737", selectedColorGradient1: "#803ACAFF", borderColor: "#FF373737", textColor: "#FF373737" }, "light": { backgroundColorGradient0: "#42FFFFFF", selectedColorGradient0: "#C03ACAFF", backgroundColorGradient1: "#23FFFFFF", selectedColorGradient1: "#803ACAFF", borderColor: "white", textColor: "white" }, "highContrast": { backgroundColorGradient0: "#EEFFFFFF", selectedColorGradient0: "#C03ACAFF", backgroundColorGradient1: "#AAFFFFFF", selectedColorGradient1: "#803ACAFF", borderColor: "white", textColor: "373737" } } + property bool selected: false + property string textSize: "regular" property var textSizes: { "regular": { fontSize: 14, fontBold: false }, "subtitle": { fontSize: 16, fontBold: true }, "title": { fontSize: 24, fontBold: true } } - property bool selected: false - background: Rectangle { border.width: control.activeFocus ? 4 : 2 border.color: themes[theme].borderColor radius: 10 gradient: Gradient { - GradientStop { position: 0 ; color: (control.pressed || selected) ? themes[theme].selectedColorGradient0 : themes[theme].backgroundColorGradient0 } - GradientStop { position: 1 ; color: (control.pressed || selected) ? themes[theme].selectedColorGradient1 : themes[theme].backgroundColorGradient1 } + GradientStop { position: 0 ; color: (control.pressed || buttonStyle.selected) ? themes[theme].selectedColorGradient0 : themes[theme].backgroundColorGradient0 } + GradientStop { position: 1 ; color: (control.pressed || buttonStyle.selected) ? themes[theme].selectedColorGradient1 : themes[theme].backgroundColorGradient1 } } } label: Item { id: labelItem anchors.fill: parent implicitWidth: labelText.implicitWidth implicitHeight: labelText.implicitHeight GCText { id: labelText color: themes[theme].textColor text: control.text fontSize: textSizes[textSize].fontSize font.bold: textSizes[textSize].fontBold anchors.fill: parent horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter wrapMode: Text.WordWrap fontSizeMode: Text.Fit Component.onCompleted: { if (fixedFontSize > 0) { labelText.fixFontSize = true; labelText.fontSize = fixedFontSize; } } } } }