diff --git a/src/activities/letter-in-word/LetterInWord.qml b/src/activities/letter-in-word/LetterInWord.qml --- a/src/activities/letter-in-word/LetterInWord.qml +++ b/src/activities/letter-in-word/LetterInWord.qml @@ -64,7 +64,9 @@ property Item main: activity.main property alias bar: bar property alias background: background - property alias wordsModel: wordsModel + property alias wordsModel: wordsModel + property bool reduceWords: false + property string mode: "normal" property GCAudio audioVoices: activity.audioVoices property alias parser: parser property alias animateX: animateX @@ -107,7 +109,46 @@ Column { id: column spacing: 10 - width: parent.width + width: dialogActivityConfig.width + height: dialogActivityConfig.height + property alias easyMode: easyMode + property alias normalMode: normalMode + + GCDialogCheckBox { + id: easyMode + width: column.width - 50 + text: qsTr("Reduce Visible Words to 5") + checked: (items.mode == "easy") ? true : false + onCheckedChanged: { + if(easyMode.checked) { + items.mode = "easy" + items.reduceWords = true + } + else{ + items.mode = "normal" + items.reduceWords = false + } + normalMode.checked = !easyMode.checked + } + } + + GCDialogCheckBox { + id: normalMode + width: column.width - 50 + text: qsTr("Get All Available Words") + checked: (items.mode == "normal") ? true : false + onCheckedChanged: { + if(normalMode.checked) { + items.mode = "normal" + items.reduceWords = false + } + else{ + items.mode = "easy" + items.reduceWords = true + } + easyMode.checked = !normalMode.checked + } + } Flow { spacing: 5 @@ -125,9 +166,15 @@ onClose: home() onLoadData: { - if(dataToSave && dataToSave["locale"]) { - background.locale = dataToSave["locale"]; + if(dataToSave && dataToSave["mode"]){ + items.mode = dataToSave["mode"] + console.log(items.mode + " mode loaded") + //Activity.initLevel() } + + if(dataToSave && dataToSave["locale"]) { + background.locale = dataToSave["locale"]; + } } onSaveData: { var oldLocale = background.locale; @@ -137,7 +184,9 @@ if(newLocale.indexOf('.') != -1) { newLocale = newLocale.substring(0, newLocale.indexOf('.')) } - dataToSave = {"locale": newLocale } + dataToSave = {"locale": newLocale} + dataToSave["mode"] = items.mode + console.log(items.mode + " mode saved") background.locale = newLocale; @@ -220,10 +269,13 @@ GCText { id: questionItem - anchors.right: planeText.right - anchors.rightMargin: 2 * plane.width / 3 - anchors.verticalCenter: planeText.verticalCenter - anchors.bottomMargin: 10 * ApplicationInfo.ratio + anchors { + right: planeText.right + rightMargin: 2 * plane.width / 3 + //Turned this off as the letter was going out of the banner + //verticalCenter: planeText.verticalCenter + bottomMargin: 10 * ApplicationInfo.ratio + } fontSize: hugeSize font.weight: Font.DemiBold color: "#2a2a2a" diff --git a/src/activities/letter-in-word/letter-in-word.js b/src/activities/letter-in-word/letter-in-word.js --- a/src/activities/letter-in-word/letter-in-word.js +++ b/src/activities/letter-in-word/letter-in-word.js @@ -88,9 +88,9 @@ if (currentSubLevel == 0 && !incorrectFlag) { var level = levels[currentLevel]; words = Lang.getLessonWords(dataset, level); - Core.shuffle(words); - var limit = Math.min(11, words.length) - words = words.slice(0, limit) + Core.shuffle(words); + var limit = items.reduceWords ? Math.min(5, words.length) : Math.min(11, words.length); + words = words.slice(0, limit); frequency = calculateFrequency(); var tempQuestions = generateQuestions(); maxSubLevel = tempQuestions.length;