Warning, /education/gcompris/src/activities/guesscount/ActivityConfig.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - ActivityConfig.qml 0002 * 0003 * SPDX-FileCopyrightText: 2020 Deepak Kumar <deepakdk2431@gmail.com> 0004 * 0005 * Authors: 0006 * Deepak Kumar <deepakdk2431@gmail.com> 0007 * 0008 * SPDX-License-Identifier: GPL-3.0-or-later 0009 */ 0010 import QtQuick 2.12 0011 import GCompris 1.0 0012 0013 import "../../core" 0014 0015 Item { 0016 id: activityConfiguration 0017 property Item background 0018 property alias modeBox: modeBox 0019 property int numberOfLevel: 8 0020 property var adminLevelArr: [["+"],["-"],["/"],["*"],["+","-"],["/","*"],["/","*",'+'],['-',"*","+","/"]] 0021 width: flick.width 0022 height: childrenRect.height 0023 0024 signal refreshAdmin 0025 0026 property var availableModes: [ 0027 { "text": qsTr("Admin"), "value": "admin" }, 0028 { "text": qsTr("BuiltIn"), "value": "builtin" } 0029 ] 0030 0031 Column { 0032 id: column 0033 spacing: 10 * ApplicationInfo.ratio 0034 width: activityConfiguration.width 0035 GCComboBox { 0036 id: modeBox 0037 model: availableModes 0038 background: activityConfiguration.background 0039 label: qsTr("Select your mode") 0040 onCurrentIndexChanged: { 0041 if(currentIndex === 0) { 0042 datasetButtonVisible = false 0043 optionsVisibleButton.clicked() 0044 } 0045 else 0046 datasetButtonVisible = true 0047 } 0048 } 0049 Row { 0050 id: labels 0051 spacing: 20 0052 visible: modeBox.currentIndex == 0 0053 Repeater { 0054 model: 2 0055 Rectangle { 0056 id: label 0057 width: column.width * 0.42 0058 height: 32 * ApplicationInfo.ratio 0059 radius: 10 0060 color: modelData ? "#5cc854" : "#d94444" // green : red 0061 GCText { 0062 anchors.fill: parent 0063 anchors.margins: 10 0064 horizontalAlignment: Text.AlignHCenter 0065 verticalAlignment: Text.AlignVCenter 0066 fontSizeMode: Text.Fit 0067 fontSize: mediumSize 0068 text: modelData ? qsTr("Selected") : qsTr("Not Selected") 0069 } 0070 } 0071 } 0072 } 0073 Column { 0074 visible: modeBox.currentIndex == 0 0075 spacing: 10 * ApplicationInfo.ratio 0076 Repeater { 0077 model: activityConfiguration.numberOfLevel 0078 Admin { 0079 id: levels 0080 level: modelData 0081 width: activityConfiguration.width 0082 height: 50 * ApplicationInfo.ratio 0083 0084 Connections { 0085 target: activityConfiguration 0086 onRefreshAdmin: levels.refreshAllTiles(); 0087 } 0088 } 0089 } 0090 } 0091 0092 } 0093 property var dataToSave 0094 0095 function setDefaultValues() { 0096 0097 if(dataToSave["levelArr"] === undefined) { 0098 dataToSave["levelArr"] = activityConfiguration.adminLevelArr 0099 } 0100 else 0101 activityConfiguration.adminLevelArr = dataToSave["levelArr"] 0102 0103 if(dataToSave["mode"] === undefined) { 0104 dataToSave["mode"] = "builtin"; 0105 modeBox.currentIndex = 1 0106 } 0107 for(var i = 0 ; i < availableModes.length ; i++) { 0108 if(availableModes[i].value === dataToSave["mode"]) { 0109 modeBox.currentIndex = i; 0110 break; 0111 } 0112 } 0113 refreshAdmin() 0114 } 0115 0116 function saveValues() { 0117 var newMode = availableModes[modeBox.currentIndex].value; 0118 var updatedArr = activityConfiguration.adminLevelArr 0119 dataToSave = {"mode": newMode, "levelArr": updatedArr}; 0120 } 0121 }