added multiple dataset in enumerate activity
Details
- Reviewers
jjazeix echarruau - Group Reviewers
GCompris: Improvements - Maniphest Tasks
- T12333: Adding level selection to count the items
Diff Detail
- Repository
- R2 GCompris
- Branch
- enumerate
- Lint
No Linters Available - Unit
No Unit Test Coverage - Build Status
Buildable 21394 Build 21412: arc lint + arc unit
Code change is good for me. Test shows that it is working properly. Ok button has been well implemented and mulipledataset well added. Great job.
We need just to add an additional feature compare to the initial project.
You need to add multiple question for each sublevel.
At the moment there is only one answer to give to validate a sublevel. We need at least 5 questions per sublevel and the number of questions for each sublevel must be configurable in the qml file.
You need for that to be able to generate randomize questions according to numberOfItemMax.
Almost ok for me :).
We shouldn't be able to click multiple times on "ok" quickly to validate 2 levels at same time.
When a fruit is under the instructions, we can't move it. I think it would be better to have clicks on fruits move them (always), and if click is on the window, show/hide the instruction. Instructions should always be displayed above the fruits.
@echarruau we still have visual feedback (green color on the box) when we put a correct answer. Shouldn't we update it to be an hint instead (to not remove the feature but this way, the child can know which one is good or wrong)?
src/activities/enumerate/enumerate.js | ||
---|---|---|
118 | it should be: items.bonus.bad("smiley") return |
- added score and sublevel functionality
- dynamic z-order for instruction window
- added 2 sec timer for ok button
src/activities/enumerate/enumerate.js | ||
---|---|---|
135 | i have used the same code here. which previously, activity is using to initialized levels. |
@echarruau we still have visual feedback (green color on the box) when we put a correct answer. Shouldn't we update it to be an hint instead (to not remove the feature but this way, the child can know which one is good or wrong)?
The problem if we keep the hint is that pupils will try all the numbers on the keyboard, then press on ok when it will be green. If we give them some hints they will use them :)
I would remove it completely. Hope I understood well your question.
Code is ok for me.
Several point on usability:
- when having 5 categories of fruits the 5th category overlaps the menu bar. I can see two solutions: using a grid to have the 5th category placed top right of the 1st one or restrict the activity to 4 categories.
- It would be useful to fire the ok button using the return key when entering numbers with keyboards.
- Pupils that are using this activity are young and will not know about backspace key, we need to restrict the input length to 1 digit when the answer is 1 digit long.
Otherwise no problem on my side, well done.
- removed need of backspace, Pressing Enter or return key also check answer
- added grid layout for answer Cell
@echarruau i have added grid layout, it is woking fine but i am not much sure that implementation is in good way or not and now 5th cell is overriding the instruction window :(. what do you say to let it be like this or remove 5th type fruit?
src/activities/enumerate/Enumerate.qml | ||
---|---|---|
157 | Gridview doesn't have any attribute for spacing. so i have set cellWidth and cellHeight to provide some callSpacing, |
the grid shouldn't be draggable.
there is still the tick and color changed to green when we put a good answer.
you should directly use the enabled property of the ok button instead of using a timer to disable clicks (in initSubLevel when everything is initialized).
To complete Johnny's comments.
We should only have the green color in the input are once the child clicked ok. Otherwise they are clever enough to try all the possibilities and be successful even without having a clue how to enumerate :)
After discussion with Johnny we decided that there is no additional pedagogical value of having 5 groups instead of 4. Since it is creating overlapping can you please remove the 5th group and the grid you implemented.
For me once this will be implemented it will be ready. Good job!
@jjazeix @echarruau enabling green color in input when child click ok, doesn't giving any visual feedback because at the same time (or just after this) nextSubLevel() function gets call. now either i can remove it completely or make some delay in calling nextSublevel. can you suggest anything better?
Hi,
It gives feedback when you make an error and give some correct answers.
This is what we are aiming here.
Le dim. 26 janv. 2020 à 14:38, Shubham Mishra <noreply@phabricator.kde.org>
a écrit :
shubhammishra added a comment. View Revision
https://phabricator.kde.org/D26712@jjazeix https://phabricator.kde.org/p/jjazeix/ @echarruau
https://phabricator.kde.org/p/echarruau/ enabling green color in input
when child click ok, doesn't giving any visual feedback because at the same
time (or just after this) nextSubLevel() function gets call. now either i
can remove it completely or make some delay in calling nextSublevel. can
you suggest anything better?*REPOSITORY*
R2 GCompris*REVISION DETAIL*
https://phabricator.kde.org/D26712*To: *shubhammishra, GCompris: Improvements, jjazeix, echarruau
*Cc: *johnny, kde-edu, narvaez, apol
@shubhammishra I would let in green from the moment the child types on the OK button until he selects a box or types another number (all the green boxes should be removed at same time). Delay is not great at children may not need the same time to memorise which ones are good or not
src/activities/enumerate/enumerate.js | ||
---|---|---|
120 | why is it in the for loop and not outside, at the start of the function directly? |
Test not correct, see comment.
src/activities/enumerate/enumerate.js | ||
---|---|---|
120 | items.okButton.enabled= false will not allow the ok button (based on element image) to receive any keyboard or mouse event. |
@jjazeix we need to disable ok button only when Bonus appears and it is appearing either when user enters good answer on final sublevel or bad answer, not for rest of the times checkAnswers() get called.
ok, I see the point. It's not great to have it handled in 2 separate functions but let's keep it that way
Hi,
Could you add a delay between the moment pupil answers correctly and the moment the activity goes to the next sublevel.
This is to let pupil the time to realise that he has the good answer and see why.
You should use the end signal of the score animation to wait for thel the next sublevel to be loaded.
Thanks.
- subLevel will change after score animation completion, added stop signal in Score.qml